18 Punkte von hyeongjin 13 일 전 | 13 Kommentare | Auf WhatsApp teilen

Ich entwickle Synch, ein Open-Source-Synchronisations-Plugin für Obsidian.

Ich habe damit angefangen, weil ich wissen wollte, ob sich ein Erlebnis wie mit Obsidian Sync als Open Source umsetzen lässt.
Das Ziel ist eine Alternative zu Obsidian Sync, die schnelle Synchronisierung, E2EE, Versionshistorie und Self-Hosting bietet.

Da es als Obsidian-Plugin funktioniert, muss keine separate App installiert werden; es kann in Desktop- und mobilen Umgebungen genutzt werden, in denen Obsidian läuft.

Derzeit werden folgende Funktionen unterstützt:

  • Dateiinhalte und Pfad-Metadaten lokal verschlüsseln und dann hochladen
  • Änderungen zwischen mehreren Geräten innerhalb weniger Sekunden synchronisieren
  • Versionshistorie
  • Gelöschte Dateien wiederherstellen
  • Automatisches Zusammenführen bei Dateikonflikten

Technisch läuft es auf Cloudflare Workers + Durable Objects + R2.

  • Der Client verschlüsselt Dateiinhalte und Pfad-Metadaten vor dem Upload.
  • Der Server speichert nur verschlüsselte Blobs und Synchronisations-Metadaten.
  • Durable Objects werden verwendet, um den Synchronisationsstatus pro Vault und die Reihenfolge von Änderungen zu verwalten.
  • Dateiinhalte und Versionshistorie werden in R2 gespeichert.

Für alle, die es selbst deployen möchten, habe ich auch ein One-Click-Deployment vorbereitet, das sich mit einem kostenlosen Cloudflare-Konto bereitstellen lässt.
Wer sich den Deployment-Aufwand sparen möchte, kann es zunächst einfach über einen Hosted Server testen.

GitHub: https://github.com/hjinco/synch

13 Kommentare

 
yinn27 7 일 전

Ich habe mir die Self-Hosting-Anleitung angesehen und scheinbar genau das Gleiche gemacht – bei Cloudflare registriert, R2 aktiviert usw.
Aber die Synchronisierung funktioniert nicht.. schluchz Ich weiß nicht, was ich falsch gemacht habe

 
nokdu 8 일 전

Oh … ich habe mich gefragt, wie man das umsetzen könnte, und das ist wirklich gut! Schade nur, dass alles an Cloudflare gebunden ist. haha

 
rkjun 12 일 전

Ich habe bisher mit Google Drive/DriveSync gearbeitet, war aber irgendwie nicht ganz zufrieden damit (die letzten Daten wurden von einem anderen Gerät überschrieben oder es kam zu Konflikten …). Deshalb habe ich über Obsidian Sync nachgedacht — ich glaube, ich werde es mal ausprobieren! Vielen Dank.

 
grollcake 13 일 전

Ich habe per Self-Hosting einen Account erstellt, kann mich aber mit demselben Account nicht einloggen.
Vermutlich habe ich einfach mein Passwort vergessen ^^
Allerdings gibt es offenbar keine Möglichkeit, das Passwort zurückzusetzen.
Notgedrungen habe ich daher das GitHub-Repo und die Workers alle gelöscht und richte jetzt alles erneut ein.
Diesmal wird beim Registrieren allerdings seltsamerweise angezeigt, dass der Account bereits existiert..

 
hyeongjin 13 일 전

Beim Erstellen von Workers werden wohl auch D1 und R2 automatisch angelegt, daher müsst ihr wahrscheinlich auch die verbundenen D1- und R2-Ressourcen löschen.

 
grollcake 13 일 전

Ich habe es wie beschrieben gemacht und das Problem gelöst. Danke.

 
kurthong 13 일 전

Ist Self-Hosting ebenfalls kostenpflichtig?

 
hyeongjin 13 일 전

Nein, man braucht nur ein Cloudflare-Konto. Schauen Sie einfach in den Leitfaden unter https://synch.run/ko/self-hosting.

 
grollcake 13 일 전

Oh~ der Reifegrad wirkt ziemlich hoch.
Allerdings habe ich einen Remote-Vault erstellt und die Synchronisierung auf zwei Geräten durchgeführt, und dabei ist in jedem Ordnerbaum jeweils noch ein weiterer Vault entstanden, darunter wurde der ursprüngliche Ordnerbaum doppelt angelegt. Ist das eigentlich so vorgesehen?

 
hyeongjin 13 일 전

Das ist eigentlich kein Verhalten, das standardmäßig so auftreten sollte.

Dieses Phänomen ließ sich weder bei mir noch bei den Beta-Testern reproduzieren. Wenn es für Sie in Ordnung ist, schicken Sie bitte eine E-Mail an contact@synch.run oder erstellen Sie ein GitHub-Issue. Wir prüfen das dann genauer und helfen Ihnen weiter.

 
grollcake 13 일 전

Ich wollte den Vault löschen, aber es tritt ein Fehler auf.

Löschen fehlgeschlagen – Coordinator-Purge mit Status 500 fehlgeschlagen

 
calofmijuck 13 일 전

Worin unterscheidet es sich von Obsidian LiveSync?

 
hyeongjin 13 일 전

LiveSync basiert auf CouchDB und ermöglicht dadurch ein universelleres Self-Hosting, während Synch strukturell an Cloudflare gebunden ist.
Stattdessen lag der Fokus darauf, es so zu gestalten, dass auch Menschen ohne Erfahrung mit dem Aufsetzen von Servern es mit nur einem kostenlosen Cloudflare-Konto per Knopfdruck bereitstellen und sofort nutzen können.