FastGet
A CLI tool as well as go library to ultrafast download files over HTTP(s).
DISCLAIMER: FastGet performance heavily reliant on the network and CPU performance of the client machine. More importantly HTTP(s) endpoint must allow partial requests presenting
Accept-Rangesand acceptingRangeheaders.
Demo
Usage
fastget available as Commnad-Line tool and Go library.
Commnad-Line
fastget [options] <URL_TO_DOWNLOAD>Examples
$ fastget http://speedtest.tele2.net/10MB.zip
Download started..
3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 267.59 KB/s
3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 165.65 KB/s
3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 116.10 KB/s
Download finished in 3s. File: E:\10MB.zipRead the documentation for more information on the CLI usage.
Go Library
Here is a simple example that finds fastest hosts:
fg, err := fastget.NewFastGetter("http://speedtest.tele2.net/10MB.zip")
if err != nil {
panic(err)
}
result, err := fg.Get()
if err != nil {
panic(err)
}
file := result.OutputFile
elapsedTime := result.ElapsedTimeRead the API documentation for more information on the library usage.
Installation
Scoop
scoop bucket add pgollangi-bucket https://github.com/pgollangi/scoop-bucket.git
scoop install fastgetUpdating:
scoop update fastget
Homebrew
brew install pgollangi/tap/fastgetUpdating:
brew upgrade fastget
Go
$ go get github.com/pgollangi/fastget/cmd/fastget
$ fastgetManual
- Download and install binary from the latest release.
- Recommended: add
fastgetexecutable to your $PATH.
Building from source
fastget CLI is written in the Go programming language, so to build the CLI yourself, you first need to have Go installed and configured on your machine.
Install Go
To download and install Go, please refer to the Go documentation. Please download Go 1.14.x or above.
Clone this repository
$ git clone https://gitlab.com/pgollangi/fastget.git
$ cd fastgetBuild
$ go build cmd/fastget/main.go
$ fastgetContributing
Thanks for considering contributing to this project!
Please read the Contributions and Code of conduct.
Feel free to open an issue or submit a pull request!
License
Copyright © Prasanna Kumar
fastget is open-sourced software licensed under the MIT license.
Author
Built with


