CLI download/upload tool with resume support for HTTP(S), FTP, SFTP, SSH, and S3 protocols
aim is a command-line file transfer tool that supports downloading and uploading across multiple protocols including HTTP(S), FTP, SFTP, SSH, and S3. The tool determines the operation automatically based on parameter order - specifying a remote URL first downloads, while placing a local file first uploads. Resume capability is available for HTTP(S), FTP, and SFTP transfers, allowing interrupted transfers to continue from the last byte offset.
The tool includes an interactive mode activated with the -i flag that provides fuzzy search navigation through remote directories. Users can browse remote file systems using tab completion and path traversal, making it useful for exploring unfamiliar server structures. SHA256 checksum verification can be performed by appending the expected hash to the command line.
Authentication methods include basic auth embedded in URLs, .netrc file support, automatic SSH key discovery, and AWS credentials from ~/.aws/credentials or environment variables. The tool can also serve local directories over HTTP on port 8080, enabling file sharing between machines. Progress indicators are configurable through environment variables, and output can be piped to other commands for integration into workflows.
# via Cargo
cargo install aim


