Syncthing

Syncthing – Sincronización P2P de código abierto que mantiene tus archivos privados y descentralizados

Descripción del programa Syncthing

Syncthing es una aplicación de sincronización de archivos continua, descentralizada y de código abierto que permite mantener carpetas sincronizadas entre dos o más dispositivos en tiempo real, sin pasar por ningún servidor central. Fue lanzado originalmente como una alternativa libre y privada a servicios propietarios como BitTorrent Sync (ahora Resilio Sync), con el objetivo de devolver a los usuarios el control absoluto sobre sus datos.

A diferencia de los servicios en la nube como Dropbox o Google Drive, Syncthing no sube tus archivos a servidores de terceros. En lugar de eso, establece conexiones directas y cifradas (peer-to-peer) entre tus dispositivos, de modo que los archivos viajan únicamente entre equipos que tú has autorizado. La comunicación se asegura mediante TLS, y cada dispositivo se identifica de forma única mediante un certificado criptográfico.

El proyecto está escrito en Go y es mantenido por una comunidad internacional de desarrolladores bajo una licencia open source. A diferencia de muchas soluciones comerciales, Syncthing no tiene coste alguno, no muestra publicidad, no realiza minería de datos y su código está disponible para ser auditado por cualquier experto en seguridad.

¿Necesitas sincronizar archivos entre tu PC, portátil, móvil y NAS sin depender de servicios en la nube ni pagar suscripciones?

Características clave de Syncthing

1. Sincronización descentralizada sin servidores centrales

El corazón de Syncthing es su arquitectura peer-to-peer. En lugar de enviar tus archivos a un servidor en la nube, los dispositivos se conectan directamente entre sí formando una malla (cluster). Esto tiene varias ventajas fundamentales:

  • Privacidad total: Tus datos nunca salen de tu control ni pasan por servidores de terceros.
  • Sin costes ocultos: No hay suscripciones ni límites de almacenamiento basados en planes de pago.
  • Resiliencia: La red continúa funcionando incluso si falla un dispositivo o se pierde la conexión a Internet, siempre que los dispositivos estén en la misma red local.

2. Transferencia eficiente mediante bloques (Block-based sync)

Syncthing divide los archivos en bloques pequeños, de forma similar al protocolo BitTorrent. Cuando un archivo se modifica, solo se transfieren los bloques que han cambiado, en lugar del archivo completo. Esto proporciona varias ventajas:

  • Ahorro de ancho de banda: Especialmente notable en archivos grandes o cuando solo se añaden pequeños fragmentos.
  • Reanudación de transferencias: Si la conexión se interrumpe, la sincronización se reanuda desde el punto en que se detuvo.
  • Carga compartida: Cuando hay más de dos dispositivos, los bloques pueden descargarse de múltiples fuentes en paralelo, acelerando la transferencia.

3. Cifrado de extremo a extremo con TLS

Todas las comunicaciones en Syncthing están protegidas por TLS (Transport Layer Security), el mismo estándar utilizado en la banca online y el comercio electrónico. Cada dispositivo se identifica mediante un certificado criptográfico único (Device ID), que es una cadena de caracteres derivada de una clave pública.

Para que dos dispositivos puedan sincronizarse, ambos deben conocer el ID del otro e intercambiar los certificados de forma explícita. Esto garantiza que solo los dispositivos que tú autorizas pueden conectarse, eliminando el riesgo de accesos no deseados.

4. Multiplataforma con cobertura universal

Syncthing está disponible para prácticamente cualquier sistema operativo moderno:

PlataformaDisponibilidad
WindowsCliente nativo (instalador) y versión portable
macOSCliente nativo
LinuxTodas las distribuciones (paquetes en repositorios oficiales)
AndroidCliente de la comunidad (Syncthing-Fork)
iOSAplicaciones de terceros como Mobius Sync (no hay cliente oficial)
NASPaquetes para Synology, QNAP, o mediante Docker
BSDFreeBSD, OpenBSD, NetBSD

Esta cobertura universal permite sincronizar archivos entre ordenadores de escritorio, servidores, dispositivos móviles y sistemas embebidos sin necesidad de adaptadores o conversiones.

5. Sincronización local sin conexión a Internet

Una de las características más valoradas por los usuarios es que Syncthing funciona sin conexión a Internet. Mientras los dispositivos estén conectados a la misma red local (Wi-Fi o Ethernet), la sincronización continúa operando con normalidad incluso si el router pierde la conexión al exterior. Esto es especialmente útil para:

  • Sincronizar archivos grandes en casa sin consumir datos de subida del ISP.
  • Trabajar en entornos con conectividad intermitente (viajes, zonas rurales).
  • Compartir archivos en una red local sin exponerlos a Internet.

6. Control de versiones y protección contra pérdidas

Syncthing incluye un sistema de control de versiones que permite recuperar versiones anteriores de los archivos, protegiendo contra modificaciones accidentales o eliminaciones. El usuario puede elegir entre varios modos de versionado:

  • Simple: Mantiene un número configurable de versiones antiguas.
  • Trash Can: Mueve los archivos reemplazados o eliminados a una carpeta específica.
  • Staggered: Conserva versiones con una frecuencia decreciente (cada hora durante un día, cada día durante una semana, etc.), optimizando el espacio.
  • Externo: Permite ejecutar un script personalizado para gestionar las versiones.

Además, cuando se produce un conflicto porque el mismo archivo se ha modificado en dos dispositivos simultáneamente, Syncthing renombra la versión más antigua añadiendo la etiqueta .sync-conflict-<fecha>-<hora>.

7. Modos de envío flexibles: send-only y receive-only

Syncthing permite configurar carpetas con diferentes modos de operación:

  • Send Only (solo envío): Los cambios locales se envían a otros dispositivos, pero los cambios recibidos se ignoran. Ideal para hacer copias de seguridad desde un dispositivo principal.
  • Receive Only (solo recepción): Se reciben cambios de otros dispositivos, pero los cambios locales no se comparten. Útil para dispositivos de solo lectura o para mantener una copia de seguridad pasiva.
  • Send & Receive (envío y recepción): El modo por defecto, sincronización bidireccional completa.

Estos modos permiten configurar arquitecturas de respaldo muy flexibles: por ejemplo, un servidor central en modo «receive only» que acumula copias de seguridad desde varios ordenadores portátiles.

8. Múltiples conexiones simultáneas (novedad en v2)

A partir de la versión 2.0, Syncthing utiliza por defecto tres conexiones simultáneas entre dispositivos compatibles: una para el intercambio de metadatos (índices) y dos para la transferencia de datos. Esto mejora el rendimiento global de la sincronización, especialmente en redes con latencia variable.

Explicación detallada del funcionamiento

La arquitectura de Syncthing se compone de varios elementos que trabajan en conjunto para ofrecer una sincronización fiable y eficiente:

1. Cluster (grupo de dispositivos): Un conjunto de dispositivos que comparten carpetas. Cualquier dispositivo puede iniciar la sincronización y no existe una jerarquía maestro-esclavo. La ausencia de un dispositivo central elimina los puntos únicos de fallo.

2. Protocolo de sincronización por bloques: Syncthing segmenta los archivos en bloques de tamaño fijo (por defecto, 128 KB). Cada bloque se identifica mediante un hash SHA-256. Cuando un archivo cambia, se calculan los hashes de sus bloques y se comparan con los de la versión anterior, transfiriéndose únicamente los bloques distintos.

3. Descubrimiento de dispositivos (Discovery): Para que los dispositivos se encuentren, Syncthing utiliza varios mecanismos:

  • Descubrimiento local (Broadcast): En la red local, los dispositivos se anuncian automáticamente mediante difusión.
  • Servidores de descubrimiento global: Para conexiones a través de Internet, Syncthing utiliza servidores públicos que facilitan el intercambio de direcciones IP. Importante: Estos servidores solo intercambian direcciones; los archivos nunca pasan por ellos.
  • Relays (retransmisores): Cuando no es posible una conexión directa (por ejemplo, detrás de un CG-NAT o firewall restrictivo), el tráfico puede reenviarse a través de servidores de retransmisión públicos. Este tráfico sigue estando cifrado de extremo a extremo.

4. Base de datos interna (SQLite desde v2): A partir de la versión 2.0, Syncthing utiliza SQLite como motor de base de datos (anteriormente usaba LevelDB). La base de datos almacena:

  • El estado actual de cada archivo (tamaño, fecha de modificación, hashes de bloques).
  • El historial de cambios.
  • La información de sincronización entre dispositivos.

La migración a SQLite hace que la base de datos sea más fácil de mantener y, según los desarrolladores, menos propensa a errores.

5. Proceso de sincronización:

  1. Escaneo: Syncthing examina las carpetas configuradas cada cierto tiempo (por defecto, cada 60 segundos) para detectar cambios.
  2. Indexado: Los cambios se registran en la base de datos local.
  3. Anuncio: El dispositivo anuncia a sus peers que tiene cambios disponibles.
  4. Solicitud: Los peers solicitan los bloques que les faltan.
  5. Transferencia: Los bloques se transfieren directamente entre dispositivos.
  6. Confirmación: Una vez completada, la base de datos se actualiza en todos los nodos.

Descarga e instalación de Syncthing

  • Página oficial: syncthing.net
  • Versión actual: 2.0.12 (noviembre de 2025)
  • Sistemas operativos compatibles:
  • Windows: Instalador gráfico o versión portable
  • macOS: Paquete.dmg o instalador
  • Linux: Paquetes en repositorios oficiales (Debian/Ubuntu, Fedora, Arch, etc.)
  • Android: Syncthing-Fork (recomendado, disponible en F-Droid y Google Play)
  • iOS: Mobius Sync u otras aplicaciones de terceros
  • NAS: Paquetes para Synology, QNAP, o mediante Docker
  • Requisitos mínimos: Muy reducidos (funciona en Raspberry Pi, routers con OpenWrt, etc.)
  • Licencia: MPL-2.0 (código abierto, completamente gratuito)
  • Idiomas: Interfaz web multilingüe (incluye español)

Instalación en Windows:

El método recomendado para usuarios principiantes es utilizar SyncTrayzor, una interfaz gráfica que envuelve Syncthing y lo integra en la bandeja del sistema. SyncTrayzor se puede descargar desde su página oficial.

Para los usuarios que prefieren el método estándar, existe un instalador oficial que añade Syncthing como aplicación normal.

Instalación en Linux (Debian/Ubuntu):

# Añadir el repositorio oficial
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ stable syncthing" | sudo tee /etc/apt/sources.list.d/syncthing.list

# Instalar
sudo apt update
sudo apt install syncthing

Instalación en macOS:

# Mediante Homebrew
brew install syncthing

# O descargar el.dmg desde la página oficial

Instalación mediante Docker:

Para servidores o sistemas donde se prefiere la contenedorización, Syncthing está disponible como imagen oficial en Docker Hub:

docker run -d \
  --name=syncthing \
  -p 8384:8384 \
  -p 22000:22000 \
  -p 21027:21027/udp \
  -v /ruta/local/config:/var/syncthing/config \
  -v /ruta/local/datos:/var/syncthing/data \
  syncthing/syncthing:latest

Cómo usar Syncthing

Paso 1: Iniciar Syncthing y acceder a la interfaz web

Al ejecutar Syncthing, se abre automáticamente la interfaz web en http://127.0.0.1:8384. Esta interfaz es el centro de control principal.

Paso 2: Configurar la autenticación (recomendado)

Para proteger la interfaz web, se recomienda establecer un usuario y contraseña:

  1. Haz clic en Actions (o el icono de engranaje en versiones antiguas)
  2. Selecciona Settings > GUI
  3. Introduce un nombre de usuario y contraseña
  4. Marca «Use HTTPS» para mayor seguridad (requiere certificado)

Paso 3: Identificar el ID del dispositivo

En la interfaz web, en la parte superior derecha, aparece el Device ID de este dispositivo (una cadena de 52 caracteres). Este ID es único y necesario para conectar otros equipos.

Paso 4: Añadir otro dispositivo a la red

  1. En el primer dispositivo, haz clic en «Add Remote Device».
  2. Introduce el Device ID del segundo dispositivo.
  3. Opcionalmente, asigna un nombre descriptivo (ej. «Portátil Juan»).
  4. En la pestaña «Sharing», selecciona las carpetas que deseas compartir con este dispositivo.
  5. Repite el proceso en el segundo dispositivo, introduciendo el ID del primero.

Paso 5: Compartir una carpeta

  1. Haz clic en «Add Folder» en la interfaz web.
  2. Introduce la ruta de la carpeta en tu sistema (ej. C:\Mis Documentos en Windows, /home/usuario/Documentos en Linux).
  3. Asigna un ID de carpeta (un identificador único que será el mismo en todos los dispositivos).
  4. Selecciona con qué dispositivos compartir esta carpeta.
  5. Opcionalmente, configura el control de versiones (recomendado para protegerte contra eliminaciones accidentales).
  6. En los otros dispositivos, aparecerá una solicitud para añadir la carpeta. Acepta y selecciona la ruta local donde se guardarán los archivos.

Paso 6: Configurar el control de versiones

Para activar el versionado:

  1. Edita una carpeta existente.
  2. En la pestaña «File Versioning», selecciona un modo:
  • Simple: Introduce el número de versiones a mantener.
  • Trash Can: Mantiene una copia de seguridad de cada archivo reemplazado.
  • Staggered: Configuración más avanzada con intervalos de retención.
  1. Guarda los cambios.

Paso 7: Verificar que la sincronización funciona

Una vez configurado todo, los archivos que añadas, modifiques o elimines en la carpeta compartida se replicarán automáticamente en los otros dispositivos. En la interfaz web, el indicador de cada dispositivo y carpeta mostrará el estado de la sincronización (actualizando, al día, pausado, etc.).

Observaciones sobre el programa Syncthing

Frente a otras soluciones de sincronización como Resilio Sync (propietario), Nextcloud (cliente-servidor) o Seafile (también cliente-servidor), Syncthing ocupa un espacio único por su arquitectura descentralizada pura. No requiere un servidor central ni siquiera para la coordinación básica, lo que elimina cualquier punto de control externo sobre tus datos.

Para el usuario final, el beneficio práctico de Syncthing es la tranquilidad de saber que tus archivos no están siendo analizados, indexados o vendidos por ningún tercero. Es la herramienta ideal para quienes valoran su privacidad por encima de la conveniencia de los servicios en la nube.

El desarrollo de Syncthing es muy activo. El proyecto mantiene un ciclo de lanzamientos frecuentes, con la versión 2.0 introducida en 2025, que supuso un hito importante:

  • Cambio de base de datos: De LevelDB a SQLite, mejorando la estabilidad y facilitando el mantenimiento.
  • Múltiples conexiones por defecto: Tres conexiones simultáneas (una para metadatos, dos para datos), mejorando el rendimiento.
  • Limpieza automática de metadatos: Los registros de archivos eliminados se purgan tras 6 meses (por defecto), reduciendo el tamaño de la base de datos.
  • Eliminación del rolling hash: Una función que resultó tener un beneficio práctico limitado; su eliminación acelera los escaneos.

El proyecto es 100% transparente. Todo el código fuente está disponible en GitHub para su auditoría pública, y los desarrolladores mantienen un programa de recompensas por vulnerabilidades para garantizar la seguridad. Las comunicaciones entre dispositivos están protegidas por TLS con perfect forward secrecy, lo que significa que incluso si un atacante captura el tráfico y luego roba las claves privadas, no puede descifrar comunicaciones pasadas.

Una ventaja clave sobre los servicios en la nube es el rendimiento en redes locales. Al sincronizar archivos dentro de tu hogar u oficina, la transferencia se realiza a la máxima velocidad de tu red local (gigabit Ethernet o Wi-Fi), sin las limitaciones de subida típicas de las conexiones domésticas (que suelen ser asimétricas). Esto es especialmente útil para archivos grandes, como colecciones de fotos o vídeos.

Limitación importante: Syncthing no es una solución de copia de seguridad por sí misma. Dado que los cambios se propagan a todos los dispositivos, una eliminación accidental se replicará a toda la red. Para mitigar este riesgo, es fundamental:

  • Activar el control de versiones en las carpetas importantes.
  • Configurar al menos un dispositivo en modo «Receive Only» como copia de seguridad pasiva.
  • Complementar Syncthing con copias de seguridad tradicionales (por ejemplo, a un disco externo).

La ausencia de un servidor central también tiene implicaciones prácticas. Para que dos dispositivos se sincronicen a través de Internet, al menos uno debe tener una dirección IP pública o estar correctamente configurado para NAT traversal. En situaciones donde ambos están detrás de CG-NAT (algo común en conexiones móviles), la conexión puede requerir el uso de servidores relay públicos, que aunque cifrados, añaden latencia y dependencia de terceros.

Casos de uso destacados por la comunidad:

  • Obsidian vaults: Sincronizar notas sin depender de los servicios de pago de Obsidian ni de iCloud.
  • Partidas guardadas de emuladores: Jugar en un dispositivo y continuar en otro con el mismo progreso.
  • Colecciones de fotos y vídeos: Mantener una biblioteca multimedia sincronizada entre varios ordenadores sin consumir almacenamiento en la nube.
  • Configuraciones de desarrollo: Sincronizar archivos de configuración de editores y entornos entre máquinas de trabajo.

Limitaciones importantes

  • Un dispositivo debe estar siempre encendido: A diferencia de la nube, no hay un servidor siempre disponible si todos tus dispositivos están apagados. Necesitas mantener al menos un dispositivo (o un NAS, o un VPS) encendido para que actúe como nodo permanente.
  • Sin cliente oficial para iOS: Solo hay aplicaciones de terceros (como Mobius Sync) que pueden no tener todas las funcionalidades.
  • No es una solución de backup: Sin control de versiones, los errores se replican a toda la red.
  • Curva de aprendizaje inicial: Aunque la interfaz web es funcional, puede resultar menos intuitiva que las aplicaciones de escritorio tradicionales.
  • Configuración de red manual en casos complejos: En redes corporativas o con CG-NAT muy restrictivo, puede requerir configuración adicional de relés o puertos.

Alternativa recomendada

Si buscas una solución con servidor central (cliente-servidor) que ofrezca también calendario, contactos y colaboración en documentos, Nextcloud es la alternativa más completa. Permite sincronizar archivos y además gestionar una suite completa de productividad. El principal sacrificio será la descentralización pura y la dependencia de un servidor central.

Si buscas una solución código abierto con arquitectura similar pero que incluya cliente oficial para iOS, Resilio Sync (antes BitTorrent Sync) tiene una versión gratuita limitada, aunque el núcleo no es completamente open source.

Si buscas una solución de sincronización basada en blockchain y completamente descentralizada, Mastodon o IPFS son tecnologías más experimentales, pero no tan maduras ni fáciles de usar como Syncthing.

Syncthing es la herramienta de referencia para sincronización de archivos descentralizada, ideal para usuarios que valoran su privacidad y quieren mantener el control absoluto sobre sus datos. Su combinación de cifrado robusto, eficiencia en la transferencia y ausencia de costes la convierten en la mejor alternativa a los servicios en la nube comerciales.

Sección FAQ

¿Syncthing es gratis o de pago?

Syncthing es completamente gratuito y de código abierto (licencia MPL-2.0). No tiene versiones de pago, funcionalidades bloqueadas ni suscripciones. No muestra publicidad ni recopila datos de los usuarios.

¿Funciona en Linux, macOS, Windows 10 y Windows 11?

Sí, Syncthing está disponible para todos los sistemas operativos principales:

  • Windows: Instalador gráfico o portable (SyncTrayzor recomendado para principiantes).
  • macOS: Cliente nativo y versión Homebrew.
  • Linux: Paquetes oficiales para todas las distribuciones.
  • Android: Cliente de la comunidad (Syncthing-Fork).
  • iOS: Aplicaciones de terceros como Mobius Sync (no hay cliente oficial).

¿Qué diferencia a Syncthing de Nextcloud o Seafile?

La principal diferencia es la arquitectura:

  • Syncthing es descentralizado (P2P): No requiere ningún servidor central. Los archivos se transfieren directamente entre dispositivos. Ideal para quienes buscan máxima privacidad y no quieren mantener un servidor.
  • Nextcloud/Seafile son cliente-servidor: Requieren un servidor central (que puedes autoalojar) que gestiona los archivos y la autenticación. Ofrecen funcionalidades adicionales (calendario, contactos, colaboración en documentos) pero son más complejos de mantener.

Syncthing es mejor para sincronización pura y descentralizada; Nextcloud es mejor para quienes necesitan una suite de colaboración completa.

¿Es seguro Syncthing?

Sí, Syncthing es muy seguro:

  • Todas las comunicaciones están cifradas con TLS.
  • Los dispositivos se autentican mediante certificados criptográficos únicos.
  • La clave privada nunca abandona el dispositivo.
  • El código es open source y auditable públicamente.
  • El proyecto mantiene un programa de recompensas por vulnerabilidades.

Sin embargo, la seguridad también depende de las buenas prácticas del usuario: proteger el acceso a la interfaz web con contraseña y mantener los dispositivos actualizados.

¿Qué ha pasado con el desarrollo de Syncthing?

El desarrollo de Syncthing está muy activo. La versión 2.0 fue lanzada en 2025, introduciendo importantes mejoras como el cambio de base de datos de LevelDB a SQLite, múltiples conexiones simultáneas y una gestión más eficiente de los metadatos. Las versiones de mantenimiento continúan publicándose regularmente, con la 2.0.12 lanzada en noviembre de 2025. El proyecto no muestra signos de abandono y tiene una comunidad grande y dedicada.