Modern β’ Secure β’ Parallel β’ Resumable
Vaayu is the next-generation SSH file transfer tool that moves your data like air - fast, light, and omnipresent.
Vaayu (Sanskrit: ΰ€΅ΰ€Ύΰ€―ΰ₯) means "air"βthe element that flows everywhere with speed and grace. Just as air adapts to any environment while maintaining its essential properties, Vaayu delivers files across networks with uncompromising reliability and performance.
| Feature | Description |
|---|---|
| π Secure by Design | Modern SSH ciphers (ChaCha20-Poly1305, AES-256-GCM) with optional strict host key verification |
| β‘ Lightning Fast | Parallel transfers with intelligent concurrency auto-tuning |
| π Bulletproof Resume | Atomic writes with .part files and intelligent offset recovery |
| π‘οΈ Data Integrity | SHA-256 verification with robust remote fallback chains |
| π― Smart Operations | Recursive directory sync, wildcard matching, and real-time progress |
| ποΈ Live Monitoring | Watch mode for continuous synchronization |
| π Universal | Windows, macOS, Linux (Python 3.9+) |
- π€ Send β Local β Remote with recursive directory support
- π₯ Get β Remote β Local with wildcard expansion
- π Relay β Remote β Remote without local download
Built on enterprise-grade foundations:
- AsyncIO + AsyncSSH β High-performance asynchronous I/O
- Rich Progress β Beautiful terminal UI with real-time metrics
- Watchdog β Filesystem monitoring for live sync
- zstd β Optional compression pipeline (future enhancement)
pipx install vaayuWindows (PowerShell)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .macOS/Linux (Bash)
python3 -m venv .venv
source .venv/bin/activate
pip install -e .vaayu --help| Short | Long | Description |
|---|---|---|
-h |
--help |
Show help message |
-p |
--port |
SSH port (default: 22) |
-u |
--username |
SSH username |
-P |
--password |
SSH password |
-i |
--identity |
Path to private key |
-j |
--parallel |
Parallel transfer jobs |
-r |
--retries |
Max retries per file (default: 5) |
-b |
--backoff |
Initial backoff seconds (default: 0.5) |
-c |
--compress |
Enable compression |
-z |
--zstd-level |
Compression level (default: 3) |
-k |
--verify-host-key |
Strict host key verification |
-n |
--no-verify |
Skip hash verification |
| Command | Description |
|---|---|
send |
Transfer files from local to remote |
get |
Transfer files from remote to local |
relay |
Transfer files between two remote hosts |
Basic File Upload
vaayu -u alice -i ~/.ssh/id_ed25519 send [email protected] /remote/backup file.txtRecursive Directory Upload
vaayu -u alice -i ~/.ssh/id_ed25519 send [email protected] /remote/backup /local/project/Wildcard Upload with High Parallelism
vaayu -u alice -i ~/.ssh/id_ed25519 -j 16 send [email protected] /remote/logs *.logPassword Authentication
vaayu -u alice -P mypassword send [email protected] /remote/backup document.pdfCustom Port and Strict Host Key Verification
vaayu -u alice -p 2222 -k -i ~/.ssh/id_ed25519 send [email protected] /backup file.txtMultiple Files and Directories
vaayu -u alice -i ~/.ssh/id_ed25519 send [email protected] /backup file1.txt dir1/ *.csvLive Watch Mode
vaayu -u alice -i ~/.ssh/id_ed25519 send [email protected] /remote/www /local/website/ -WBasic File Download
vaayu -u bob -i ~/.ssh/id_ed25519 get [email protected] /local/downloads /remote/file.txtWildcard Download
vaayu -u bob -i ~/.ssh/id_ed25519 get [email protected] /local/logs /var/log/*.logRecursive Directory Download
vaayu -u bob -i ~/.ssh/id_ed25519 get [email protected] /local/backup /remote/project/Multiple Remote Paths
vaayu -u bob -i ~/.ssh/id_ed25519 get [email protected] /local/data /remote/file1.txt /remote/dir/ /remote/*.csvHigh Concurrency Download
vaayu -u bob -i ~/.ssh/id_ed25519 -j 32 get [email protected] /local/download /remote/bigdata/Direct Remote-to-Remote Transfer
vaayu -u admin -i ~/.ssh/id_ed25519 relay [email protected] [email protected] /data/file.txt /backup/file.txtMultiple File Relay
vaayu -u admin -i ~/.ssh/id_ed25519 relay [email protected] [email protected] /data/file1.txt /data/file2.txt /backup/file1.txt /backup/file2.txtCross-Server Directory Sync
vaayu -u admin -i ~/.ssh/id_ed25519 relay [email protected] [email protected] /var/www/ /backups/www/Resume Interrupted Transfer
vaayu -u alice -i ~/.ssh/id_ed25519 send [email protected] /remote/backup largefile.zipSkip Verification for Trusted Networks
vaayu -u alice -i ~/.ssh/id_ed25519 -n send [email protected] /remote/backup *.txtCustom Retry Strategy
vaayu -u alice -i ~/.ssh/id_ed25519 -r 10 -b 1.0 send [email protected] /backup file.txtCompression Enabled
vaayu -u alice -i ~/.ssh/id_ed25519 -c -z 6 send [email protected] /backup archive.tar| File Count | Recommended -j |
Use Case |
|---|---|---|
| 1-10 | 2-4 | Large files |
| 10-100 | 4-8 | Mixed workload |
| 100-1000 | 8-16 | Many small files |
| 1000+ | 16-32 | Massive parallel I/O |
vaayu -u user -j 8 -r 3 -b 0.2 send user@host /dest /large/dataset/- SSH Key Authentication (Recommended)
- Password Authentication
- SSH Agent Support
- [email protected] (Primary)
- [email protected] (Fallback)
- SHA-256 Verification (Default)
- Atomic Writes (
.partβ rename) - Multiple Remote Hash Sources
- Resume from Interruption β Continues from last byte
- Exponential Backoff β Smart retry timing
- Hash Verification β Detects corruption
- Atomic Operations β No partial writes
| Issue | Solution |
|---|---|
| Connection timeout | Increase -r retries and -b backoff |
| Permission denied | Check SSH key permissions and remote path access |
| Hash mismatch | Network corruption; transfer will auto-retry |
| Host key verification failed | Use -k flag with proper known_hosts |
pytest -qResume Testing
vaayu -u user send user@host /dest largefile.binVerification Testing
vaayu -u user send user@host /dest testfile.txt
sha256sum testfile.txt
ssh user@host "sha256sum /dest/testfile.txt"Performance Testing
time vaayu -u user -j 16 send user@host /dest /large/dataset/vaayu/
βββ cli.py # Command-line interface
βββ ssh_client.py # AsyncSSH wrapper
βββ transfer.py # Core transfer logic
βββ verify.py # Hash verification
βββ utils.py # Utilities and helpers
βββ watch.py # Filesystem monitoring
βββ compress.py # Compression (future)
βββ cloud.py # Cloud protocols (future)
- ποΈ In-stream zstd compression
- π Enhanced remote hash detection
- π Configuration file support
- π©οΈ Cloud provider integration
- π Advanced performance metrics
- π Certificate-based authentication
We welcome contributions! Please check out our development setup:
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\Activate.ps1 on Windows
pip install -e .[dev]
pytestReleased under the MIT License. See LICENSE for details.
Built with β€οΈ for the SSH community
Vaayu β Where files flow like air
π Note: This README was generated with AI assistance because the developer was too lazy to write comprehensive documentation (but smart enough to make AI do it properly). π΄β¨