A fast, no-frills file archiving tool that copies files to remote servers via SFTP.
- 🚀 Fast SFTP transfers using SSH key or password authentication
- 📁 Supports both individual files and entire directories
- 📊 Real-time progress indicators with spinners and progress bars
- 🔧 Simple one-time setup
- 💾 Supports multiple remote destinations
Install from crates.io:
cargo install arkvOr build from source:
cargo build --releaseThe binary will be at target/release/arkv. You can copy it to your PATH:
cp target/release/arkv /usr/local/bin/First time setup:
arkv --setupThis will guide you through:
- Locating your SSH key (default:
~/.ssh/id_ed25519) - Adding remote destinations (name, host, username, remote path, optional password)
Upload a file:
arkv cool-picture.pngUpload a folder:
arkv my_files/tuesday/Choose destination interactively (when multiple destinations are configured):
arkv document.pdf --interactiveRe-run setup:
arkv --setupShow help:
arkv --helpConfiguration is stored at ~/.config/arkv/config.toml
Example config:
ssh_key_path = "/Users/username/.ssh/id_ed25519"
[[destinations]]
name = "production"
host = "example.com"
username = "deploy"
remote_path = "/var/www/uploads"
[[destinations]]
name = "backup"
host = "192.168.1.100"
username = "user"
remote_path = "/home/user/backups"
password = "optional_password"- Connects to remote server via SSH (port 22)
- Uses SFTP protocol for file transfers
- Automatically creates remote directories if they don't exist
- Preserves folder structure when uploading directories
- Shows progress with spinners (single files) or progress bars (folders)
MIT