# Noterich P2P Sync Kılavuzu: Bulut Olmadan Cihazlar Arası Eşleştirme > **Notlarınızı cihazlar arasında güvenli bir şekilde paylaşın — bulut depolama gerekmez.** Veri gizliliğinin her zamankinden daha önemli olduğu bu dönemde, Noterich cihazlar arası eşleştirme konusunda yenilikçi bir çözüm sunuyor. **P2P (Eşten Eşe) Eşleştirme** özelliğimiz, herhangi bir bulut sunucusuna bağlı olmadan cihazlar arasında sorunsuz not paylaşımı sağlar. Verileriniz her zaman size aittir. ## Neden P2P Eşleştirmeyi Seçmeliyiz? Geleneksel not alma uygulamaları verilerinizi merkezi sunucularda saklar. Bu durum, gizlilik riskleri, abonelik maliyetleri ve üçüncü taraf altyapıya bağımlılık yaratır. Noterich ise farklı bir yol izler: ```mermaid graph LR A[Bir Cihazınız] <-->|Doğrudan Bağlantı| B[Bir Diğer Cihazınız] C[Bulut Sunucusu] -.->|Gerekli Değil| A C -.->|Gerekli Değil| B style A fill:#4CAF50,color:#fff style B fill:#4CAF50,color:#fff style C fill:#9E9E9E,color:#fff,stroke-dasharray: 5 5 ``` ### Önemli Avantajlar - **🔒 Gizlilik Öncelikli**: Notlarınız asla üçüncü taraf sunuculara temas etmez - **⚡ Hızlı ve Doğrudan**: Cihazlar doğrudan iletişim kurarak daha hızlı eşleştirme sağlar - **💰 Abonelik Gerekmez**: Ücretli seviyeler olmadan ücretsiz P2P eşleştirme - **🌐 Her Yerde Çalışır**: Yerel ağ veya internet üzerinden eşleştirme - **📱 Çapraz Platform**: Masada, dizüstü bilgisayarda, tablette ve mobil cihazlarda çalışır ## P2P Eşleştirme Nasıl Çalışır? Noterich, **WebRTC teknolojisi** ve **PeerJS**'i kullanarak cihazlarınız arasında doğrudan bağlantılar kurar. Eşleştirme başlattığınızda: ```mermaid sequenceDiagram participant D1 as Cihaz A (Gönderici) participant S as Sinyalleştirme Sunucusu participant D2 as Cihaz B (Alıcı) D1->>S: Bağlantı ID'sini Talep Et S-->>D1: Oda ID'sini Üret D1->D2: Bağlantı linkini Paylaş (QR/URL) D2->S: Oda ID'siyle Bağlan S-->>D2: Eş bağlantı kurulur D1->D2: Şifrele ve notları gönder D2->D2: Şifre kaldır ve notları içe aktar D1,D2: Doğrudan şifreli transfer<br/>Veri sunucuda saklanmaz ``` ### Arka Planda Kullanılan Teknoloji Noterich'in P2P uygulaması şunları kullanır: 1. **PeerJS Kütüphanesi**: Tarayıcılar arası iletişim için WebRTC karmaşıklığını yönetir 2. **AES-GCM Şifreleme**: Not verileriniz için askeri seviyede şifreleme 3. **PBKDF2 Anahtar Üretimi**: Güvenli parola tabanlı şifre anahtarı üretimi 4. **MessagePack Seriyeleme**: Hızlı transferler için veri dosyalarının verimli kodlanması 5. **IndexedDB Depolama**: Çevrimdışı erişim için yerel öncelikli veritabanı ## P2P Eşleştirme ile Başlangıç ### Ön Koşullar Başlamadan önce şunları sağladığınızdan emin olun: - ✅ Her iki cihazda da Noterich yüklü - ✅ Her iki cihaz da internete bağlı (veya aynı yerel ağa) - ✅ Modern bir web tarayıcısı (Chrome, Firefox, Edge, Safari) ### Adım 1: Kaynak Cihazdan Paylaşımı Başlatın 1. Noterich'ta paylaşmak istediğiniz notu açın 2. Araç çubuğundaki **Paylaş** butonuna tıklayın 3. **"P2P Paylaş"** seçeneğini seçin 4. (İsteğe Bağlı) Ek güvenlik için bir şifre belirleyin - Şifreler en az 8 karakter olmalı - AES-256-GCM şifrelemesi kullanılır 5. P2P sunucusunun başlatılmasını bekleyin ```mermaid graph TD A[Kaynak Notu Aç] --> B[Paylaş Butonuna Tıklayın] B --> C[P2P Paylaş seçin] C --> D{Şifre Belirleyecek misiniz?} D -->|Evet| E[Şifre Girerek] D -->|Hayır| F[Şifrelemeyi Atlayın] E --> G[P2P Sunucusunu Başlat] F --> G G --> H[Paylaş Linki ve QR Kodu Üret] ``` ### Adım 2: Bağlantı Linkini Paylaşın P2P sunucusu başladığında, Noterich şunları üretir: - **Bağlantı parametrelerini içeren benzersiz bir paylaşılabilir link** - **Hızlı mobil tarama için bir QR kodu** Link formatı şu şekilde görünür: ``` https://noterich.com/#dbshare=<infoHash>&server=<signaling-server> ``` **Paylaşım Yöntemleri:** | Yöntem | En İyi Kullanım | Nasıl Yapılır | |--------|----------|--------| | 🔗 Linki Kopyalayın | E-posta, mesajlaşma uygulamaları | "Linki Kopyala" butonuna tıklayın | | 📱 QR Kodu | Mobil cihazlar | Cihaz kamerasıyla tarayın | | 📧 E-posta | Uzak işbirlikçiler | Linki e-postaya yapıştırın | ### Adım 3: Alıcı Cihazda Alın Alıcı cihazda: 1. **Paylaş linkini açın** - Doğrudan linki tıklayın, VEYA - Cihaz kamerasıyla QR kodunu tarayın 2. **Gelen notları inceleyin** - Not başlıklarını ve meta verileri görün - Gönderici bilgilerini kontrol edin 3. **Şifre girin** (eğer şifreliyse) - Gönderici tarafından verilen şifreyi girin - Veriler cihazınızda yerel olarak şifrelenir 4. **Hedef çalışma alanını seçin** - Mevcut bir çalışma alanı seçin, VEYA - İçe aktarılan notlar için yeni bir çalışma alanı oluşturun 5. **İçe aktarımı onaylayın** - Notlar şifrelenip IndexedDB'ye kaydedilir - Arama dizini otomatik olarak yenilenir ```mermaid graph LR A[Kaynak Notu Aç] --> B[Göndericiye Bağlan] B --> C{Şifreli mi?} C -->|Evet| D[Şifre Girerek] C -->|Hayır| E[Metadataları Al] D --> E E --> F[Notları Önizle] F --> G[Çalışma Alanını Seç] G --> H[İçe Aktar ve Dizin Yap] H --> I[Eşleştirme Tamamlandı!] style I fill:#4CAF50,color:#fff ``` ## İleri Seviye Özellikler ### Şifreli Transferler Güvenli notlar için, Noterich isteğe bağlı uçtan uca şifreleme sunar: **Şifreleme Süreci:** ```javascript // Şifre → Şifre Anahtarı (PBKDF2) password + salt → deriveKey() → AES-256-GCM anahtarı // Not Verileri → Şifrelenmiş Buffer noteData + key + iv → encrypt() → encryptedBuffer // Transfer Paketi { encryptedBuffer: ArrayBuffer, salt: Uint8Array, // Anahtar üretimi için iv: Uint8Array // Başlangıç vektörü } ``` **Güvenlik Özellikleri:** - 🔐 Anahtar üretimi için 100.000 PBKDF2 yinelemesi - 🔐 Her transfer için rastgele salt ve IV - 🔐 AES-256-GCM doğrulanmış şifreleme - 🔐 Şifre asla aktarılmaz — sadece yerel olarak kullanılır ### Toplu Not Eşleştirme Birden fazla notu verimli bir şekilde transfer edin: 1. **Veritabanı Transferi**'ni ayarlardan kullanın 2. **"P2P Eşleştirme"** modunu seçin 3. Eşleştirilecek notları seçin 4. Alıcı, seçim seçenekleriyle toplu önizleme alır **Performans Optimizasyonu:** - Notlar 512KB'lık parçalara bölünerek transfer edilir - Boşta işlem sayesinde UI donma önlenir - Bit düzeyinde ilerleme takibi - Veriler bozulmadan her zaman iptal edilebilir ### Çelişki Çözümü Her iki cihazda mevcut notları eşleştirirken: ```mermaid graph TD A[Çelişki Tespiti] --> B[Zamanlamaları Karşılaştır] B -->|Yerel Daha Yeni| C[Yerel Sürümünü Koru] B -->|Uzak Daha Yeni| D[Çelişki Uyarısı Göster] D --> E[Versiyon Seç] E --> F[Yerel] E --> G[Uzak] E --> H[Manuel Birleştir] B -->|Her İkisi De Silindi| I[Atla] style C fill:#2196F3,color:#fff style F fill:#2196F3,color:#fff style G fill:#4CAF50,color:#fff style H fill:#4CAF50,color:#fff ``` **Çelişki Türleri ve Çözümleri:** - `local-newer`: Sizin sürümünüz daha yeni - `remote-newer`: Gelen sürüm daha yeni - `local-deleted`: Bu notu yerel olarak sildiniz - `remote-deleted`: Not gönderici cihazında silindi - `remote-restored`: Daha önce silinen not geri getirildi ## Sorun Giderme ### Yaygın Sorunlar ve Çözümler #### ❌ "PeerJS kütüphanesi yüklenmedi" **Neden**: Ağ engellemesi veya PeerJS CDN'den dolayı **Çözümler:** 1. İnternet bağlantısını kontrol edin 2. Firewall'ın WebRTC bağlantılarını izin verdiğinden emin olun 3. Alternatif bir ağ (mobil hotspot) deneyin 4. Tarayıcının WebRTC'yi desteklediğinden emin olun #### ❌ "Bağlantı Süresi Sınırlı" **Neden**: NAT/Firewall doğrudan bağlantıyı engelliyor **Çözümler:** 1. Her iki cihazın aynı ağa bağlı olması yardımcı olur 2. Geçici olarak VPN'yi devre dışı bırakın 3. Yönlendirici WebRTC ayarlarını kontrol edin 4. Mobil bağlantılar için QR kodu kullanın #### ❌ "Şifreleme Başarısız Oldu" **Neden**: Yanlış şifre veya bozuk transfer **Çözümler:** 1. Şifrenin tam olarak eşleştiğinden emin olun (karakterlere duyarlı) 2. Göndericiden yeni bir paylaşım linki talep edin 3. Transfer sırasında stabil bir bağlantı sağlayın 4. Daha küçük parti boyutları deneyin #### ❌ "Eşleştirme Devam Ediyor" Hatası **Neden**: Birden fazla eşleştirme girişi **Çözümler:** 1. Mevcut eşleştirme tamamlanana kadar bekle 2. Diğer Noterich pencerelerini/kapaklarını kapatın 3. Sayfayı yenileyin ve tekrar deneyin 4. Sürekli devam ediyorsa tarayıcı yedeklemesini temizleyin ### Bağlantı Durumu İşaretleyicileri | Durum | Anlamı | Hareket | |--------|---------|--------| | 🔵 Bağlantı Kuruluyor | Peer bağlantısı kuruluyor | 5-10 saniye bekleyin | | 🟡 Karşılaştırma | Not farklılıklarının analizi | Normal süreç | | 🟠 Kullanıcıdan Onay Gerekli | Şifre veya onay gerekiyor | Modül diyaloglarını kontrol edin | | 🟢 İşleme | Notların veritabanına aktarılması | Pencereyi kapatmayın | | ✅ Başarılı | Eşleştirme tamamlandı | Notları kullanmaya hazır | | 🔴 Hata | Bağlantı veya transfer başarısız | Sorun giderme kontrol edin | ## Güvenlik İpuçları ### Verilerinizi Koruma P2P eşleştirme doğası gereği güvenli olsa da, şu kurallara uyun: 1. **Güçlü Şifreler Kullanın** - En az 8 karakter (12+ önerilir) - büyük harfler, küçük harfler, rakamlar ve semboller karışımı - Diğer hizmetlerden şifreleri tekrar kullanmayın 2. **Alıcıları Kontrol Edin** - Sadece güvenilir cihazlarla bağlantı paylaşın - Fiziksel yakınlık transferleri için QR kodları kullanın - Kamu kanallarında bağlantı paylaşmaktan kaçının 3. **Aktif Bağlantıları İzleyin** - Eşleştirme sırasında bağlı cihazları kontrol edin - Başarılı transferden sonra bağlantıyı kesin - Paylaşılan bağlantılar tehlikeye girerse iptal edin 4. **Düzenli Yedekleme** - Önemli notları düzenli olarak dışa aktarın - Yedeklemeleri ayrı, güvenli bir yerde saklayın - Yedekleme işlemlerini düzenli olarak test edin ### Şifreleme Sınırları Anlamak **Neyin Şifrelenmiş:** - ✅ Not içeriği (metin, biçimlendirme, meta veriler) - ✅ Ekler ve gömülmüş medya - ✅ Transfer sırasındaki veritabanı yapısı **Neyin Şifrelenmemiş:** - ⚠️ Bağlantı meta verileri (zamanlama, veri boyutu) - ⚠️ IP adresleri (sinyalleştirme sunucusu tarafından görülebilir) - ⚠️ Cihaz tanımları (bağlantı yönlendirme için) ## Performans İpuçları ### Eşleştirme Hızını Optimize Etme 1. **Ağ Koşulları** - Aynı yerel ağda en hızlı transferler - 5GHz Wi-Fi, 2.4GHz'den daha iyidir - Masaüstü cihazlar için kablolu Ethernet 2. **Parti Boyutları** - Büyük transferler: Daha küçük partilere bölün - İlerleme göstergesini izleyin - İlerleme durduysa iptal edip tekrar deneyin 3. **Tarayıcı Performansı** - Eşleştirme sırasında Noterich penceresini aktif tutun - Gereksiz tarayıcı pencerelerini kapatın - En yeni tarayıcı sürümüne yükseltin 4. **Cihaz Kaynakları** - Yeterli depolama alanına sahip olduğundan emin olun - Bellek yoğun uygulamaları kapatın - Eşleştirme yavaşlarsa tarayıcıyı yeniden başlatın ### Bellek Yönetimi Noterich, tarayıcı çökmesini önlemek için akıllı parti ayarlamaları uygular: ```javascript // setTimeout ile asenkron parti işleme async function asyncBatchProcessor(items, processor, batchSize = 10) { // 10'lık partiler halinde işlemler // 10ms aralıklarla kontrol sağlar // Büyük içe aktarma işlemleri sırasında ana işlem bloke eder } ``` **Öneriler:** - Tek seferde maksimum 100 not transfer edin - Büyük parti eşleştirmeler arasında 30 saniye bekleyin - Tarayıcı yedeklemesini düzenli olarak temizleyin ## Sıkça Sorulan Sorular ### S: Daha fazla cihaza eşleştirme yapabilir miyim? **Cevap:** Evet! Her cihaz çifti için ayrı P2P oturumları başlatın. Çoklu cihaz işlerinde: 1. Cihaz A → Cihaz B 2. Sonra Cihaz B → Cihaz C 3. Veya Cihaz A'yı diğerleri için merkez olarak kullanın ### S: P2P eşleştirme çevrimdışı çalışır mı? **Cevap:** P2P, sinyalleştirme sunucusu bağlantısı için ilk bağlantıda internete ihtiyaç duyar. Bağlantı kurulduktan sonra: - ✅ Yerel ağ transferleri internet olmadan çalışır - ✅ Veri cihazlar arası doğrudan aktarılır - ❌ İlk bağlantı için sinyalleştirme sunucusuna erişim gereklidir ### S: Eşleştirme kesildiğinde ne olur? **Cevap:** Noterich, kesinti durumlarını sorunsuz halleder: - Kısmen aktarılan notlar atılır - Bozulmuş veriler veritabanınıza girmesine izin verilmez - Sadece eşleştirme işlemi yeniden başlatılır - Zaten eşleştirilmiş notlar etkilenmez ### S: Başka bir Noterich hesabıyla eşleştirme yapabilir miyim? **Cevap:** Kesinlikle! P2P eşleştirme herhangi bir Noterich kullanıcısı arasında çalışır: - Kendi notlarınızı işbirlikçilerle paylaşın - Hesap eşleştirme gerekmez - Her transfer bağımsız ve güvenlidir - Tek seferlik not paylaşımı için mükemmeldir ### S: Dosya boyutu sınırlaması var mı? **Cevap:** Pratik sınırlamalar şunlardır: - Tarayıcı bellek kullanımı - Ağ stabilitesi - Önerilen maksimum: Her seferinde 50MB - Daha büyük transferler birden fazla parti halinde yapılır ### S: Paylaşım linkleri ne kadar süreyle geçerli? **Cevap:** Paylaşım linkleri oturum tabanlıdır: - Göndericinin Noterich penceresi açıkken geçerli - Gönderici penceresini/kapattığında geçersiz olur - Güvenlik için tek kullanımlık olarak önerilir - Her transfer için yeni bir link üretilir ## Karşılaştırma: P2P vs Bulut Eşleştirme ```mermaid quadrantChart title "Eşleştirme Yöntemi Karşılaştırması" x-axis "Daha Az Gizlilik" --> "Daha Fazla Gizlilik" y-axis "Daha Az Kontrol" --> "Daha Fazla Kontrol" quadrant-1 "Noterich P2P" quadrant-2 "Kaçının" quadrant-3 "Geleneksel Bulut" quadrant-4 "Merkezi Servisler" "Noterich P2P": [0.9, 0.9] "Geleneksel Bulut": [0.3, 0.4] "Merkezi Servisler": [0.4, 0.3] ```