| Crates.io | seaf-cli |
| lib.rs | seaf-cli |
| version | 0.1.4 |
| created_at | 2025-10-22 13:11:21.671356+00 |
| updated_at | 2025-12-11 14:28:39.200747+00 |
| description | Seafile command-line client in Rust |
| homepage | |
| repository | https://github.com/loyalpartner/searpc-rs |
| max_upload_size | |
| id | 1895649 |
| size | 111,661 |
Rust implementation of Seafile command-line client, feature-complete with the Python version.
All commands from the original Python seaf-cli are implemented:
cargo build --release
sudo cp target/release/seaf-cli /usr/local/bin/
# Initialize configuration (first time only)
seaf-cli init -d /path/to/parent/dir
# Start Seafile daemon
seaf-cli start
# Check status
seaf-cli status
# List local libraries
seaf-cli list
# List with JSON output
seaf-cli list --json
# List remote libraries
seaf-cli list-remote -s https://seafile.example.com -u user@example.com
# Download a library by ID
seaf-cli download \
-l LIBRARY_ID \
-s https://seafile.example.com \
-u user@example.com \
-d /path/to/download
# Download by name
seaf-cli download-by-name \
-L "My Library" \
-s https://seafile.example.com \
-u user@example.com
# Sync existing folder
seaf-cli sync \
-l LIBRARY_ID \
-s https://seafile.example.com \
-u user@example.com \
-d /existing/folder
# Create a new library
seaf-cli create \
-n "New Library" \
-t "Description" \
-s https://seafile.example.com \
-u user@example.com
# Desynchronize a library
seaf-cli desync -d /path/to/library
# Stop daemon
seaf-cli stop
# Get configuration value
seaf-cli config -k sync_interval
# Set configuration value
seaf-cli config -k sync_interval -v 300
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:
seaf-cli list-remote
seaf-cli download -l LIBRARY_ID
The client supports multiple authentication methods:
-T flag or store in ~/.seafile.conf-p flag or prompt interactively-a flag for OTP codeFor encrypted libraries, use the -e flag:
seaf-cli download -l LIBRARY_ID -e LIBRARY_PASSWORD ...
If not provided, you'll be prompted interactively.
This Rust implementation uses:
Fully compatible with Seafile server 7.0+ and the original C daemon (seaf-daemon).
MIT