1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
.TH BWGET 1 "22 May 2025" "bwget 0.3.5" "User Commands"
.SH NAME
bwget \- “Better Wget” in Python
.SH SYNOPSIS
.B bwget
URL [\fIoptions\fR]
.SH DESCRIPTION
\fBbwget\fR is a tiny, single-file Python replacement for the most-used parts
of GNU wget.
It supports HTTP/HTTPS downloads with a nice progress bar, automatic filename
selection, automatic \fIresume\fR (now the default), TLS verification,
automatic retries with exponential back-off, optional SHA-256 verification,
proxy support, and user configuration via a TOML file.
.SH OPTIONS
.TP
.B \-o, \-\-output \fIFILE\fR
Write the downloaded data to \fIFILE\fR instead of the remote filename.
.TP
.B \-c, \-\-continue
\fIDisable\fR resuming.
By default bwget will resume an interrupted download if a matching partial
file is present and the server supports HTTP range requests. Supplying
\fB\-c\fR forces a fresh download from byte 0, overwriting any existing file.
.TP
.B \-q, \-\-quiet
Suppress non-error output (hides the progress bar).
.TP
.B \-\-sha256 \fIDIGEST\fR
Expected SHA-256 checksum (64 hex digits).
If omitted, bwget attempts to fetch \fI<URL>.sha256\fR automatically.
.TP
.B \-\-proxy \fIPROXY_URL\fR
Use the specified HTTP/HTTPS proxy
(e.g.\ \fIhttp://user:pass@host:port\fR).
Overrides any proxy defined in the config file or environment.
.TP
.B \-\-version
Display version information and exit.
.SH CONFIGURATION
bwget looks for a TOML config file at
\fI$XDG_CONFIG_HOME/bwget/config.toml\fR
(default \fI~/.config/bwget/config.toml\fR).
A sample file is created on first run.
.nf
[network]
user_agent = "bwget/0.3.5 (Python/3.x)"
max_retries = 3
base_backoff = 1.0
request_timeout = 15
stream_timeout = 30
# proxy = "http://user:pass@proxy:8080"
[download]
chunk_size_kb = 256
hash_chunk_size_mb = 1
.fi
.SH EXIT STATUS
.TP
0 Successful completion.
.TP
1 Download failed (network or HTTP error).
.TP
2 SHA-256 mismatch or invalid SHA-256 provided.
.TP
130 Download interrupted by user (SIGINT).
.SH EXAMPLES
.TP
Download a file (automatically resumes if interrupted):
.B bwget https://example.com/file.tar.gz
.TP
Force a fresh download even if a partial file exists:
.B bwget \-c https://example.com/large.iso
.TP
Verify SHA-256 while downloading:
.B bwget \-\-sha256 0123456789abcdef... https://example.com/app.tar.gz
.TP
Download through a proxy:
.B bwget \-\-proxy http://proxy.local:3128 https://example.com/data.zip
.SH SEE ALSO
wget(1), curl(1)
.SH AUTHOR
Written by Robin Snyders <robin@snyders.xyz>
|