got

Got: Simple golang package and CLI tool to download large files faster 🏃 than cURL and Wget!

MIT License

Stars
704
Committers
11
got - v0.7.0 Latest Release

Published by melbahja about 2 years ago

Changelog

5f491ce Fall back to filename from URL when don't have it in the header
e61df7a File link changed for TestChunksLength to: https://proof.ovh.net/files/10Mb.dat
eac659f Merge pull request #39 from ant1k9/master
df23111 Merge pull request #55 from ink-splatters/dev/fix/TestChunksLength_panic
f61027c Merge pull request #61 from darmiel/master
3360906 fixing panic in TestChunksLength, providing meaningful error info instead
20369b3 refactor: go 1.18 support
67d1e00 update deps

got - v0.6.1

Published by melbahja almost 3 years ago

Changelog

d160006 tryng to fix goreleaser

got - v0.6.0

Published by melbahja almost 3 years ago

Changelog

465ce5a Change download path setting mechanism to automatically set at Path() call
847004f Clean up Name()
ca6a160 Clean up Start()
c4649c0 Concurrent writing optimization
dbcf231 Fix download file naming
ee80d14 Leave the leftovers to the last chunk, update chunk tests
c594461 Merge #28
e30ed52 Merge #35
9cd38c7 Merge optimizations
6d7e43e Merge pull request #36 from melbahja/fix-names
d8082c6 Merge pull request #37 from melbahja/new-cmd
5532b5b Merge pull request #38 from melbahja/anti-windows
43097b9 Merge refactor
f466353 Reject invalid content-range response
1e74d5b Remove redundant HEAD request to determine range support, only use get
88f1918 Remove useless chunkpool
82a2fea Update test.yml
444e407 Update tests
9982b69 add new wgot cmd
3bdf4c8 build(deps): bump github.com/urfave/cli/v2 from 2.2.0 to 2.3.0
31066a5 fix filename and remove updatePath that cause outputing two files.
4ae4a5f fmt
a463682 last try to fix fucking windows
c8603ff remove fucking windows support
c70035e remove windows support

got - v0.5.0

Published by melbahja about 4 years ago

Changelog

0b6865d add(Header): apply headers to all requests.
a8aad05 add(Tests): check is got sending header values to server tests.
eefde32 add: feature to set HTTP Headers to got request.
1a5df7e add: ability to change user agent.

got - v0.4.0

Published by melbahja about 4 years ago

Changelog

#23 - You can pipe batch file to download like: got -d ./dist/dir < urls.txt
#25 - Now Got can concurrently download files even when HEAD method not supported

got - v0.3.0

Published by melbahja about 4 years ago

Changelog

1623891 GetDefaultClient func removed, you can use DefaultClient instead
cfc5989 Merge #21
a973d46 Run tests on push.
ae18316 Update README.md
458a674 add Name() func to get download path, and clean clean internal functions.
2bda5c3 add: ignore coverage file.
87cdd7a clean getNameFromHeader func.
820986f fix and add tests for getNameFromHeader
65b83a0 fix: change the width of progress based on terminal size
87a7baf fix: let got set default Dest path when no output flag passed.
c8dcac7 fix: now got can set default file name from content-disposition header #22
cc189ab fix: using mime pkg to get content disposition filename.
81149f0 fmt code.
72a11e5 replace slow test url.
e5b129f simplify flag descriptions and output.
54d5c74 sleep only on GET reqs
640e07f some tests added

got - v0.2.1

Published by melbahja about 4 years ago

Changelog

91d54db Merge branch 'poldi1405-master'
00203d2 Merge pull request #18 from poldi1405/patch-1
1e7fabc Merge pull request #20 from melbahja/dependabot/go_modules/gitlab.com/poldi1405/go-ansi-1.1.0
46327c2 Update README.md
30c4758 add: dependabot
b3dc04f added simple progress status
951bdb5 build(deps): bump gitlab.com/poldi1405/go-ansi from 1.0.1 to 1.1.0
455b929 fix: build tag
74d6a06 fmt progress func output
d78e830 rename unix variables name.
dc35367 set as default style made variables work on all systems removed goterminal as it was no longer necessary

got - v0.2.0

Published by melbahja about 4 years ago

Changelog

913a3d0
Breaking changes:

  • Adding context and support for multi file downloads.
  • change: New func now returns new *Got instead of *Download
  • add: NewWithContext func.
  • add: NewDownload returns new *Download
  • change: Progress methods now is a part of the download
  • add: Context
  • add: RunProgress method to run ProgressFunc
  • rm: Progress removed

97dd67a Improve default concurrency calculation and reset chunk pool item.
7aade22 Merge #17
b6e5a71 add github actions.
d142d32 add: default file name var
c58c7a9 add: error msg
14e3b75 add: example
410c983 add: race flag
7866184 add: sync pool && Download method moved to Download
ad9329f cli: handle piped stdin and batch file and multiple download args
12a13de fix: go vet errs
43c714a fix: test for windows
2b5d10e fix: typos
853a4de fix: typos
e3620cc fix: use TotalSize in content tests
037656e fmt and use one defer func in Start
98d5912 fmt code.
6eefa9f handle signal, and add dir flag
76f694f improve chunk size calculation.
872796b improve cli output
5b66243 improve cli tool
1d699c2 replace errgroup with channels
7b663da request funcs moved to got.go
b210e4d rm tmp.
949ff41 rm: errgroup using channels instead.
3de4283 rm: progress remove and methods moved to Download.
e08ec4b tests
b136c2c update readme.

got - v0.1.5

Published by melbahja about 4 years ago

Changelog

fd202da Merge #14
962cace improve cli stdout progress.

got - v0.1.3

Published by melbahja about 4 years ago

Changelog

151423b Add Speed,Avg Speed,Total cost times output.
9e36aad Download no longer needs its own lock
8c6db2f Merge #11
c1c7cf0 Merge #12
de7f804 Merge branch 'kingwrcy-master'
3ad1c2d No need to keep track of the temporary directory
6e452dc No need to use pointer to channels
02ec844 Update README.md
df11970 Update filename.go
d4d74c2 Use atomic instead of mutex for concurrency safe size updating
aaf2df1 Use context with cancel to stop a goroutine
770bc1e Use errgroup to ease error handling in goroutines
e1716ba Use https as the default scheme if scheme is not given
286c77a fmt, clean code, use atomic in progress.

got - v0.1.2

Published by melbahja about 4 years ago

Changelog

25736ad Head requests should also set user-agent properly
9d2f87c Merge #4
bd6b9d1 Merge #5
7a87e64 Merge #6
e431e0d Merge #8
a6a8d9b Synchronize merging with a blocking channel
919451c add: new default request.
7beee4a add: use got NewRequest
05eaf7f added function for filename-extraction
e936303 docs, and use Mutex
94951db fix: typo, and add missing err catch
9098e5b fmt
51171cc fmt: got.go
f0af945 got should be aware of environment variables like HTTP_PROXY and HTTPS_PROXY
550445e improvement, and work around for #3
aafe0fe simplify file name func.

got - v0.1.1

Published by melbahja about 4 years ago

Changelog

79f4172 Merge #2
d25c6e8 add: check downloaded file content test.
1a701c2 fix: data race!
eb5b343 update readme link.

Package Rankings
Top 2.19% on Proxy.golang.org