Documentation ¶
Overview ¶
Package config reads, writes and edits the config file and deals with command line flags
Index ¶
- Constants
- Variables
- func Authorize(args []string, noAutoBrowser bool)
- func ChangePassword(name string) string
- func Choose(what string, defaults, help []string, newOk bool) string
- func ChooseNumber(what string, min, max int) int
- func ChooseOption(o *fs.Option, name string) string
- func ChooseRemote() string
- func Command(commands []string) byte
- func CommandDefault(commands []string, defaultIndex int) byte
- func Confirm(Default bool) bool
- func ConfirmWithConfig(m configmap.Getter, configName string, Default bool) bool
- func CopyRemote(name string)
- func CreateRemote(name string, provider string, keyValues rc.Params, doObscure, noObscure bool) error
- func DeleteRemote(name string)
- func Dump() error
- func DumpRcBlob() (dump rc.Params)
- func DumpRcRemote(name string) (dump rc.Params)
- func EditConfig()
- func EditRemote(ri *fs.RegInfo, name string)
- func FileDeleteKey(section, key string) bool
- func FileGet(section, key string, defaultVal ...string) string
- func FileGetFlag(section, key string) (string, bool)
- func FileGetFresh(section, key string) (value string, err error)
- func FileRefresh() error
- func FileSections() []string
- func FileSet(section, key, value string)
- func GetPassword(prompt string) string
- func JSONListProviders() error
- func LoadConfig()
- func MustFindByName(name string) *fs.RegInfo
- func NewRemote(name string)
- func NewRemoteName() (name string)
- func OkRemote(name string) bool
- func PasswordRemote(name string, keyValues rc.Params) error
- func ReadNonEmptyLine(prompt string) string
- func ReadPassword() string
- func RemoteConfig(name string)
- func RenameRemote(name string)
- func SaveConfig()
- func SetPassword()
- func SetValueAndSave(name, key, value string) (err error)
- func ShowConfig()
- func ShowConfigLocation()
- func ShowRemote(name string)
- func ShowRemotes()
- func UpdateRemote(name string, keyValues rc.Params, doObscure, noObscure bool) error
Constants ¶
const ( // ConfigToken is the key used to store the token under ConfigToken = "token" // ConfigClientID is the config key used to store the client id ConfigClientID = "client_id" // ConfigClientSecret is the config key used to store the client secret ConfigClientSecret = "client_secret" // ConfigAuthURL is the config key used to store the auth server endpoint ConfigAuthURL = "auth_url" // ConfigTokenURL is the config key used to store the token server endpoint ConfigTokenURL = "token_url" // ConfigEncoding is the config key to change the encoding for a backend ConfigEncoding = "encoding" // ConfigEncodingHelp is the help for ConfigEncoding ConfigEncodingHelp = "This sets the encoding for the backend.\n\nSee: the [encoding section in the overview](/overview/#encoding) for more info." // ConfigAuthorize indicates that we just want "rclone authorize" ConfigAuthorize = "config_authorize" // ConfigAuthNoBrowser indicates that we do not want to open browser ConfigAuthNoBrowser = "config_auth_no_browser" )
Variables ¶
var ( // ConfigPath points to the config file ConfigPath = makeConfigPath() // CacheDir points to the cache directory. Users of this // should make a subdirectory and use MkdirAll() to create it // and any parents. CacheDir = makeCacheDir() // output of prompt for password PasswordPromptOutput = os.Stderr // If set to true, the configKey is obscured with obscure.Obscure and saved to a temp file when it is // calculated from the password. The path of that temp file is then written to the environment variable // `_RCLONE_CONFIG_KEY_FILE`. If `_RCLONE_CONFIG_KEY_FILE` is present, password prompt is skipped and `RCLONE_CONFIG_PASS` ignored. // For security reasons, the temp file is deleted once the configKey is successfully loaded. // This can be used to pass the configKey to a child process. PassConfigKeyForDaemonization = false // Password can be used to configure the random password generator Password = random.Password )
Global
var ReadLine = func() string { buf := bufio.NewReader(os.Stdin) line, err := buf.ReadString('\n') if err != nil { log.Fatalf("Failed to read line: %v", err) } return strings.TrimSpace(line) }
ReadLine reads some input
Functions ¶
func Authorize ¶
Authorize is for remote authorization of headless machines.
It expects 1 or 3 arguments
rclone authorize "fs name" rclone authorize "fs name" "client id" "client secret"
func ChangePassword ¶
ChangePassword will query the user twice for the named password. If the same password is entered it is returned.
func ChooseNumber ¶
ChooseNumber asks the user to enter a number between min and max inclusive prompting them with what.
func ChooseOption ¶
ChooseOption asks the user to choose an option
func CommandDefault ¶
CommandDefault - choose one. If return is pressed then it will chose the defaultIndex if it is >= 0
func Confirm ¶
Confirm asks the user for Yes or No and returns true or false
If the user presses enter then the Default will be used
func ConfirmWithConfig ¶
ConfirmWithConfig asks the user for Yes or No and returns true or false.
If AutoConfirm is set, it will look up the value in m and return that, but if it isn't set then it will return the Default value passed in
func CreateRemote ¶
func CreateRemote(name string, provider string, keyValues rc.Params, doObscure, noObscure bool) error
CreateRemote creates a new remote with name, provider and a list of parameters which are key, value pairs. If update is set then it adds the new keys rather than replacing all of them.
func DumpRcBlob ¶
DumpRcBlob dumps all the config as an unstructured blob suitable for the rc
func DumpRcRemote ¶
DumpRcRemote dumps the config for a single remote
func EditRemote ¶
EditRemote gets the user to edit a remote
func FileDeleteKey ¶
FileDeleteKey deletes the config key in the config file. It returns true if the key was deleted, or returns false if the section or key didn't exist.
func FileGet ¶
FileGet gets the config key under section returning the default or empty string if not set.
It looks up defaults in the environment if they are present
func FileGetFlag ¶
FileGetFlag gets the config key under section returning the the value and true if found and or ("", false) otherwise
func FileGetFresh ¶
FileGetFresh reads the config key under section return the value or an error if the config file was not found or that value couldn't be read.
func FileRefresh ¶
func FileRefresh() error
FileRefresh ensures the latest configFile is loaded from disk
func FileSections ¶
func FileSections() []string
FileSections returns the sections in the config file including any defined by environment variables.
func FileSet ¶
func FileSet(section, key, value string)
FileSet sets the key in section to value. It doesn't save the config file.
func GetPassword ¶
GetPassword asks the user for a password with the prompt given.
func JSONListProviders ¶
func JSONListProviders() error
JSONListProviders prints all the providers and options in JSON format
func MustFindByName ¶
MustFindByName finds the RegInfo for the remote name passed in or exits with a fatal error.
func NewRemoteName ¶
func NewRemoteName() (name string)
NewRemoteName asks the user for a name for a new remote
func PasswordRemote ¶
PasswordRemote adds the keyValues passed in to the remote of name. keyValues should be key, value pairs.
func ReadNonEmptyLine ¶
ReadNonEmptyLine prints prompt and calls Readline until non empty
func ReadPassword ¶
func ReadPassword() string
ReadPassword reads a password without echoing it to the terminal.
func RemoteConfig ¶
func RemoteConfig(name string)
RemoteConfig runs the config helper for the remote if needed
func SaveConfig ¶
func SaveConfig()
SaveConfig calling function which saves configuration file. if saveConfig returns error trying again after sleep.
func SetPassword ¶
func SetPassword()
SetPassword will allow the user to modify the current configuration encryption settings.
func SetValueAndSave ¶
SetValueAndSave sets the key to the value and saves just that value in the config file. It loads the old config file in from disk first and overwrites the given value only.
func ShowConfigLocation ¶
func ShowConfigLocation()
ShowConfigLocation prints the location of the config file in use
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
Package configflags defines the flags used by rclone.
|
Package configflags defines the flags used by rclone. |
Package configmap provides an abstraction for reading and writing config
|
Package configmap provides an abstraction for reading and writing config |
Package configstruct parses unstructured maps into structures
|
Package configstruct parses unstructured maps into structures |
Package flags contains enhanced versions of spf13/pflag flag routines which will read from the environment also.
|
Package flags contains enhanced versions of spf13/pflag flag routines which will read from the environment also. |
Package obscure contains the Obscure and Reveal commands
|
Package obscure contains the Obscure and Reveal commands |