SDRIVE CLI - Secure File Sharing with End-to-End Encryption
SDRIVE CLI is a command-line tool for secure file sharing with end-to-end encryption and per-file key sharing. The tool allows you to easily share files with others while maintaining full control over access.
Installation
- cargo install sdrive
Commands
Configuration
Create Configuration
This will guide you through setting up:
- API key (available at https://sdrive.pro)
- User GUID
- RPC URL
- Sync directory
- Keypair path
Generate Encryption Key
Generates a secure encryption and decryption key in your keyring.
Export Key
Exports the master encryption key in base64 format for sharing with others.
Import Key
Imports a master encryption key from base64 format.
File Operations
Upload File
Uploads a file to SDRIVE with end-to-end encryption. The file is automatically encrypted before upload.
Download File
Downloads and decrypts a file from SDRIVE. You can specify:
--output: Where to save the decrypted file--key: A per-file key for decryption (optional)
Supports downloading from:
- cdn.sdrive.pro
- ipfs.sdrive.pro
Decrypt File
Decrypts a locally stored file. You can specify:
--output: Where to save the decrypted file
Synchronization
(Under development) Synchronizes files between local directories and SDRIVE.
Security
- End-to-end encryption for all file sharing
- Support for per-file key sharing
- Secure storage of master key in system keyring
- Download URL validation
Logging
You can control the log level using the --log-level flag:
Troubleshooting
If you experience issues:
- Verify that your API key is valid
- Check that you have the correct configuration in
sdrive.toml - Ensure the master key is properly installed in the keyring
- Enable debug logging for more detailed information
License
This project is licensed under the MIT License.