Aim is a command-line tool designed for downloading and uploading files, with built-in support for recovery in case of disconnection or failed transfers.
To install Aim, open a terminal and enter the following command:
cargo install aim
Binaries for Linux and macOS are also available here. Alternatively, Docker is an option for those who prefer containerization. The tool can update itself using the following command:
aim --update
Aim is versatile, supporting downloading from sources that are streamed in http, sftp, ftp, ssh, and S3. To initiate a download, simply provide the tool with the URL of the file:
aim https://domain.com/file.zip
For uploading to an endpoint, the command is:
aim file.zip https://domain.com/destination
Aim supports various output formats and allows customization of progress bar indicators. It facilitates easy file sharing between different machines, and files can be downloaded using a standard browser.
For instance, sharing the current directory can be done with:
aim .
Accessing this share from a second machine is as simple as:
aim http://IPAddress:8080
Or directly targeting a specific file:
aim http://IPAddress:8080/file.zip
One of Aim’s standout features is its support for various authentication methods, including basic URLs, .netrc files, SSH keys, and AWS folders. This enhances file access security and reliability, minimizing common authentication issues.
Aim also offers an interactive mode with the -i
option, allowing users to browse through the files available at the end of a URL.
In conclusion, Aim simplifies the automation of upload scripts, providing a powerful and flexible command-line tool for efficient file transfers.