getparty

package module
v1.18.1 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2022 License: BSD-3-Clause Imports: 31 Imported by: 0

README

getparty

Build status

HTTP Download Manager with multi-parts

showcase

Installation

Homebrew
$ brew tap vbauerster/getparty
$ brew install getparty
Manual
$ go get -u github.com/vbauerster/getparty
$ cd $GOPATH/src/github.com/vbauerster/getparty/cmd/getparty
$ go install

Usage

Usage:
  getparty [OPTIONS] url

Application Options:
  -p, --parts=n                                             number of parts (default: 1)
  -r, --max-retry=n                                         max retry per each part, 0 for infinite (default: 10)
  -t, --timeout=sec                                         context timeout (default: 15)
  -o, --output=filename                                     user defined output
  -s, --session=session.json                                path to saved session file (optional)
  -a, --user-agent=[chrome|firefox|safari|edge|getparty]    User-Agent header (default: chrome)
  -b, --best-mirror                                         pickup the fastest mirror
  -q, --quiet                                               quiet mode, no progress bars
  -f, --force                                               overwrite existing file silently
  -u, --username=                                           basic http auth username
      --password=                                           basic http auth password
  -H, --header=key:value                                    arbitrary http header
      --no-check-cert                                       don't validate the server's certificate
  -c  --certs-file=certs.crt                                root certificates to use when verifying server certificates
      --debug                                               enable debug to stderr
  -v  --version                                             show version

Help Options:
  -h, --help                                                show this help message
Best mirror example:

cat mirrors.txt | getparty -p 8 -b

License

BSD 3-Clause

Documentation

Index

Constants

View Source
const (
	ErrCanceledByUser = ExpectedError("Canceled by user")
	ErrMaxRedirect    = ExpectedError("Max redirects reached")
	ErrMaxRetry       = ExpectedError("Max retries reached")
)

Variables

This section is empty.

Functions

This section is empty.

Types

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) 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 HttpError added in v1.11.0

type HttpError struct {
	StatusCode int
	Status     string
}

func (HttpError) Error added in v1.11.0

func (e HttpError) Error() string

type Options

type Options struct {
	Parts              uint              `short:"p" long:"parts" value-name:"n" default:"1" description:"number of parts"`
	MaxRetry           uint              `short:"r" long:"max-retry" value-name:"n" default:"10" description:"max retry per each part, 0 for infinite"`
	Timeout            uint              `short:"t" long:"timeout" value-name:"sec" default:"15" description:"context timeout"`
	OutFileName        string            `short:"o" long:"output" value-name:"filename" description:"user defined output"`
	JSONFileName       string            `short:"s" long:"session" value-name:"session.json" description:"path to saved session file (optional)"`
	UserAgent          string            `` /* 157-byte string literal not displayed */
	BestMirror         bool              `short:"b" long:"best-mirror" description:"pickup the fastest mirror"`
	Quiet              bool              `short:"q" long:"quiet" description:"quiet mode, no progress bars"`
	ForceOverwrite     bool              `short:"f" long:"force" description:"overwrite existing file silently"`
	AuthUser           string            `short:"u" long:"username" description:"basic http auth username"`
	AuthPass           string            `long:"password" description:"basic http auth password"`
	HeaderMap          map[string]string `short:"H" long:"header" value-name:"key:value" description:"arbitrary http header"`
	InsecureSkipVerify bool              `long:"no-check-cert" description:"don't validate the server's certificate"`
	CertsFileName      string            `short:"c" long:"certs-file" value-name:"certs.crt" description:"root certificates to use when verifying server certificates"`
	Debug              bool              `long:"debug" description:"enable debug to stderr"`
	Version            bool              `short:"v" long:"version" description:"show version"`
}

Options struct, represents cmd line options

type Part

type Part struct {
	FileName string
	Start    int64
	Stop     int64
	Written  int64
	Skip     bool
	Elapsed  time.Duration
	// contains filtered or unexported fields
}

Part represents state of each download part

type Session

type Session struct {
	URL               string
	SuggestedFileName 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