seaf-cli-0.1.3 is not a library.
seaf-cli - Seafile Command Line Client (Rust)
Rust implementation of Seafile command-line client, feature-complete with the Python version.
Features
All commands from the original Python seaf-cli are implemented:
- init - Initialize configuration directory
- start - Start Seafile daemon
- stop - Stop Seafile daemon
- list - List local libraries (with JSON output support)
- list-remote - List remote libraries from server (with JSON output support)
- status - Show detailed syncing status with progress
- download - Download a library by ID
- download-by-name - Download a library by name
- sync - Synchronize existing folder with library
- desync - Desynchronize a library
- create - Create a new library
- config - Get/set configuration values
Installation
Usage Examples
Initialize and Start
# Initialize configuration (first time only)
# Start Seafile daemon
# Check status
List Libraries
# List local libraries
# List with JSON output
# List remote libraries
Download/Sync Libraries
# Download a library by ID
# Download by name
# Sync existing folder
Manage Libraries
# Create a new library
# Desynchronize a library
# Stop daemon
Configuration Management
# Get configuration value
# Set configuration value
User Configuration File
You can create ~/.seafile.conf to avoid typing server/username repeatedly:
[account]
server = https://seafile.example.com
user = user@example.com
token = YOUR_AUTH_TOKEN_HERE
Then you can simply run:
Authentication
The client supports multiple authentication methods:
- Token - Use
-Tflag or store in~/.seafile.conf - Password - Use
-pflag or prompt interactively - Two-factor authentication - Use
-aflag for OTP code
Encrypted Libraries
For encrypted libraries, use the -e flag:
If not provided, you'll be prompted interactively.
Advantages over Python Version
- Performance: Native binary, faster startup and execution
- Memory: Lower memory footprint
- Dependencies: Single static binary, no Python runtime needed
- Type Safety: Compile-time error checking
- Zero unsafe code: Memory safe by design
Implementation Details
This Rust implementation uses:
- searpc-rs: Rust implementation of Searpc RPC protocol
- reqwest: HTTP client for Seafile API
- clap: Command-line argument parsing
- serde: JSON serialization/deserialization
- tokio: Async runtime (for future async operations)
Compatibility
Fully compatible with Seafile server 7.0+ and the original C daemon (seaf-daemon).
License
MIT