mirror of
https://github.com/rclone/rclone.git
synced 2025-06-21 04:08:02 +02:00
serve: make the servers self registering
This is so that they can import cmd/serve without causing an import loop. The active servers can now be configured by commenting lines out in cmd/all/all.go like all the other commands.
This commit is contained in:
parent
084e35c49d
commit
df457f5802
@ -52,6 +52,15 @@ import (
|
|||||||
_ "github.com/rclone/rclone/cmd/rmdirs"
|
_ "github.com/rclone/rclone/cmd/rmdirs"
|
||||||
_ "github.com/rclone/rclone/cmd/selfupdate"
|
_ "github.com/rclone/rclone/cmd/selfupdate"
|
||||||
_ "github.com/rclone/rclone/cmd/serve"
|
_ "github.com/rclone/rclone/cmd/serve"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/dlna"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/docker"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/ftp"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/http"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/nfs"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/restic"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/s3"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/sftp"
|
||||||
|
_ "github.com/rclone/rclone/cmd/serve/webdav"
|
||||||
_ "github.com/rclone/rclone/cmd/settier"
|
_ "github.com/rclone/rclone/cmd/settier"
|
||||||
_ "github.com/rclone/rclone/cmd/sha1sum"
|
_ "github.com/rclone/rclone/cmd/sha1sum"
|
||||||
_ "github.com/rclone/rclone/cmd/size"
|
_ "github.com/rclone/rclone/cmd/size"
|
||||||
|
@ -19,6 +19,7 @@ import (
|
|||||||
"github.com/anacrolix/dms/upnp"
|
"github.com/anacrolix/dms/upnp"
|
||||||
"github.com/anacrolix/log"
|
"github.com/anacrolix/log"
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/dlna/data"
|
"github.com/rclone/rclone/cmd/serve/dlna/data"
|
||||||
"github.com/rclone/rclone/cmd/serve/dlna/dlnaflags"
|
"github.com/rclone/rclone/cmd/serve/dlna/dlnaflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
@ -32,6 +33,7 @@ import (
|
|||||||
func init() {
|
func init() {
|
||||||
dlnaflags.AddFlags(Command.Flags())
|
dlnaflags.AddFlags(Command.Flags())
|
||||||
vfsflags.AddFlags(Command.Flags())
|
vfsflags.AddFlags(Command.Flags())
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra.
|
// Command definition for cobra.
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
"github.com/rclone/rclone/cmd/mountlib"
|
"github.com/rclone/rclone/cmd/mountlib"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/fs/config/flags"
|
"github.com/rclone/rclone/fs/config/flags"
|
||||||
"github.com/rclone/rclone/vfs"
|
"github.com/rclone/rclone/vfs"
|
||||||
"github.com/rclone/rclone/vfs/vfsflags"
|
"github.com/rclone/rclone/vfs/vfsflags"
|
||||||
@ -50,6 +51,8 @@ func init() {
|
|||||||
// Add common mount/vfs flags
|
// Add common mount/vfs flags
|
||||||
mountlib.AddFlags(cmdFlags)
|
mountlib.AddFlags(cmdFlags)
|
||||||
vfsflags.AddFlags(cmdFlags)
|
vfsflags.AddFlags(cmdFlags)
|
||||||
|
// Register with parent command
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
@ -18,6 +18,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy"
|
"github.com/rclone/rclone/cmd/serve/proxy"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
@ -88,6 +89,7 @@ func init() {
|
|||||||
vfsflags.AddFlags(Command.Flags())
|
vfsflags.AddFlags(Command.Flags())
|
||||||
proxyflags.AddFlags(Command.Flags())
|
proxyflags.AddFlags(Command.Flags())
|
||||||
AddFlags(Command.Flags())
|
AddFlags(Command.Flags())
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
@ -15,6 +15,7 @@ import (
|
|||||||
|
|
||||||
"github.com/go-chi/chi/v5/middleware"
|
"github.com/go-chi/chi/v5/middleware"
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
cmdserve "github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy"
|
"github.com/rclone/rclone/cmd/serve/proxy"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
@ -56,6 +57,7 @@ func init() {
|
|||||||
libhttp.AddTemplateFlagsPrefix(flagSet, flagPrefix, &Opt.Template)
|
libhttp.AddTemplateFlagsPrefix(flagSet, flagPrefix, &Opt.Template)
|
||||||
vfsflags.AddFlags(flagSet)
|
vfsflags.AddFlags(flagSet)
|
||||||
proxyflags.AddFlags(flagSet)
|
proxyflags.AddFlags(flagSet)
|
||||||
|
cmdserve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
@ -14,6 +14,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
"github.com/rclone/rclone/fs/config/flags"
|
"github.com/rclone/rclone/fs/config/flags"
|
||||||
"github.com/rclone/rclone/vfs"
|
"github.com/rclone/rclone/vfs"
|
||||||
@ -83,6 +84,7 @@ func AddFlags(flagSet *pflag.FlagSet) {
|
|||||||
func init() {
|
func init() {
|
||||||
vfsflags.AddFlags(Command.Flags())
|
vfsflags.AddFlags(Command.Flags())
|
||||||
AddFlags(Command.Flags())
|
AddFlags(Command.Flags())
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run the command
|
// Run the command
|
||||||
|
@ -16,6 +16,7 @@ import (
|
|||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/go-chi/chi/v5/middleware"
|
"github.com/go-chi/chi/v5/middleware"
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
cmdserve "github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
"github.com/rclone/rclone/fs/accounting"
|
"github.com/rclone/rclone/fs/accounting"
|
||||||
"github.com/rclone/rclone/fs/config/flags"
|
"github.com/rclone/rclone/fs/config/flags"
|
||||||
@ -60,6 +61,7 @@ func init() {
|
|||||||
flags.BoolVarP(flagSet, &Opt.AppendOnly, "append-only", "", false, "Disallow deletion of repository data", "")
|
flags.BoolVarP(flagSet, &Opt.AppendOnly, "append-only", "", false, "Disallow deletion of repository data", "")
|
||||||
flags.BoolVarP(flagSet, &Opt.PrivateRepos, "private-repos", "", false, "Users can only access their private repo", "")
|
flags.BoolVarP(flagSet, &Opt.PrivateRepos, "private-repos", "", false, "Users can only access their private repo", "")
|
||||||
flags.BoolVarP(flagSet, &Opt.CacheObjects, "cache-objects", "", true, "Cache listed objects", "")
|
flags.BoolVarP(flagSet, &Opt.CacheObjects, "cache-objects", "", true, "Cache listed objects", "")
|
||||||
|
cmdserve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
@ -6,6 +6,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
"github.com/rclone/rclone/fs/config/flags"
|
"github.com/rclone/rclone/fs/config/flags"
|
||||||
@ -41,6 +42,7 @@ func init() {
|
|||||||
flags.StringVarP(flagSet, &Opt.hashName, "etag-hash", "", Opt.hashName, "Which hash to use for the ETag, or auto or blank for off", "")
|
flags.StringVarP(flagSet, &Opt.hashName, "etag-hash", "", Opt.hashName, "Which hash to use for the ETag, or auto or blank for off", "")
|
||||||
flags.StringArrayVarP(flagSet, &Opt.authPair, "auth-key", "", Opt.authPair, "Set key pair for v4 authorization: access_key_id,secret_access_key", "")
|
flags.StringArrayVarP(flagSet, &Opt.authPair, "auth-key", "", Opt.authPair, "Set key pair for v4 authorization: access_key_id,secret_access_key", "")
|
||||||
flags.BoolVarP(flagSet, &Opt.noCleanup, "no-cleanup", "", Opt.noCleanup, "Not to cleanup empty folder after object is deleted", "")
|
flags.BoolVarP(flagSet, &Opt.noCleanup, "no-cleanup", "", Opt.noCleanup, "Not to cleanup empty folder after object is deleted", "")
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed serve_s3.md
|
//go:embed serve_s3.md
|
||||||
|
@ -5,44 +5,10 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
"github.com/rclone/rclone/cmd/serve/dlna"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/docker"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/ftp"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/http"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/nfs"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/restic"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/s3"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/sftp"
|
|
||||||
"github.com/rclone/rclone/cmd/serve/webdav"
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Command.AddCommand(http.Command)
|
|
||||||
if webdav.Command != nil {
|
|
||||||
Command.AddCommand(webdav.Command)
|
|
||||||
}
|
|
||||||
if restic.Command != nil {
|
|
||||||
Command.AddCommand(restic.Command)
|
|
||||||
}
|
|
||||||
if dlna.Command != nil {
|
|
||||||
Command.AddCommand(dlna.Command)
|
|
||||||
}
|
|
||||||
if ftp.Command != nil {
|
|
||||||
Command.AddCommand(ftp.Command)
|
|
||||||
}
|
|
||||||
if sftp.Command != nil {
|
|
||||||
Command.AddCommand(sftp.Command)
|
|
||||||
}
|
|
||||||
if docker.Command != nil {
|
|
||||||
Command.AddCommand(docker.Command)
|
|
||||||
}
|
|
||||||
if nfs.Command != nil {
|
|
||||||
Command.AddCommand(nfs.Command)
|
|
||||||
}
|
|
||||||
if s3.Command != nil {
|
|
||||||
Command.AddCommand(s3.Command)
|
|
||||||
}
|
|
||||||
cmd.Root.AddCommand(Command)
|
cmd.Root.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
"github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy"
|
"github.com/rclone/rclone/cmd/serve/proxy"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
@ -76,6 +77,7 @@ func init() {
|
|||||||
vfsflags.AddFlags(Command.Flags())
|
vfsflags.AddFlags(Command.Flags())
|
||||||
proxyflags.AddFlags(Command.Flags())
|
proxyflags.AddFlags(Command.Flags())
|
||||||
AddFlags(Command.Flags(), &Opt)
|
AddFlags(Command.Flags(), &Opt)
|
||||||
|
serve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
@ -17,6 +17,7 @@ import (
|
|||||||
chi "github.com/go-chi/chi/v5"
|
chi "github.com/go-chi/chi/v5"
|
||||||
"github.com/go-chi/chi/v5/middleware"
|
"github.com/go-chi/chi/v5/middleware"
|
||||||
"github.com/rclone/rclone/cmd"
|
"github.com/rclone/rclone/cmd"
|
||||||
|
cmdserve "github.com/rclone/rclone/cmd/serve"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy"
|
"github.com/rclone/rclone/cmd/serve/proxy"
|
||||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
@ -67,6 +68,7 @@ func init() {
|
|||||||
proxyflags.AddFlags(flagSet)
|
proxyflags.AddFlags(flagSet)
|
||||||
flags.StringVarP(flagSet, &Opt.HashName, "etag-hash", "", "", "Which hash to use for the ETag, or auto or blank for off", "")
|
flags.StringVarP(flagSet, &Opt.HashName, "etag-hash", "", "", "Which hash to use for the ETag, or auto or blank for off", "")
|
||||||
flags.BoolVarP(flagSet, &Opt.DisableGETDir, "disable-dir-list", "", false, "Disable HTML directory list on GET request for a directory", "")
|
flags.BoolVarP(flagSet, &Opt.DisableGETDir, "disable-dir-list", "", false, "Disable HTML directory list on GET request for a directory", "")
|
||||||
|
cmdserve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Command definition for cobra
|
// Command definition for cobra
|
||||||
|
Loading…
x
Reference in New Issue
Block a user