All Projects β†’ melbahja β†’ Got

melbahja / Got

Licence: mit
Got: Simple golang package and CLI tool to download large files faster πŸƒ than cURL and Wget!

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Got

Gophie
An Aggregator Engine for searching and downloading movies free - NO ADs!
Stars: ✭ 94 (-79.96%)
Mutual labels:  cli, download-videos, downloader
Flow Typed
A central repository for Flow library definitions
Stars: ✭ 3,772 (+704.26%)
Mutual labels:  cli, hacktoberfest
Isort
A Python utility / library to sort imports.
Stars: ✭ 4,377 (+833.26%)
Mutual labels:  cli, hacktoberfest
Stonks
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.
Stars: ✭ 405 (-13.65%)
Mutual labels:  cli, hacktoberfest
Ava
Node.js test runner that lets you develop with confidence πŸš€
Stars: ✭ 19,458 (+4048.83%)
Mutual labels:  cli, hacktoberfest
Memento
Memento is a development-only tool that caches HTTP calls once they have been executed.
Stars: ✭ 380 (-18.98%)
Mutual labels:  cli, hacktoberfest
Pluradl.py
Automated download of Pluralsight courses
Stars: ✭ 406 (-13.43%)
Mutual labels:  cli, downloader
Pornhub Downloader
Download videos from pornhub.
Stars: ✭ 346 (-26.23%)
Mutual labels:  download-videos, downloader
Cli Microsoft365
Manage Microsoft 365 and SharePoint Framework projects on any platform
Stars: ✭ 420 (-10.45%)
Mutual labels:  cli, hacktoberfest
Ola
The Open Lighting Architecture - The Travel Adaptor for the Lighting Industry
Stars: ✭ 424 (-9.59%)
Mutual labels:  cli, hacktoberfest
Npkill
List any node_modules directories in your system, as well as the space they take up. You can then select which ones you want to erase to free up space.
Stars: ✭ 5,325 (+1035.39%)
Mutual labels:  cli, hacktoberfest
Mongo Seeding
The ultimate solution for populating your MongoDB database.
Stars: ✭ 375 (-20.04%)
Mutual labels:  cli, hacktoberfest
S3cmd
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
Stars: ✭ 3,767 (+703.2%)
Mutual labels:  cli, hacktoberfest
Collision
πŸ’₯ Collision is a beautiful error reporting tool for command-line applications
Stars: ✭ 3,993 (+751.39%)
Mutual labels:  cli, hacktoberfest
Fanficfare
FanFicFare is a tool for making eBooks from stories on fanfiction and other web sites.
Stars: ✭ 359 (-23.45%)
Mutual labels:  cli, downloader
Eva
a calculator REPL, similar to bc(1)
Stars: ✭ 405 (-13.65%)
Mutual labels:  cli, hacktoberfest
Bubbletea
A powerful little TUI framework πŸ—
Stars: ✭ 7,886 (+1581.45%)
Mutual labels:  cli, hacktoberfest
Teachcode
A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding.
Stars: ✭ 325 (-30.7%)
Mutual labels:  cli, hacktoberfest
Ack3
ack is a grep-like search tool optimized for source code.
Stars: ✭ 330 (-29.64%)
Mutual labels:  cli, hacktoberfest
Phpinsights
πŸ”° Instant PHP quality checks from your console
Stars: ✭ 4,442 (+847.12%)
Mutual labels:  cli, hacktoberfest

Got.

Simple and fast concurrent downloader.

Installation ❘ CLI Usage ❘ Module Usage ❘ License

Tests

Comparison

Comparison in cloud server:

[time got -o /tmp/test -c 20 http://www.ovh.net/files/1Gio.dat
URL: http://www.ovh.net/files/1Gio.dat done!

real    0m8.832s
user    0m0.203s
sys 0m3.176s


[time curl http://www.ovh.net/files/1Gio.dat --output /tmp/test1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
								 Dload  Upload   Total   Spent    Left  Speed
100 1024M  100 1024M    0     0  35.6M      0  0:00:28  0:00:28 --:--:-- 34.4M

real    0m28.781s
user    0m0.379s
sys 0m1.970s

Installation

Download and install the latest release:

# go to tmp dir.
cd /tmp

# Download latest version.
curl -sfL https://git.io/getgot | sh

# Make the binary executable.
chmod +x /tmp/bin/got

# Move the binary to your PATH
sudo mv /tmp/bin/got /usr/bin/got

Or Go ahead compile it yourself:

go get github.com/melbahja/got/cmd/got

Or from the AUR

Install got for the latest release version or got-git for the latest development version.

Note: these packages are not maintained by melbahja

Command Line Tool Usage

Simple usage:

got https://example.com/file.mp4

You can specify destination path:

got -o /path/to/save https://example.com/file.mp4

You can download multiple URLs and save them to directory:

got --dir /path/to/dir https://example.com/file.mp4 https://example.com/file2.mp4

You can download multiple URLs from a file:

got --dir /path/to/dir -f urls.txt

You can pipe multiple URLs:

cat urls.txt | got --dir /path/to/dir

Docs for available flags:

got help

Module Usage

You can use Got to download large files in your go code, the usage is simple as the CLI tool:

package main

import "github.com/melbahja/got"

func main() {

	g := got.New()

	err := g.Download("http://localhost/file.ext", "/path/to/save")

	if err != nil {
		// ..
	}
}

For more see PkgDocs.

How It Works?

Got takes advantage of the HTTP range requests support in servers RFC 7233, if the server supports partial content Got split the file into chunks, then starts downloading and merging the chunks into the destinaton file concurrently.

License

Got is provided under the MIT License Β© Mohammed El Bahja.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].