Obsidian için açık kaynaklı senkronizasyon eklentisi Synch’i geliştiriyorum.
Obsidian Sync’e benzer bir deneyimi açık kaynak olarak sunabilir miyiz diye başlayıp geliştirmeye koyuldum.
Hedefim; hızlı senkronizasyon, E2EE, sürüm geçmişi ve kendi başınıza dağıtabileceğiniz bir Obsidian Sync alternatifi.
Bu, bir Obsidian eklentisi olarak çalıştığı için ayrı bir uygulama kurmanız gerekmiyor; Obsidian’ın çalıştığı masaüstü/mobil ortamlarda kullanılabiliyor.
Şu anda desteklenen özellikler şunlar:
- Dosya içeriğini ve yol meta verilerini yerelde şifreleyip ardından yükleme
- Birden fazla cihaz arasında değişiklikleri birkaç saniye içinde senkronize etme
- Sürüm geçmişi
- Silinen dosyaları geri yükleme
- Dosya çakışması olduğunda otomatik birleştirme
Teknik olarak Cloudflare Workers + Durable Objects + R2 üzerinde çalışıyor.
- İstemci tarafında dosya içeriği ve yol meta verileri şifrelenip ardından yükleniyor.
- Sunucu yalnızca şifrelenmiş blob’ları ve senkronizasyon meta verilerini saklıyor.
- Durable Objects, vault bazında senkronizasyon durumunu ve değişiklik sırasını yönetmek için kullanılıyor.
- Dosya gövdesi ve sürüm geçmişi R2’de saklanıyor.
Kendi başına dağıtmak isteyenler için, Cloudflare ücretsiz hesabıyla kurulabilen tek tıkla dağıtım seçeneğini de hazırladım.
Dağıtımla uğraşmak istemeyenler ise hosted server üzerinden önce basitçe test edebilir.
GitHub: https://github.com/hjinco/synch
13 yorum
Self-hosting rehberine bakıp Cloudflare’a kaydoldum, R2’yi etkinleştirdim ve aynı şekilde adım adım takip etmişim gibi görünüyor,
ama senkronizasyon çalışmıyor.. ağlıyorum neyi yanlış yaptığımı bilmiyorum
Oo.. nasıl yapacaklar diye düşünmüştüm, güzel olmuş! Ama tamamen Cloudflare’a bağlı olması biraz! üzücü. haha
Daha önce Google Drive/DriveSync ile kullanırken bir şeyler eksik geliyordu (son verinin başka bir cihaz tarafından silinmiş olması ya da çakışma çıkması gibi..), bu yüzden Obsidian Sync’i düşünüyordum; sanırım bir denemem gerekecek! Teşekkürler.
Self-hosting ile hesap oluşturdum ama aynı hesapla giriş yapamıyorum.
Muhtemelen şifreyi benim unutmamdan kaynaklanıyordur^^
Ama şifreyi sıfırlamanın bir yolu yok gibi görünüyor.
Mecburen github repo’sunu ve workers’ları tamamen silip yeniden kuruyorum.
Bu sefer de garip bir şekilde, üye olurken hesabın zaten var olduğu söyleniyor..
workersoluştururkend1ver2de otomatik olarak oluşturuluyor; bu yüzden bağlı oland1ver2yi de silmeniz gerekecek gibi görünüyor.Söylediğiniz gibi yapınca çözüldü. Teşekkür ederim.
Self-hosting de ücretli mi?
Hayır, sadece bir Cloudflare hesabınızın olması yeterli. https://synch.run/ko/self-hosting rehberine bakabilirsiniz.
Ooo, oldukça iyi cilalanmış görünüyor.
Ama uzak bir vault oluşturup senkronizasyonu 2 cihazda yaptığımda, her birinin klasör ağacında bir vault daha oluşuyor ve onun altında da asıl klasör ağacı yinelenmiş şekilde görünüyor. Bunun normalde böyle olması mı gerekiyor?
Aslında normalde böyle çalışması gerekmiyor.
Bu durumu ne ben ne de beta test kullanıcılarımız yeniden üretebildik; uygunsanız lütfen
contact@synch.runadresine e-posta gönderin ya da GitHub issue olarak bırakın. Daha ayrıntılı inceleyip yardımcı olalım.vaultu silmeye çalıştım ama bir hata oluşuyor gibi görünüyor.silme başarısız - coordinator purge 500 durumuyla başarısız oldu
Obsidian LiveSync'ten farkı nedir?
LiveSync, CouchDB tabanlı olduğu için self-hosting açısından daha genel amaçlı kullanım sunarken, Synch Cloudflare’a bağımlı bir yapıya sahip.
Buna karşılık odak noktamız, sunucu kurulumundan anlamayan kişilerin bile yalnızca ücretsiz bir Cloudflare hesabıyla tek bir düğmeye basarak dağıtım yapıp hemen kullanabilmesini sağlamak oldu.