Kutup

Özellikler

Her şey şifreli, hiçbir şeyden ödün yok

Kutup, sıfır bilgili bir sunucuyu her dosya türünde gerçek zamanlı iş birliğiyle 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.
Kutup Drive dosya tarayıcısı

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.
CodeMirror not düzenleyici

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.
OnlyOffice tablo düzenleyici

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.
Excalidraw beyaz tahtası

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.
Sürüm geçmişi kenar çubuğu

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.
Ayarlar — cihazlar ve görünürlük rengi

Federasyon

Güveni paylaşmadan sunucular arası paylaşın

Farklı bir Kutup sunucusundaki birini bir klasöre davet edin. İki arka uç da şifreli metni yönlendirir; hiçbiri düz metni asla görmez.

Federasyon davet bağlantıları, her sunucunun herkese açık SERVER_URL değerinden oluşturulur. Sunucular arası iş birliği, yerel düzenlemeyle aynı çerçeve başına AEAD zarfını ve Ed25519 imzalarını kullanır — ikinci bir sunucu devreye girdi diye ş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)

sh
git clone https://github.com/kutupbulut/kutup.git
cd kutup
cargo build --release -p kutup-cli
install -m755 target/release/kutup ~/.local/bin/kutup

Etiketli sürüm ikilileri (Linux / macOS / Windows; amd64 + arm64) GitHub Releases’te yayımlanır.

Yaygın iş akışları

sh
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 restore <file-id> <version-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.