> /home/jd

Syncthing Mobile Sync Setup (P2P Vault)

Establecer sincronización Peer-to-Peer de baja latencia entre estación de trabajo principal y dispositivos móviles.

📌 Propósito

🔙 Contexto Principal: Esta guía forma parte de la arquitectura detallada en Infrastructure MOC.

Establecer un túnel de sincronización Peer-to-Peer (P2P) de baja latencia entre la estación de trabajo principal y los dispositivos móviles. Esta configuración forma la “Capa Viva” de la arquitectura 3-2-2 de la infraestructura, permitiendo que las notas creadas en el escritorio aparezcan instantáneamente en la tablet, y viceversa, sin depender de los tiempos de sincronización de la nube de Dropbox.

Estrategia Clave: Aislar la sincronización. En lugar de sincronizar los 5GB enteros de Dropbox hacia el dispositivo móvil, se envía únicamente la carpeta específica de la bóveda de Obsidian (~50MB). Esto garantiza un entorno móvil ultraligero que no drena la batería ni satura el almacenamiento táctil.


🛠️ Configuración Paso a Paso (Hackintosh ↔ Android)

Fase 1: El Apretón de Manos (Vinculación de Dispositivos)

Para que los dispositivos puedan compartir información de forma cifrada, primero deben reconocerse mutuamente.

  1. En el equipo origen (Hackintosh): Abrir la interfaz web de Syncthing. Ir a ⚙️ Acciones > Mostrar ID para revelar el código QR del dispositivo.
  2. En el dispositivo destino (Tablet Android - App Syncthing-Fork): Ir a la pestaña Dispositivos, presionar +, y usar el escáner de cámara para leer el código QR del monitor. Asignar un nombre identificativo (ej. “Main-Hackintosh”).
  3. Aprobación: En el Hackintosh aparecerá una notificación de solicitud entrante. Hacer clic en Añadir dispositivo y guardar.

Fase 2: La Oferta y el Versionado Asimétrico

Se debe declarar qué carpeta viajará por el túnel y cómo se protegerán los datos ante borrados accidentales desde la pantalla táctil.

  1. En el Hackintosh, hacer clic en + Añadir carpeta.
  2. Pestaña General: Asignar una etiqueta clara (Boveda-Obsidian) y establecer la ruta exacta local (ej. ~/Dropbox/Obsidian/mi-boveda).
  3. Pestaña Compartir: Marcar la casilla del dispositivo destino (Tablet-SM-P613).
  4. Pestaña Versionado de Archivos (El Búnker): * En el Hackintosh (Servidor Fuerte): Configurar Versionado Simple de Archivos y retener 5 versiones. Esto crea una red de seguridad local oculta (.stversions) en caso de que se borre algo desde la tablet.
    • En la Tablet (Cliente Ligero): Se debe forzar a Sin versionado (No Versioning) para evitar acumular archivos basura en el almacenamiento de Android.

Fase 3: Aterrizaje en Android

  1. Al recibir la notificación de carpeta compartida en Android, abrir la solicitud.
  2. Hacer clic en el icono de engranaje ⚙️ junto a Directory.
  3. Usar el explorador nativo de Android para crear una carpeta de destino limpia (ej. Documentos/Boveda) y seleccionarla.
  4. Aceptar la creación. La primera sincronización de los megabytes comenzará inmediatamente.

🚨 Troubleshooting: El Error de Sincronización al 99%

El Síntoma: La interfaz del equipo origen marca un archivo minúsculo (ej. 7 Bytes) atascado al 99% y el estado global nunca pasa a “Actualizado”.

El Diagnóstico: Al revisar los logs de “Elementos no sincronizados”, se detectó un choque de reglas de nombres de archivo entre UNIX y Android. macOS permite el uso de comillas dobles (") en los nombres de las notas, pero el sistema de archivos de Android prohíbe terminantemente ciertos caracteres especiales (", :, *, ?, <, >, |).

Ejemplo de archivos conflictivos detectados:

  • 03_Investigacion_"Autopsia_de_un_Sistema".md

La Solución: Renombrar las notas desde el equipo de origen (Hackintosh) para eliminar los caracteres ilegales (reemplazar comillas dobles por simples ' o guiones bajos _). Una vez renombrados, Syncthing propaga el cambio automáticamente y el estado de la red pasa a 100% verde (“Actualizado”).


Nota de Expansión: Esta misma lógica P2P se utilizará a futuro para interconectar el teléfono celular y automatizar transferencias de fotos u otros documentos clave hacia la estación base.