A command-line utility for transferring files using various protocols such as Azure Blob Storage, Amazon S3, SFTP, CIFS, and local file transfers. The project aims to provide a simple, unified interface for file transfers across different protocols.
This project is under active development and many features are incomplete or not fully tested.
- Basic TUI (Terminal User Interface) with protocol selection
- Configuration file support
- Local file transfer implementation
- Basic database logging of transfers
- Protocol framework for multiple transfer types
- SFTP implementation (partial)
- Azure Blob Storage implementation (partial)
- S3 implementation (partial)
- CIFS/SMB implementation (not started)
- Error handling improvements
- Progress reporting
- Transfer validation
- Credential management
- Unit tests
- Authentication not fully implemented for remote protocols
- No progress indication during transfers
- Error handling needs improvement
- Configuration validation missing
- No retry mechanism for failed transfers
- Missing proper logging system
- Security considerations need review
- Azure Blob Storage (
azureblob
) - Partial - CIFS/SMB (
cifs
) - Not implemented - SFTP (
sftp
) - Partial - Amazon S3 (
s3
) - Partial - Local file system (
local
) - Working
Usage Interactive Mode (Recommended) This will start the Terminal User Interface (TUI) where you can:
Select a transfer protocol using arrow keys Enter source path Enter destination path Command Line Mode ./CLI_FileTransfer -protocol -source <source_path> -destination <dest_path>
./CLI_FileTransfer -protocol local -source ./myfile.txt -destination ./backup/myfile.txt
./CLI_FileTransfer -protocol sftp -source ./localfile.txt -destination /remote/path/file.txt
./CLI_FileTransfer -protocol s3 -source ./myfile.txt -destination bucket/myfile.txt
./CLI_FileTransfer -protocol azureblob -source ./myfile.txt -destination container/myfile.txt