Files
goget/internal/cli/help.txt
T

163 lines
7.3 KiB
Plaintext

NAME
goget - Modern IPv6-First Downloader
SYNOPSIS
goget --url <URL> [OPTIONS]
DESCRIPTION
curl/wget replacement in Go. IPv6-first, parallel downloads, resume,
checksum verification, recursive mirroring, and 8 protocols.
TARGET
--url <URL> URL to download (repeatable)
OUTPUT
--output <FILE> Output file (default: auto from URL)
--restart Delete existing file and restart download
--overwrite Overwrite existing file (no atomic rename)
--content-disposition Use server-provided filename
--keep-timestamps Set file modification time from Last-Modified
PROGRESS
--verbose Verbose output with progress bar (default)
--no-progress Hide progress bar
--progress=dot Wget-style dot progress
--quiet Suppress all output except errors
--json Output progress as JSON-lines (for scripting)
--debug Debug mode with detailed info
NETWORK
--timeout <DURATION> Connection timeout (0 = auto)
--max-time <DURATION> Maximum total transfer time
--max-retries <N> Maximum retry attempts on failure
--max-filesize <SIZE> Abort if file exceeds size (e.g., 100MB)
--proxy <URL> Proxy server URL
--no-ipv4 Disable IPv4 fallback
--no-redirect Disable following HTTP redirects
--dns-servers <IPs> Custom DNS servers (comma-separated)
--bind-interface <IFACE> Bind to specific network interface
--allow-private Allow connections to private/internal IPs
--pinned-cert <SHA256> Certificate pinning (TLS: HTTPS, FTPS, Gemini, WebDAVS)
--pinned-host-key <FP> SSH host-key pinning (SFTP): SHA256:<base64> or hex
CURL-COMPATIBLE
--header "K: V" Custom HTTP header (repeatable)
--insecure Skip TLS certificate verification
--cert <FILE> Client certificate (PEM)
--key <FILE> Client private key (PEM)
--data "key=value" Send POST data
--form "field=value" Multipart form data (repeatable)
--form "field=@file" Upload file via multipart form
--spider Check URL existence only (HEAD request)
--write-out FORMAT Print metadata (curl format)
--trace-time Print HTTP timing breakdown
WGET-COMPATIBLE
--accept "*.pdf" Accept patterns (filename glob or MIME)
--no-parent Do not ascend to parent directory
--adjust-extension Append .html extension to HTML files
--wait <DURATION> Delay between requests (recursive)
--random-wait Randomize wait time (0.5x - 1.5x)
--page-requisites Download CSS/JS/images for pages
--span-hosts Follow links to external domains
--convert-links Convert links for local viewing
--warc-file <FILE> Write WARC output for archiving
--progress=dot Wget-style dot progress
RECURSIVE / MIRROR
--recursive Enable recursive downloading
--mirror Mirror entire website (infinite depth)
--max-depth <N> Maximum recursion depth
--follow-external Follow external domains
--exclude-pattern <P> Exclude URL patterns (comma-separated)
--no-convert-links Don't convert links in mirror mode
--no-mirror-assets Don't download CSS/JS/images in mirror
--no-robots Don't respect robots.txt in mirror
--rate-limit <RATE> Rate limit (e.g., 1MB/s)
DOWNLOAD MANAGEMENT
--queue Add to download queue
--queue-list List queue items
--queue-process Process download queue
--queue-clear Clear completed items from queue
--queue-file <PATH> Custom queue file path
--queue-priority <N> Priority (1-10)
--batch-file <FILE> Download URLs from file (one per line)
--schedule <TIME> Schedule download (datetime or cron)
--on-complete <CMD> Run command after successful download
AUTHENTICATION
--username <USER> Username for HTTP Basic/Digest Auth
--password <PASS> Password (prefer --password-file for security)
--password-file <FILE> Read password from file
--auth-type <TYPE> Auth type: basic, digest, auto
--cookie-jar <FILE> Load/save cookies (Netscape format)
--oauth-client-id <ID> OAuth 2.0 Client ID
--oauth-client-secret <S>OAuth 2.0 Client Secret
--oauth-token-url <URL> OAuth 2.0 Token URL
--oauth-access-token <T> OAuth 2.0 Access Token
--oauth-refresh-token <T>OAuth 2.0 Refresh Token
UPLOAD
--upload Upload file instead of downloading
--upload-method <M> PUT or POST (default: PUT)
--upload-file <FILE> File to upload
--form-data "k=v" Form data (comma-separated)
--file-field <NAME> Form field name (default: file)
VERIFICATION
--checksum <HASH> Expected checksum
--checksum-algo <ALG> Algorithm: sha256, sha512, blake2b, sha3-256, sha3-512
--checksum-file <FILE> Read checksum from SHA256SUMS file
PGP / GPG
--pgp-decrypt Decrypt PGP file after download
--pgp-verify Verify PGP signature
--pgp-sig <FILE> Path to signature file (.asc, .sig)
--pgp-key <FILE> Path to key file
--pgp-passphrase <PASS> Passphrase for private key
--pgp-passphrase-file F Read passphrase from file
METALINK
--metalink Treat URL as Metalink (multi-source)
--metalink-file <PATH> Path to local Metalink file
CONFIGURATION
--init-config Generate default config file
--config-get <KEY> Get config value
--config-set <K> <V> Set config value
--config-list List all config values
--config-unset <KEY> Unset config value
INFORMATION
--info <URL> Show file info without downloading
--benchmark <URL> Benchmark download speed
--generate-man-page Generate man page and exit
--completion <SHELL> Generate shell completion (bash, zsh, fish)
--help Show this help
--version Show version
PROTOCOLS
http:// https:// HTTP/1.1, HTTP/2, TLS 1.2/1.3
ftp:// ftps:// FTP (active/passive, explicit TLS)
file:// Local file copy + recursive directories
data: Inline data (base64 + plain text)
gopher:// RFC 1436 with type parsing
gemini:// Gemini protocol (TLS, redirect)
EXAMPLES
goget --url https://example.com/file.zip
goget --url https://a.com/1.zip --url https://b.com/2.zip
goget -H "Authorization: Bearer TOKEN" --url https://api.example.com
goget --form "name=value" --form "file=@./data.csv" --url https://httpbin.org/post
goget --recursive --accept "*.pdf" --url https://example.com/docs/
goget --mirror --convert-links --url https://example.com --output ./mirror
goget --schedule "0 2 * * *" --url https://example.com/daily.zip
goget --json --no-progress --url https://example.com/file.zip
FILES
~/.config/goget/config.json Configuration
<file>.goget.meta Resume metadata
More: https://codeberg.org/petrbalvin/goget