Giriş
Kutup Nedir?
Bölüm başlığı “Kutup Nedir?”Kutup, kendi donanımınızda çalıştırdığınız, gizlilik öncelikli dosya depolama, canlı iş birliği ve federe mesajlaşma platformudur. Dosya içeriği ve özel metadata, belge düzenlemeleri, Chat mesajları ve korunan Chat geçmişi sunucuya ulaşmadan önce istemcide şifrelenir. Sunucu hesap, yönlendirme, zamanlama, boyut ve kota için gereken operasyonel metadatayı görür; korunan düz metni veya anahtarlarını görmez.
Onu “şifreli Dropbox” klonlarından farklı kılan şey, bu cümledeki ikinci kelimedir: iş birliği. Notlar, kodlar, e-tablolar, slaytlar ve beyaz tahtaların tümü, E2EE değişmezinden vazgeçmeden eşler arasında gerçek zamanlı olarak senkronize edilir. Aktarıcı, opak AEAD şifreli, Ed25519 imzalı çerçevelerden oluşan bir akış görür; bunları yönlendirebilir, kalıcı hale getirebilir ve diğer sekmelere dağıtabilir, ancak içeriğin tek bir baytını okuyamaz.
Tasarım gereği kendi sunucunuzda barındırılır. Tek kimliği doğrulanmış federasyon yığını, korunan düz metni arka uçlara vermeden hem Drive paylaşımını hem Chat’i Kutup sunucuları arasında taşır.
Öne Çıkanlar
Bölüm başlığı “Öne Çıkanlar”Açık ve koyu tema için tek duyarlı çalışma alanı
Bölüm başlığı “Açık ve koyu tema için tek duyarlı çalışma alanı”Web istemcisi, Dosyalar ve Mesajlar’ı masaüstü ve mobilde aynı yönlendirme modelinin eş çalışma alanları olarak sunar. Benimle paylaşılanlar ve Çöp Kutusu Dosyalar görünümüdür; Ayarlar çalışma alanı kabuğunda kalır; rol korumalı Yönetici alanı ise üst üste iki kenar çubuğu oluşturmayan ayrı bir kabuk kullanır. Açık, Koyu ve Sistem tercihleri girişten düzenleyicilere kadar uygulanır.
Sunucunun okuyamadığı dosyalar ve klasörler
Bölüm başlığı “Sunucunun okuyamadığı dosyalar ve klasörler”
İç içe geçmiş koleksiyonlar, sürükle ve bırak yükleme, genel paylaşım bağlantıları, okuma/yükleme/silme izinlerine sahip kullanıcı başına klasör paylaşımları ve sağlam bir şifreleme sınırı. Dosya adları, MIME türleri ve klasör yapısı istemci tarafında şifrelenir. crypto_secretstream_xchacha20poly1305 aracılığıyla akış yükleme, büyük dosyaların hafızada yer almamasını sağlar. Silme işlemleri kurtarılabilir: Öğeler, geri yükleme + kalıcı silme ve yapılandırılabilir saklama taramasıyla (varsayılan olarak 30 gün) çöp kutusuna gider. Depolama, SeaweedFS’ye (S3 uyumlu) yedeklenir.
Canlı notlar ve kod
Bölüm başlığı “Canlı notlar ve kod”
.md, .txt ve 20’den fazla kod formatı (Go, TS, Rust, Python, C/C++, Java, Shell, …) için CodeMirror 6 + Yjs CRDT. Çok kullanıcılı imleçler, seçim varlığı, kullanıcı tarafından seçilen farkındalık rengi. Her düzenleme, AEAD zarfına sarılmış bir Yjs ikili güncellemesidir; sunucu opak şifreli metin alır.
Office belgeleri — tamamen istemci tarafında
Bölüm başlığı “Office belgeleri — tamamen istemci tarafında”
.docx, .xlsx, .pptx, OnlyOffice aracılığıyla, tamamen CryptPad modelini kullanarak tarayıcıda çalışır. Belge durumunun hiçbir zaman sunucu tarafında şifresi çözülmez. Canlı hücre seçimi varlığı (yarı saydam renkli dikdörtgenler olarak gösterilen eş aralıkları), kullanıcı başına renk, çoklu sekme farklılaşması, tam koşullu biçimlendirme, formüller ve grafikler.
Beyaz Tahtalar (Excalidraw)
Bölüm başlığı “Beyaz Tahtalar (Excalidraw)”
.excalidraw dosyaları, çapraz sekme senkronizasyonu ile Excalidraw içinde açılır. versionNonce + reconcileElements aracılığıyla öğe başına son yazma kazancı. Diğer her şeyle aynı E2EE zarfı.
Her dosyadaki sürüm geçmişi
Bölüm başlığı “Her dosyadaki sürüm geçmişi”
Her Kaydetme, sürümlendirilmiş bir anlık görüntü oluşturur. Geçmiş kenar çubuğunu herhangi bir düzenleyicide açın, geriye kaydırın ve geri yükleyin. Adlandırılmış “Sürümü kaydet” girişleri sonsuza kadar saklanır; Anonim tasarrufların geçerliliği sona erer (30 gün VEYA 50 sürüm, hangisi daha fazla sonuç verirse). Uç nokta dosya türünden bağımsızdır; notlar, ofis, beyaz tahtaların tümü aynı tesisatı kullanır.
Anahtarlarınız size ait
Bölüm başlığı “Anahtarlarınız size ait”
Cihaz başına Ed25519 anahtar çiftine sahip çoklu cihaz (ayrı ayrı iptal edilebilir). Hesap kurtarma için ikinci faktör olarak ikiye katlanan 24 kelimelik BIP39 kurtarma ifadesi. İsteğe bağlı TOTP 2FA. Seçilen iletişim durumu rengi, her sekmede notlarda ve ofis düzenleyicilerinde sizi takip eder.
Sürekli kurtarmalı federe E2EE Chat
Bölüm başlığı “Sürekli kurtarmalı federe E2EE Chat”
Doğrudan konuşmalar ve Kendime Not, libsignal; özel gruplar RFC 9420 OpenMLS kullanır. Yanıtlar, tepkiler, gönderen tarafından doğrulanan düzenleme ve silmeler, teslim/okundu durumu, kaybolan mesajlar, yerel arama ve elle tembel indirilen şifreli medya desteklenir. Her kalıcı görüntü geçmişi değişikliği, IndexedDB destekli şifreli yedek kuyruğuna girer. Tam tarayıcı kaybından sonra temiz bir kurulum, sunucu tarafından onaylanmış korunan geçmişi otomatik olarak doğrular ve geri yükler; cihaz anahtarlarını, ratchet/MLS durumunu, bekleyen gönderimleri veya alındıları geri yüklemez. Cihazdan cihaza geçmiş aktarımı desteklenmez.
Teknoloji Yığını
Bölüm başlığı “Teknoloji Yığını”| Katman | Teknoloji |
|---|---|
| Arka uç | Rust, Axum 0.7 (HTTP + WebSocket), sqlx (Postgres), aws-sdk-s3, PostgreSQL 16 |
| CLI / kripto | Rust — dryoc + RustCrypto (Argon2id, XChaCha20-Poly1305 AEAD, Ed25519, NaCl kutusu / gizli kutu / gizli akış); clap CLI |
| Ön Uç | React 18, TypeScript 5.4, Vite 8, Redux Araç Takımı 2, TailwindCSS + Radix UI |
| Ön uç kripto | libsodium-wrappers-sumo — Argon2id, XChaCha20-Poly1305 AEAD, Ed25519, NaCl kutusu / gizli kutu / gizli akış |
| Gerçek zamanlı iş birliği | Yjs 13 + y-codemirror.next (notlar); OnlyOffice + x2t WASM (ofis); @excalidraw/excalidraw (beyaz tahtalar); çerçeve başına AEAD zarflı sunucu aktarıcısi |
| Chat | libsignal doğrudan/Kendime Not, OpenMLS özel gruplar, IndexedDB durumu ve sürekli E2EE geçmiş/medya yedeği |
| Depolama | SeaweedFS (S3 uyumlu) |
| Altyapı | Docker Compose, Nginx (TLS sonlandırma + statik varlık sunumu) |
| Test | Oyun yazarı (e2e), cargo test (Rust birimi + kripto vektörleri), Vitest (ön uç birimi) |
Lisans ve marka
Bölüm başlığı “Lisans ve marka”AGPL-3.0-only — Telif Hakkı (c) 2026 Alperen Albayrak. Bkz. LICENSE.
frontend/public/onlyoffice/ altındaki OnlyOffice alt ağacı ve frontend/src/components/editors/office/ içindeki kutup ↔ OnlyOffice köprüsü AGPL-3.0 veya üzeri lisanslıdır (böylece OnlyOffice istemcisine bağlanabilirler). Tam lisans sınırı: frontend/public/onlyoffice/LICENSE.md.
kutup adı, üç elmas logosu ve diğer marka varlıkları AGPL tarafından verilmemektedir — sormadan neyin sorun olmayacağını (makaleler, entegrasyon referansları, ekran görüntüleri) ve neyin izin gerektirdiğini (ürün satmak, adımız altında çatal dağıtmak) görmek için TRADEMARK.md adresine bakın.
Sonraki adımlar
Bölüm başlığı “Sonraki adımlar”- Hızlı Başlangıç — Docker Compose ile çalışan bir Kutup örneği edinin.
- Kendi Sunucunda Barındırma — TLS, yedeklemeler, ters proxy’ler ve üretim için ortam değişkenleri.
- Mimari — anahtar hiyerarşisi, oturum açma akışı, federasyon modeli, depolama katmanı ve aktarım zarfı spesifikasyonu.