all: cut bloated HTTP-client and tuning options
This is a personal torrent client, not a web client or daemon, so the rarely-used HTTP-client knobs and redundant tuning flags are gone — flag, config field, implementation, and tests removed for each. The option surface drops from 54 to 28. Web-client cluster removed: --all-proxy (HTTP_PROXY env still works), load/save-cookies, --referer, -U/--user-agent, --http-user/--http-passwd, --conditional-get, --remote-time, --check-certificate, --ca-certificate, --lowest-speed-limit. Pass --header for a one-off auth/cookie/UA header. Redundant knobs removed: -x and -k (folded into -s), --connect-timeout, --retry-wait, per-item --max-download-limit/-u, --bt-max-peers, --bt-stop-timeout, --disable-ipv6, --auto-save-interval, --human-readable, --stop, -T (a positional .torrent works). follow-torrent and human-readable are now unconditional defaults.
This commit is contained in:
16
README.md
16
README.md
@@ -2,7 +2,9 @@
|
||||
|
||||
A command-line download tool in Go. It fetches HTTP(S) files over multiple
|
||||
connections and downloads BitTorrent magnets and `.torrent` files — one binary,
|
||||
familiar flags.
|
||||
a small set of flags. It is a downloader, not a web client: there are no
|
||||
cookie/proxy/auth flags — pass `--header` for a one-off header (auth token,
|
||||
cookie, user-agent) when a download needs one.
|
||||
|
||||
## Build
|
||||
|
||||
@@ -22,10 +24,9 @@ got -s16 https://example.com/big.iso
|
||||
# resume an interrupted download
|
||||
got -c https://example.com/big.iso
|
||||
|
||||
# one file from several mirrors (connections spread across servers,
|
||||
# one file from several mirrors (segments spread across the servers,
|
||||
# a dead mirror falls over); -Z downloads them as separate files instead.
|
||||
# -x caps connections per server when mirroring.
|
||||
got -s16 -x4 https://a.example/big.iso https://b.example/big.iso
|
||||
got -s16 https://a.example/big.iso https://b.example/big.iso
|
||||
|
||||
# a torrent or magnet; seed for 30 minutes after finishing
|
||||
got --seed-time=30 ubuntu.torrent
|
||||
@@ -45,7 +46,6 @@ Run `got --help` (or `--help=all`) for every option.
|
||||
| `-o, --out` | output filename | from URL |
|
||||
| `-c, --continue` | resume a partial download | false |
|
||||
| `-s, --split` | connections per download (the speed dial) | 5 |
|
||||
| `-x, --max-connection-per-server` | cap connections per server (1–16) | 1 (= split when unset) |
|
||||
| `-j, --max-concurrent-downloads` | files downloaded at once | 5 |
|
||||
| `--max-overall-download-limit` | global speed cap | 0 (off) |
|
||||
| `--checksum` | verify the finished file: `TYPE=DIGEST` (sha-256, sha-1, …) | |
|
||||
@@ -69,6 +69,6 @@ got -c --save-session=got.session -i got.session <urls/magnets...>
|
||||
- BitTorrent uses [`anacrolix/torrent`](https://github.com/anacrolix/torrent);
|
||||
HTTP uses the standard library.
|
||||
- Not implemented: FTP/SFTP, Metalink, and the JSON-RPC server.
|
||||
- When several torrents run at once, `--max-download-limit` /
|
||||
`--max-upload-limit` apply per run rather than per torrent (`--max-overall-*`
|
||||
are exact).
|
||||
- Speed caps are global: `--max-overall-download-limit` /
|
||||
`--max-overall-upload-limit` apply across the whole run.
|
||||
- Standard `HTTP_PROXY` / `HTTPS_PROXY` environment variables are honored.
|
||||
|
||||
Reference in New Issue
Block a user