2018-03-05 19:44:16 +08:00
// Package rcflags implements command line flags to set up the remote control
package rcflags
import (
2019-07-29 01:47:38 +08:00
"github.com/rclone/rclone/fs/config/flags"
"github.com/rclone/rclone/fs/rc"
2018-03-05 19:44:16 +08:00
"github.com/spf13/pflag"
)
// Options set by command line flags
var (
Opt = rc . DefaultOpt
)
// AddFlags adds the remote control flags to the flagSet
2023-01-11 13:05:44 +08:00
func AddFlags ( flagSet * pflag . FlagSet , commonFlagPrefix string ) {
2018-10-28 06:58:18 +08:00
rc . AddOption ( "rc" , & Opt )
2021-08-16 17:30:01 +08:00
flags . BoolVarP ( flagSet , & Opt . Enabled , "rc" , "" , false , "Enable the remote control server" )
flags . StringVarP ( flagSet , & Opt . Files , "rc-files" , "" , "" , "Path to local files to serve on the HTTP server" )
flags . BoolVarP ( flagSet , & Opt . Serve , "rc-serve" , "" , false , "Enable the serving of remote objects" )
flags . BoolVarP ( flagSet , & Opt . NoAuth , "rc-no-auth" , "" , false , "Don't require auth for certain methods" )
2019-08-06 03:36:21 +08:00
flags . BoolVarP ( flagSet , & Opt . WebUI , "rc-web-gui" , "" , false , "Launch WebGUI on localhost" )
2020-01-12 17:12:04 +08:00
flags . BoolVarP ( flagSet , & Opt . WebGUIUpdate , "rc-web-gui-update" , "" , false , "Check and update to latest version of web gui" )
flags . BoolVarP ( flagSet , & Opt . WebGUIForceUpdate , "rc-web-gui-force-update" , "" , false , "Force update to latest version of web gui" )
flags . BoolVarP ( flagSet , & Opt . WebGUINoOpenBrowser , "rc-web-gui-no-open-browser" , "" , false , "Don't open the browser automatically" )
2021-08-16 17:30:01 +08:00
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" )
flags . StringVarP ( flagSet , & Opt . AccessControlAllowOrigin , "rc-allow-origin" , "" , "" , "Set the allowed origin for CORS" )
2020-02-26 16:34:32 +08:00
flags . BoolVarP ( flagSet , & Opt . EnableMetrics , "rc-enable-metrics" , "" , false , "Enable prometheus metrics on /metrics" )
2021-12-30 20:27:03 +08:00
flags . DurationVarP ( flagSet , & Opt . JobExpireDuration , "rc-job-expire-duration" , "" , Opt . JobExpireDuration , "Expire finished async jobs older than this value" )
flags . DurationVarP ( flagSet , & Opt . JobExpireInterval , "rc-job-expire-interval" , "" , Opt . JobExpireInterval , "Interval to check for expired async jobs" )
2023-01-11 13:05:44 +08:00
Opt . HTTP . AddFlagsPrefix ( flagSet , commonFlagPrefix )
Opt . Auth . AddFlagsPrefix ( flagSet , commonFlagPrefix )
Opt . Template . AddFlagsPrefix ( flagSet , commonFlagPrefix )
2018-03-05 19:44:16 +08:00
}