getparty

package module
v1.22.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2024 License: BSD-3-Clause Imports: 35 Imported by: 0

README

getparty

Build status Lint status

HTTP Download Manager with multi-parts

showcase

Installation

Homebrew
$ brew tap vbauerster/getparty
$ brew install getparty
AUR
$ 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] [<url>]

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 version

Https 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 name

Output 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 message

Arguments:
  <url>:                                           http location
Best mirror example:

read mirrors.txt from a file and proceed to dowload from the best mirror:

getparty -m mirrors.txt

read 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

Documentation

Index

Constants

View Source
const (
	ErrBadInvariant   = ExpectedError("Bad invariant")
	ErrCanceledByUser = ExpectedError("Canceled by user")
	ErrMaxRedirect    = ExpectedError("Max redirections")
	ErrMaxRetry       = ExpectedError("Max retries")
)
View Source
const (
	DEBUG = iota
	INFO
	WARN
	ERRO
	LEVELS
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BadHttpStatus added in v1.22.0

type BadHttpStatus int

func (BadHttpStatus) Error added in v1.22.0

func (e BadHttpStatus) Error() string

type Cmd

type Cmd struct {
	Ctx context.Context
	Out io.Writer
	Err io.Writer
	// contains filtered or unexported fields
}

func (Cmd) Exit

func (cmd Cmd) Exit(err error) (status int)

func (*Cmd) Run

func (cmd *Cmd) Run(args []string, version, commit string) (err error)

type ExpectedError

type ExpectedError string

func (ExpectedError) Error

func (e ExpectedError) Error() string

type Part

type Part struct {
	Start   int64
	Stop    int64
	Written int64
	// contains filtered or unexported fields
}

Part represents state of each download part

type Session

type Session struct {
	URL           string
	OutputName    string
	ContentMD5    string
	AcceptRanges  string
	ContentType   string
	StatusCode    int
	ContentLength int64
	Redirected    bool
	Elapsed       time.Duration
	HeaderMap     map[string]string
	Parts         []*Part
	// contains filtered or unexported fields
}

Session represents download session state

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL