Özellikler
Her şey şifreli, hiçbir şeyden ödün yok
Kutup, istemci tarafı şifrelemeyi gerçek zamanlı iş birliği ve federe mesajlaşmayla bir araya getirir. İşte her parçanın nasıl çalıştığı.
Drive
Sunucunun okuyamadığı dosya ve klasörler
- Sürükle-bırak yükleme ve sarsılmaz bir şifreleme sınırıyla iç içe koleksiyonlar.
- Dosya adları, MIME türleri ve klasör yapısının tamamı istemci tarafında şifrelenir.
- Herkese açık paylaşım bağlantıları ve ayrıntılı okuma / yükleme / silme izinleriyle kullanıcı bazlı klasör paylaşımları.
- crypto_secretstream_xchacha20poly1305 ile akışlı yükleme, büyük dosyaları bellekten uzak tutar.
- Depolama SeaweedFS (S3 uyumlu) üzerine kuruludur.

Notlar ve kod
Canlı görünürlükle gerçek zamanlı metin düzenleme
- Markdown, düz metin ve 20’den fazla kod dili (Go, TS, Rust, Python, C/C++, Java, Shell, …) için CodeMirror 6 + Yjs CRDT.
- Her kullanıcının kendi seçtiği farkındalık rengiyle çok kullanıcılı imleç ve seçim görünürlüğü.
- Her düzenleme, AEAD zarfına sarılmış ikili bir Yjs güncellemesidir — sunucu yalnızca opak şifreli metin görür.

Ofis belgeleri
.docx, .xlsx, .pptx — şifreli, tarayıcıda
- OnlyOffice, CryptPad desenini kullanarak tamamen istemci tarafında çalışır; belge durumu sunucu tarafında asla çözülmez.
- Canlı hücre seçimi; kullanıcı başına renkler ve çoklu sekme ayrımıyla yarı saydam renkli aralıklar olarak gösterilir.
- Eksiksiz koşullu biçimlendirme, formüller ve grafikler.

Beyaz tahtalar
Canlı eşitlenen Excalidraw tuvalleri
- .excalidraw dosyaları, sekmeler arası eşitlemeyle gömülü Excalidraw düzenleyicisinde açılır.
- versionNonce ile öğe başına son-yazan-kazanır uzlaştırması.
- Diğer tüm dosya türleriyle aynı uçtan uca şifreli zarf.

Sürüm geçmişi
Her dosyayı anlık görüntüleyin ve geri yükleyin
- Her kayıt, herhangi bir düzenleyicideki Geçmiş kenar çubuğundan gezilebilen sürümlü bir anlık görüntü oluşturur.
- Adlandırılmış “Sürüm kaydet” girdileri sonsuza dek saklanır; anonim kayıtlar zamanla silinir (30 gün veya 50 sürüm — hangisi daha fazlasını tutarsa).
- Uç nokta dosya türünden bağımsızdır — notlar, ofis ve beyaz tahtalar aynı altyapıyı kullanır.

Anahtarlar ve cihazlar
Tek anahtar sahibi sizsiniz
- Her biri ayrı ayrı iptal edilebilen, cihaz başına Ed25519 anahtar çiftleri.
- Hesap kurtarmada ikinci faktör olarak da görev yapan 24 kelimelik BIP39 kurtarma ifadesi — asla sunucuya gönderilmez.
- İsteğe bağlı TOTP 2FA ve düzenleyiciler ile sekmeler arasında sizi izleyen bir görünürlük rengi.

Mesajlar
Federe doğrudan ve özel grup Chat
- Doğrudan konuşmalar ve Kendime Not libsignal, özel gruplar RFC 9420 OpenMLS kullanır.
- Yanıtlar, tepkiler, düzenlemeler, silmeler, alındılar, kaybolan mesajlar, yerel arama, şifreli ekler, önizlemeler ve sesli notlar desteklenir.
- Her zaman açık hesap içi E2EE yedek, protokol oturumlarını veya bekleyen gönderimleri geri yüklemeden doğrulanmış görüntü geçmişini ve uygun medyayı tüm tarayıcı verisi kaybedildikten sonra kurtarır.

Federasyon
Güveni paylaşmadan sunucular arası paylaşın
Drive klasörlerini paylaşın ve Kutup sunucuları arasında Chat mesajları gönderin. İki arka uç da şifreli metni yönlendirir; hiçbiri korunan düz metni almaz.
Drive ve Chat tek bir kimliği doğrulanmış federasyon kimliğini, eş politikasını, yeniden deneme hattını ve denetim yüzeyini paylaşır. Özelliğe özel şifreli yükler ayrı kalır; ikinci bir sunucu devreye girdiğinde şifreleme sınırı yer değiştirmez.
Komut satırı
Aynı E2EE yapı taşları, kabuğunuzda
kutup; register, login, ls, upload, download, sync, share, versions, devices ve 2FA için Rust ile yazılmış bir CLI’dır — tamamı uçtan uca şifreli. Sunucu yalnızca şifreli metin görür.
Kaynaktan derleme (Rust ≥ 1.91)
git clone https://github.com/kutupbt/kutup.git
cd kutup
cargo build --release -p kutup-cli
install -m755 target/release/kutup ~/.local/bin/kutupHenüz herkese açık ikili sürüm yoktur. Etiketli CLI sürümleri Linux x86-64/ARM64, macOS Intel/Apple Silicon ve Windows x86-64 için yapılandırılmıştır.
Yaygın iş akışları
kutup register --server https://your.kutup.host \
--email you@example.com --username you
kutup login --server https://your.kutup.host \
--email you@example.com
kutup ls
kutup upload ./big-dataset.tar.gz <folder-id>
kutup sync ./local-folder <folder-id> --watch
kutup versions list <file-id>Öne çıkan: > 2 GB yüklemeler
Tarayıcının File API’si çok GB’lik boyutlarda sekmeyi kilitler. CLI ise parçalı crypto_secretstream şifrelemesini (XChaCha20-Poly1305, 5 MB bloklar) bir Rust okuyucusu üzerinden akıtır; ISO’lar, ham video, veri kümeleri gibi istediğiniz kadar büyük dosyaları sabit ~5 MB bellekle gönderir. Dosya boyutunu RAM değil disk sınırlar.