Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vbauerster/getparty
HTTP Download Manager with multi-parts
https://github.com/vbauerster/getparty
cli download-manager downloader go terminal
Last synced: about 21 hours ago
JSON representation
HTTP Download Manager with multi-parts
- Host: GitHub
- URL: https://github.com/vbauerster/getparty
- Owner: vbauerster
- License: bsd-3-clause
- Created: 2016-12-28T06:49:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-01-06T17:18:01.000Z (4 days ago)
- Last Synced: 2025-01-06T18:33:17.078Z (4 days ago)
- Topics: cli, download-manager, downloader, go, terminal
- Language: Go
- Homepage:
- Size: 7.07 MB
- Stars: 83
- Watchers: 6
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# getparty
[![Build status](https://github.com/vbauerster/getparty/actions/workflows/build.yml/badge.svg)](https://github.com/vbauerster/getparty/actions/workflows/build.yml)
[![Lint status](https://github.com/vbauerster/getparty/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/vbauerster/getparty/actions/workflows/golangci-lint.yml)HTTP Download Manager with multi-parts
![showcase](showcase.gif)
## Installation
#### Homebrew
```
$ brew tap vbauerster/getparty
$ brew install getparty
```#### [AUR](https://wiki.archlinux.org/title/AUR_helpers)
```
$ paru -S getparty
```#### From source
```
$ git clone --depth 1 https://github.com/vbauerster/getparty.git
$ cd getparty/cmd/getparty && go build
```## Usage
```
Usage:
getparty [OPTIONS] []Application Options:
-p, --parts=n number of parts (default: 1)
-r, --max-retry=n max retries per each part, 0 for infinite (default: 10)
--max-redirect=n max redirections allowed, 0 for infinite (default: 10)
-t, --timeout=sec initial timeout to fill a buffer (default: 15)
-b, --buf-size=KiB[2|4|8|16] buffer size, prefer smaller for slow connection (default: 8)
-l, --speed-limit=[1|2|3|4|5] speed limit gauge
-s, --session=FILE session state of incomplete download, file with json extension
-U, --user-agent=[chrome|firefox|safari|edge] User-Agent header (default: getparty/ver)
--username= basic http auth username
--password= basic http auth password
-H, --header=key:value http header, can be specified more than once
-q, --quiet quiet mode, no progress bars
-d, --debug enable debug to stderr
-v, --version show versionHttps Options:
-c, --certs-file=certs.crt root certificates to use when verifying server certificates
--no-check-cert don't verify the server's certificate chain and host nameOutput Options:
-o, --output.name=FILE output file name
-f, --output.overwrite overwrite existing file silently
--output.use-path resolve name from url path first (default: Content-Disposition header)Best-mirror Options:
-m, --mirror.list=FILE|- mirror list input
-g, --mirror.max=n max concurrent http request (default: number of logical CPUs)
--mirror.top=n list top n mirrors, download condition n=1 (default: 1)Help Options:
-h, --help Show this help messageArguments:
: http location
```#### Best mirror example:
read [mirrors.txt](mirrors.txt) from a file and proceed to dowload from the best mirror:
```
getparty -m mirrors.txt
```read [mirrors.txt](mirrors.txt) from a stdin and proceed to dowload from the best mirror:
```
cat mirrors.txt | getparty -m -
```just list top 3 mirrors without any download:
```
getparty -m mirrors.txt --mirror.top 3
```## License
[BSD 3-Clause](https://opensource.org/licenses/BSD-3-Clause)