Files
iris-context/commands/fs/rclone.go
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

107 lines
7.4 KiB
Go

package fs
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "rclone",
Description: "Only list directories",
Subcommands: []spec.Subcommand{
{Name: "about", Description: "Get quota information from the remote"},
{Name: "authorize", Description: "Remote authorization"},
{Name: "backend", Description: "Run a backend specific command"},
{Name: "cat", Description: "Concatenates any files and sends them to stdout"},
{Name: "check", Description: "Checks the files in the source and destination match"},
{Name: "cleanup", Description: "Clean up the remote if possible"},
{Name: "config", Description: "Enter an interactive configuration session"},
{Name: "create", Description: "Create a new remote with name, type and options"},
{Name: "copy", Description: "Copy files from source to dest, skipping already copied"},
{Name: "copyto", Description: "Copy files from source to dest, skipping already copied"},
{Name: "copyurl", Description: "Copy url content to dest"},
{Name: "cryptcheck", Description: "Cryptcheck checks the integrity of a crypted remote"},
{Name: "cryptdecode", Description: "Cryptdecode returns unencrypted file names"},
{Name: "dedupe", Description: "Interactively find duplicate filenames and delete/rename them"},
{Name: "interactive", Description: "Interactive"},
{Name: "skip", Description: "Removes identical files then skips anything left"},
{Name: "rename", Description: "Removes identical files then renames the rest to be different"},
{Name: "list", Description: "Lists duplicate dirs and files only and changes nothing"},
{Name: "delete", Description: "Remove the files in path"},
{Name: "genautocomplete", Description: "Output completion script for a given shell"},
{Name: "gendocs", Description: "Output markdown docs for rclone to the directory supplied"},
{Name: "hashsum", Description: "Produces a hashsum file for all the objects in the path"},
{Name: "help", Description: "Show help for rclone commands, flags and backends"},
{Name: "flags", Description: "List of global flags"},
{Name: "link", Description: "Generate public link to file/folder"},
{Name: "listremotes", Description: "List all the remotes in the config file"},
{Name: "ls", Description: "List the objects in the path with size and path"},
{Name: "lsd", Description: "List all directories/containers/buckets in the path"},
{Name: "lsf", Description: "List directories and objects in remote:path formatted for parsing"},
{Name: "lsjson", Description: "List directories and objects in the path in JSON format"},
{Name: "lsl", Description: "List the objects in path with modification time, size and path"},
{Name: "md5sum", Description: "Produces an md5sum file for all the objects in the path"},
{Name: "mkdir", Description: "Make the path if it doesn't already exist"},
{Name: "mount", Description: "Mount the remote as file system on a mountpoint"},
{Name: "move", Description: "Move files from source to dest"},
{Name: "moveto", Description: "Move file or directory from source to dest"},
{Name: "ncdu", Description: "Explore a remote with a text based user interface"},
{Name: "obscure", Description: "Obscure password for use in the rclone config file"},
{Name: "purge", Description: "Remove the path and all of its contents"},
{Name: "rc", Description: "Run a command against a running rclone"},
{Name: "rcat", Description: "Copies standard input to file on remote"},
{Name: "rcd", Description: "Run rclone listening to remote control commands only"},
{Name: "rmdir", Description: "Remove the empty directory at path"},
{Name: "rmdirs", Description: "Remove empty directories under the path"},
{Name: "selfupdate", Description: "Update the rclone binary"},
{Name: "serve", Description: "Serve a remote over a protocol"},
{Name: "settier", Description: "Changes storage class/tier of objects in remote"},
{Name: "sha1sum", Description: "Produces an sha1sum file for all the objects in the path"},
{Name: "size", Description: "Prints the total size and number of objects in remote:path"},
{Name: "sync", Description: "Make source and dest identical, modifying destination only"},
},
Options: []spec.Option{
{Name: "--dirs-only", Description: "Only list directories"},
{Name: "--files-only", Description: "Only list files"},
{Name: "--recursive", Description: "Recurse into the listing"},
{Name: "--combined", Description: "Make a combined report of changes to this file"},
{Name: "--differ", Description: "Report all non-matching files to this file"},
{Name: "--error", Description: "Report all files with errors (hashing or reading) to this file"},
{Name: "--match", Description: "Report all matching files to this file"},
{Name: "--missing-on-dst", Description: "Report all files missing from the destination to this file"},
{Name: "--missing-on-src", Description: "Report all files missing from the source to this file"},
{Name: "--one-way", Description: "Check one way only, source files must exist on remote"},
{Name: "--full", Description: "Full numbers instead of SI units"},
{Name: "--json", Description: "Format output as JSON"},
{Name: "--auth-no-open-browser", Description: "Do not automatically open auth link in default browser"},
{Name: "--discard", Description: "Discard the output instead of printing"},
{Name: "--count", Description: "Only print N characters. (default -1)"},
{Name: "--head", Description: "Only print the first N characters"},
{Name: "--offset", Description: "Start printing at offset N (or from end if -ve)"},
{Name: "--tail", Description: "Only print the last N characters"},
{Name: "--download", Description: "Check by downloading rather than with hash"},
{Name: "--reverse", Description: "Reverse cryptdecode, encrypts filenames"},
{Name: "--by-hash", Description: "Find identical hashes rather than names"},
{Name: "--dedupe-mode", Description: "Dedupe mode"},
{Name: "--rmdirs", Description: "Rmdirs removes empty directories but leaves root intact"},
{Name: "--base64", Description: "Output base64 encoded hashsum"},
{Name: "--expire", Description: "The amount of time that the link will be valid (default 100y)"},
{Name: "--unlink", Description: "Remove existing public link to file/folder"},
{Name: "--long", Description: "Show the type as well as names"},
{Name: "-R", Description: "List directories and objects in remote:path formatted for parsing"},
{Name: "--absolute", Description: "Put a leading / in front of path names"},
{Name: "--csv", Description: "Output in CSV format"},
{Name: "-d", Description: "Append a slash to directory names. (default true)"},
{Name: "--format", Description: "List directories and objects in the path in JSON format"},
{Name: "--encrypted", Description: "Show the encrypted names"},
{Name: "--hash", Description: "Include hashes in the output (may take longer)"},
{Name: "--hash-type", Description: "Show only this hash type (may be repeated)"},
{Name: "--no-mimetype", Description: "Don't read the mime type (can speed things up)"},
{Name: "--no-modtime", Description: "Don't read the modification time (can speed things up)"},
{Name: "--original", Description: "Show the ID of the underlying Object"},
{Name: "--version", Description: "View your current rclone version"},
{Name: "--help", Description: "Show help for rclone commands, flags and backends"},
},
})
}