18 puntos por hyeongjin 13 일 전 | 13 comentarios | Compartir por WhatsApp

Estoy creando Synch, un plugin de sincronización de código abierto para Obsidian.

Lo empecé preguntándome si sería posible crear una experiencia como Obsidian Sync, pero en código abierto.
El objetivo es ofrecer sincronización rápida, E2EE, historial de versiones y una alternativa a Obsidian Sync que se pueda desplegar por cuenta propia.

Como funciona como plugin de Obsidian, no hace falta instalar una app aparte, sino que puede usarse en entornos de escritorio y móviles donde funcione Obsidian.

Actualmente, estas son las funciones compatibles:

  • Cifrado local del contenido de los archivos y de los metadatos de ruta antes de subirlos
  • Sincronización de cambios entre varios dispositivos en pocos segundos
  • Historial de versiones
  • Recuperación de archivos eliminados
  • Fusión automática cuando hay conflictos entre archivos

A nivel técnico, funciona sobre Cloudflare Workers + Durable Objects + R2.

  • El cliente cifra el contenido de los archivos y los metadatos de ruta antes de subirlos.
  • El servidor solo almacena blobs cifrados y metadatos de sincronización.
  • Durable Objects se usa para gestionar el estado de sincronización por vault y el orden de los cambios.
  • El contenido de los archivos y el historial de versiones se almacenan en R2.

Para quienes quieran desplegarlo por su cuenta, también preparé un despliegue con un clic que se puede hacer con una cuenta gratuita de Cloudflare.
Quienes no quieran complicarse con el despliegue pueden probarlo primero de forma sencilla con un hosted server.

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

13 comentarios

 
yinn27 7 일 전

Parece que seguí exactamente la guía de self-hosting, como registrarme en Cloudflare y activar R2, pero no se sincroniza... snif, snif. No sé qué hice mal.

 
nokdu 8 일 전

Oh... me preguntaba cómo lo habrán hecho, ¡pero está bueno! Solo que está algo atado a Cloudflare, así que da un poquito de pena. Jaja

 
rkjun 12 일 전

Como usaba la combinación de Google Drive/DriveSync y sentía que le faltaba algo (por ejemplo, que los datos más recientes terminaban perdiéndose por otro dispositivo, o había conflictos...), estaba considerando Obsidian Sync, así que creo que voy a probarlo. ¡Gracias!

 
grollcake 13 일 전

Creé una cuenta con self-hosting, pero no puedo iniciar sesión con esa misma cuenta.
Supongo que fue un error mío y olvidé la contraseña ^^
Pero no hay forma de restablecer la contraseña.
No me quedó de otra que borrar el repo de GitHub y los workers, y volver a configurarlo.
Pero esta vez, extrañamente, al registrarme me dice que la cuenta ya existe..

 
hyeongjin 13 일 전

Al crear workers, también se crean automáticamente d1 y r2, así que probablemente también tengas que eliminar los d1 y r2 conectados.

 
grollcake 13 일 전

Lo resolví tal como me dijiste. Gracias.

 
kurthong 13 일 전

¿El self-hosting también es de pago?

 
hyeongjin 13 일 전

No, solo necesitas una cuenta de Cloudflare. Puedes ver la guía en https://synch.run/ko/self-hosting.

 
grollcake 13 일 전

Oh~ se ve bastante pulido.

Pero cuando creé una bóveda remota y sincronizé entre 2 dispositivos, en el árbol de carpetas de cada uno apareció una bóveda adicional y debajo se duplicó el árbol de carpetas original. ¿Se supone que debe funcionar así?

 
hyeongjin 13 일 전

No es un comportamiento que normalmente ocurra.

Ese fenómeno no se pudo reproducir ni en mi caso ni en el de los beta testers, pero si le parece bien, por favor envíe un correo a contact@synch.run o deje un issue en GitHub. Lo revisaremos con más detalle y le ayudaremos.

 
grollcake 13 일 전

Parece que ocurre un error al intentar eliminar el vault.

Falló la eliminación: la purga del coordinador falló con estado 500

 
calofmijuck 13 일 전

¿En qué se diferencia de Obsidian LiveSync?

 
hyeongjin 13 일 전

LiveSync está basado en CouchDB, así que permite un self-hosting más versátil, mientras que Synch tiene una arquitectura dependiente de Cloudflare.
En cambio, nos enfocamos en que incluso quienes no saben configurar un servidor puedan desplegarlo con un solo botón usando nada más una cuenta gratuita de Cloudflare y empezar a usarlo de inmediato.