İçeriğe geç

CLI

kutup, web ile aynı E2EE ilkelleri için bir Rust CLI’dir - kayıt olma, oturum açma, ls, yükleme, indirme, senkronize etme, paylaşma, sürümler, cihazlar, 2fa, genel bağlantı tüketimi, dosya yeniden adlandırma. Tüm işlemler kabuğunuzda uçtan uca şifrelenir; sunucu yalnızca şifreli metni görür.

Kaynaktan derleyin (Rust ≥ 1.91.1):

Terminal window
git clone https://github.com/kutupbt/kutup.git
cd kutup
cargo build --release -p kutup-cli # → target/release/kutup
install -m755 target/release/kutup ~/.local/bin/kutup

Henüz herkese açık ikili sürüm yoktur. Etiketli sürümler Linux x86-64/ARM64, macOS Intel/Apple Silicon ve Windows x86-64 için yapılandırılmıştır (bkz. sürüm iş akışı).

Terminal window
# Bir hesap oluşturun (istemci tarafı kripto; 24 kelimelik bir kurtarma ifadesini bir kez yazdırır).
kutup register --server https://your.kutup.host --email you@example.com --username you
# Giriş yapın (etkileşimli şifre istemi; şifre KUTUP_PASSWORD'den de gelebilir).
kutup login --server https://your.kutup.host --email you@example.com
# Klasörlerinizi + dosyalarınızı Drive kökünde listeleyin.
kutup ls
kutup ls <folder-id> # contents of a sub-folder
# Bir dosya yükleyin. CLI'in parçalı akış şifrelemesi (5 MB'lık bloklar)
# crypto_secretstream) tarayıcı tarafından uygulanan boyut sınırı YOKTUR — çoklu GB
# dosyalar (ISO'lar, ham video, veri kümeleri) web yüklemesinin tıkandığı yerlerde çalışır
# ~ 2 GB civarında ve sekmeyi çökertiyor. Dosya boyutu diskle sınırlıdır,
# RAM değil.
kutup upload ./big-dataset.tar.gz <folder-id>
kutup upload ./local-dir <folder-id> --recursive
# Bir dosya indirin. Ortak çalışmayla düzenlenen dosyalar için (notlar / ofis /
# beyaz tahtalar) en son anlık görüntüyü döndürür - web ile aynı içerik
# gösterir, soğuk başlangıç ​​başlangıcını değil.
kutup download <file-id>
kutup download <file-id> ./local/path/
# Çift yönlü senkronizasyon. --watch yerel klasörün canlı olarak senkronize edilmesini sağlar
# fsnotify; yeni yerel dosyalar hemen yüklenir, yeni uzak dosyalar
# saniyeler içinde ulaşır.
kutup sync ./local-folder <folder-id>
kutup sync ./local-folder <folder-id> --watch
# Sürümleri listeleyin. Geri yükleme CLI/sync ile oluşturulan dosyalar için
# güvenlidir; canlı iş birliği anlık görüntüleri web istemcisinin türetilmiş
# içerik anahtarı yolunu gerektirir.
kutup versions list <file-id>
kutup versions restore <file-id> <version-id>
# Genel bağlantı tüketimi — URL'in kendisi için kutup girişi gerekmez.
kutup pub get https://your.kutup.host/p/<token>#key=<base64>
kutup pub download <url> <file-id>
# Gerisini keşfedin.
kutup --help
kutup version

>2 GB yolu dikkat çekicidir. Tarayıcı Dosyası API + Web Kripto akışı teoride çalışır ancak pratik olarak sekmeyi çoklu GB boyutlarında sıkıştırır; CLI, crypto_secretstream’i (XChaCha20-Poly1305, 5 MB’lık parçalar) bir Rust okuyucu üzerinden yayınlar, böylece rastgele büyük dosyaları sabit ~5 MB bellekte işler.