github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/fs/rc/rcflags/rcflags.go (about)

     1  // Package rcflags implements command line flags to set up the remote control
     2  package rcflags
     3  
     4  import (
     5  	"github.com/rclone/rclone/cmd/serve/httplib/httpflags"
     6  	"github.com/rclone/rclone/fs/config/flags"
     7  	"github.com/rclone/rclone/fs/rc"
     8  	"github.com/spf13/pflag"
     9  )
    10  
    11  // Options set by command line flags
    12  var (
    13  	Opt = rc.DefaultOpt
    14  )
    15  
    16  // AddFlags adds the remote control flags to the flagSet
    17  func AddFlags(flagSet *pflag.FlagSet) {
    18  	rc.AddOption("rc", &Opt)
    19  	flags.BoolVarP(flagSet, &Opt.Enabled, "rc", "", false, "Enable the remote control server.")
    20  	flags.StringVarP(flagSet, &Opt.Files, "rc-files", "", "", "Path to local files to serve on the HTTP server.")
    21  	flags.BoolVarP(flagSet, &Opt.Serve, "rc-serve", "", false, "Enable the serving of remote objects.")
    22  	flags.BoolVarP(flagSet, &Opt.NoAuth, "rc-no-auth", "", false, "Don't require auth for certain methods.")
    23  	flags.BoolVarP(flagSet, &Opt.WebUI, "rc-web-gui", "", false, "Launch WebGUI on localhost")
    24  	flags.BoolVarP(flagSet, &Opt.WebGUIUpdate, "rc-web-gui-update", "", false, "Check and update to latest version of web gui")
    25  	flags.BoolVarP(flagSet, &Opt.WebGUIForceUpdate, "rc-web-gui-force-update", "", false, "Force update to latest version of web gui")
    26  	flags.BoolVarP(flagSet, &Opt.WebGUINoOpenBrowser, "rc-web-gui-no-open-browser", "", false, "Don't open the browser automatically")
    27  	flags.StringVarP(flagSet, &Opt.WebGUIFetchURL, "rc-web-fetch-url", "", "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest", "URL to fetch the releases for webgui.")
    28  	flags.StringVarP(flagSet, &Opt.AccessControlAllowOrigin, "rc-allow-origin", "", "", "Set the allowed origin for CORS.")
    29  	flags.BoolVarP(flagSet, &Opt.EnableMetrics, "rc-enable-metrics", "", false, "Enable prometheus metrics on /metrics")
    30  	flags.DurationVarP(flagSet, &Opt.JobExpireDuration, "rc-job-expire-duration", "", Opt.JobExpireDuration, "expire finished async jobs older than this value")
    31  	flags.DurationVarP(flagSet, &Opt.JobExpireInterval, "rc-job-expire-interval", "", Opt.JobExpireInterval, "interval to check for expired async jobs")
    32  	httpflags.AddFlagsPrefix(flagSet, "rc-", &Opt.HTTPOptions)
    33  }