2018-03-05 11:44:16 +00:00
// Package rcflags implements command line flags to set up the remote control
package rcflags
import (
2019-07-28 17:47:38 +00:00
"github.com/rclone/rclone/cmd/serve/httplib/httpflags"
"github.com/rclone/rclone/fs/config/flags"
"github.com/rclone/rclone/fs/rc"
2018-03-05 11:44:16 +00:00
"github.com/spf13/pflag"
)
// Options set by command line flags
var (
Opt = rc . DefaultOpt
)
// AddFlags adds the remote control flags to the flagSet
func AddFlags ( flagSet * pflag . FlagSet ) {
2018-10-27 22:58:18 +00:00
rc . AddOption ( "rc" , & Opt )
2018-03-05 11:44:16 +00:00
flags . BoolVarP ( flagSet , & Opt . Enabled , "rc" , "" , false , "Enable the remote control server." )
2018-10-28 14:31:24 +00:00
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." )
2018-11-03 16:37:09 +00:00
flags . BoolVarP ( flagSet , & Opt . NoAuth , "rc-no-auth" , "" , false , "Don't require auth for certain methods." )
2019-08-05 19:36:21 +00:00
flags . BoolVarP ( flagSet , & Opt . WebUI , "rc-web-gui" , "" , false , "Launch WebGUI on localhost" )
2020-01-12 09:12:04 +00: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" )
2019-08-05 15:22:40 +00: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." )
2019-08-08 04:56:58 +00:00
flags . StringVarP ( flagSet , & Opt . AccessControlAllowOrigin , "rc-allow-origin" , "" , "" , "Set the allowed origin for CORS." )
2020-02-26 08:34:32 +00:00
flags . BoolVarP ( flagSet , & Opt . EnableMetrics , "rc-enable-metrics" , "" , false , "Enable prometheus metrics on /metrics" )
2019-08-10 16:12:22 +00: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" )
2018-03-05 11:44:16 +00:00
httpflags . AddFlagsPrefix ( flagSet , "rc-" , & Opt . HTTPOptions )
}