A command-line interface (CLI) downloader written in Golang that supports resuming downloads.
- Resuming downloads
- Custom HTTP Headers
- HTTP and SOCKS5 Proxies
- Netscape Cookies
- Concurrent Chunk Downloading
To build the CLI downloader, follow the instructions below:
- Clone the repository
git clone github.com/DevonTM/gget
- Navigate to the cloned repository
cd gget
- Build the project
make build
To use Gget, run the following command:
gget [OPTIONS] URL
Available options are:
Option | Description |
---|---|
-url |
URL to download, can be set from last argument |
-o |
Output path, default current directory |
-O |
Output filename, default from server |
-f |
Force download, overwrites existing file |
-c |
Chunk size in bytes, default 1M |
-j |
Maximum number of concurrent chunks download, default 4 |
-t |
Maximum retry count, default 3 |
-r |
Set HTTP referer |
-ua |
Set HTTP user agent |
-p |
Proxy URL |
-C |
Netscape cookie file |
-H |
Custom HTTP header |
-no-h2 |
Disable HTTP/2 |
-help |
Show help |
-version |
Show version |
gget -o file.zip https://example.com/file.zip
gget -o foo -O bar file.zip https://example.com/file.zip
gget -p socks5://127.0.0.1:1080 https://example.com/file.zip
gget -H "Accept:text/plain" -H "User-Agent:gget/1.0" https://example.com/file.zip
gget -C cookies.txt https://example.com/file.zip
- Add tests
- Better error messages
This project is licensed under the MIT License - see the LICENSE file for details.