https://github.com/buzzer-re/gofast
A HTTP accelerator using concurrent programming
https://github.com/buzzer-re/gofast
golang http http-accelerator utilities
Last synced: about 2 months ago
JSON representation
A HTTP accelerator using concurrent programming
- Host: GitHub
- URL: https://github.com/buzzer-re/gofast
- Owner: buzzer-re
- Created: 2020-12-22T00:12:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-15T20:13:13.000Z (over 4 years ago)
- Last Synced: 2026-02-20T08:50:06.026Z (2 months ago)
- Topics: golang, http, http-accelerator, utilities
- Language: Go
- Homepage:
- Size: 3.56 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GoFast


A HTTP downloader accelerator like [axel](https://github.com/axel-download-accelerator/axel), but faster.
## What is this ?
gofast is a http-only downloader that uses multiple connections through concurrency relying in [Range Request](https://tools.ietf.org/rfc/rfc7233.txt). It can burst your download speed just by spliting the whole GET request in ***N*** connections.
## Features
* Normal HTTP download if the server does not accept ranges
* HTTP concurrency download
* Control of how many parallel connections per host
## Usage
There is a couple of options that you can use:
$ gofast -h
A HTTP downloader accelerator using concurrency
Usage:
gofast [flags]
Flags:
-h, --help help for gofast
-n, --num-tasks int Number of tasks to download (default 8)
-o, --output string File output name
Simple usage:
$ gofast https://releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso
Starting concurrent download of ubuntu-20.04.1-desktop-amd64.iso
Downloading 100% |...| (2.6/2.6 GB, 10.634 MB/s)
Downloaded in 4m9.761532636s
Downloading the same file using axel:
$ axel -a https://releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso
Initializing download: https://releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso
File size: 2785017856 bytes
Opening output file ubuntu-20.04.1-desktop-amd64.iso.0
Starting download
Connection 3 unexpectedly closed
Connection 0 finished
Connection 1 finished
Connection 2 finished
Connection 1 finished
Connection 3 finished
Connection 0 finished
Downloaded 2.59375 Gigabyte(s) in 4:32 minute(s). (9969.09 KB/s)
## Installing
You can go to [releases](https://github.com/AandersonL/gofast/releases) and grab the latest one, or manually build (Tested on Linux and Windows).
> $ git clone https://github.com/aandersonl/gofast && cd gofast && go build
Or
> go get github.com/aandersonl/gofast
Make sure to have GOROOT variable configured to the installation above works.
Any bugs or enhancement feel free to open a issue or pull request!