18 puan yazan hyeongjin 13 일 전 | 13 yorum | WhatsApp'ta paylaş

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

 
yinn27 7 일 전

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

 
nokdu 8 일 전

Oo.. nasıl yapacaklar diye düşünmüştüm, güzel olmuş! Ama tamamen Cloudflare’a bağlı olması biraz! üzücü. haha

 
rkjun 12 일 전

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.

 
grollcake 13 일 전

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..

 
hyeongjin 13 일 전

workers oluştururken d1 ve r2 de otomatik olarak oluşturuluyor; bu yüzden bağlı olan d1 ve r2yi de silmeniz gerekecek gibi görünüyor.

 
grollcake 13 일 전

Söylediğiniz gibi yapınca çözüldü. Teşekkür ederim.

 
kurthong 13 일 전

Self-hosting de ücretli mi?

 
hyeongjin 13 일 전

Hayır, sadece bir Cloudflare hesabınızın olması yeterli. https://synch.run/ko/self-hosting rehberine bakabilirsiniz.

 
grollcake 13 일 전

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?

 
hyeongjin 13 일 전

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.run adresine e-posta gönderin ya da GitHub issue olarak bırakın. Daha ayrıntılı inceleyip yardımcı olalım.

 
grollcake 13 일 전

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

 
calofmijuck 13 일 전

Obsidian LiveSync'ten farkı nedir?

 
hyeongjin 13 일 전

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.