Skip to content

CLI tool designed to expedite file downloading processes. Engineered for reliability and ease of use, it's compatible across Mac, Linux, and Windows platforms.

License

Notifications You must be signed in to change notification settings

s-emanuilov/gotake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gotake: high-speed file downloader

gotake is a CLI tool designed to expedite file downloading processes. Engineered for reliability and ease of use, it's compatible across Mac, Linux, and Windows platforms.
Under the hood, gotake employs either standard HTTP requests or range requests to fetch files, the latter enabling concurrent downloads of file chunks which are subsequently assembled to form the complete file.

Install

Install gotake with a simple one-liner. Below are the instructions for macOS and Linux:

macOS

sudo curl -L "https://github.com/simeonemanuilov/gotake/releases/download/0.5/gotake-darwin-x86_64" -o /usr/local/bin/gotake && sudo chmod +x /usr/local/bin/gotake

Linux

sudo curl -L "https://github.com/simeonemanuilov/gotake/releases/download/0.5/gotake-linux-x86_64" -o /usr/local/bin/gotake && sudo chmod +x /usr/local/bin/gotake

Examples

Launching a download is straightforward with gotake. Here are some examples to get you started:

Quick download (auto find optimal connections amount)

gotake http://sample.li/face.png

Download and print summary

gotake http://sample.li/boat.jpg -i

Download in verbose mode

gotake http://sample.li/tesla.jpg -v

Download with different type of connections

gotake http://sample.li/tesla.jpg -c=10 -a=False

How it works

Schema for file downloads with gotake

Benchmarks

Quick Benchmark

Documentation

Check the documentation and available flags

gotake -h

gotake Documentation

Flags

-a, --auto (bool)

default: True
Choose the number of connections automatically, depending on the file size.

-c, --connections (int)

default: 50
Number of connections. You need to disable auto mode for using a specific number.

-f, --filename (string)

default: extracted from URL
Define different name to the target file if you prefer.

-i, --info (bool)

default: False
Print a summary for the download after finish.

-s, --standard (bool)

default: False
Force the standard method of download (not using Range-Request).

-v, --verbose (bool)

default: False
Show information about the current state of download process. Useful for debug.

-h, --help

Print a documentation with all available flags.

⚒ Compile from source

The other way to install gotake is to clone its GitHub repository and build it from source. That is the common way if you want to make changes to the code base. The tool is made with Golang.

git clone https://github.com/simeonemanuilov/gotake
cd gotake
go build

License

gotake is an Open-Source Project, and you can contribute to it in many ways.

About

CLI tool designed to expedite file downloading processes. Engineered for reliability and ease of use, it's compatible across Mac, Linux, and Windows platforms.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages