aim
🎯 aim: A command line download/upload tool with resume.
Alternatives:
Why?
Simplicity: download or upload files depending on parameter order with default settings.
Features
-
default action implied from parameter order.
aim https://domain.com/"
-> Display contents.aim https://domain.com/source.file source.file"
-> Download.aim source.file https://domain.com/source.file"
-> Upload.
-
resumable file transfers.
-
optional check of sha256 checksum:
aim https://github.com/XAMPPRocky/tokei/releases/download/v12.0.4/tokei-x86_64-unknown-linux-gnu.tar.gz tokei-x86_64-unknown-linux-gnu.tar.gz 0e0f0d7139c8c7e3ff20cb243e94bc5993517d88e8be8d59129730607d5c631b
-
automatic no display of progressbar if content length <1MB (easy display contents of remote).
-
defaults to stdout (pipe-able) to other commands:
| |
-
use as curl alternative:
-
configurable indicators via
indicatif
: you can change the display template and progress chars by either setting correct environment variables or creating a.env
file in the folder you are calling from:AIM_PROGRESSBAR_MESSAGE_FORMAT="🎯 Transfering {url}" AIM_PROGRESSBAR_TEMPLATE="{msg}\n{spinner:.cyan} {elapsed_precise} ▕{bar:.white}▏ {bytes}/{total_bytes} {bytes_per_sec} ETA {eta}." AIM_PROGRESSBAR_PROGRESS_CHARS="=>-"
Resume
- Download resume:
- http
- ftp
- Upload resume:
- http implemented but experimental. You need a webserver implementing
PUT
ranges (or a patched version ofnginx
)._test_aim_put_resume_binary_file
should cover this case. - ftp: pending.
- http implemented but experimental. You need a webserver implementing
Docker
For convenience, an alpine-based docker image is available, so arguments can be passed directly to it. Future versions will support single naming for all archs via manifests.
x64
:
arm64/aarch64
: