Syncthing: tus archivos en todos tus aparatos, sin nube
Básico
Los pasos marcados en azul cambian según tu sistema.
Dropbox, Google Drive o iCloud te resuelven un problema real: tener tus archivos en todos tus aparatos. A cambio, viven en el ordenador de otra empresa, que los analiza según sus condiciones, te cobra por espacio y puede cerrarte la cuenta sin dar explicaciones.
Syncthing resuelve lo mismo sin nadie en medio. Tus aparatos hablan directamente entre ellos y se pasan los cambios cifrados. No hay cuenta que crear, ni cuota, ni un servidor central donde se acumulen tus archivos: cada aparato tiene una copia, y en cuanto dos de ellos se ven, se ponen al día. Es software libre y funciona en Linux, macOS, Windows y Android.
En este tutorial lo instalarás en dos aparatos, los presentarás entre sí y compartirás una carpeta. Elige tu sistema en el desplegable de arriba; repite los pasos 1 a 3 en cada aparato que quieras sincronizar.
Cómo funciona
- Cada aparato tiene un identificador único, una cadena larga de letras y números que sale de su clave criptográfica. Dos aparatos solo se hablan si cada uno ha aceptado el identificador del otro.
- Compartes carpetas, no la cuenta entera: cada carpeta decides con qué aparatos va.
- Para que tus aparatos se encuentren desde redes distintas, el proyecto mantiene unos servidores de descubrimiento, que solo apuntan dónde está cada identificador, y unos repetidores, por los que pasa el tráfico ya cifrado cuando dos aparatos no pueden conectarse directamente. Nunca ven tus archivos. Si todos tus aparatos están en la misma red o en tu VPN, puedes apagar ambos.
Paso 1: instalar
Ubuntu
Las distribuciones traen Syncthing, pero el proyecto tiene su propio repositorio, siempre al día. Añádelo con su clave de firma:
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
E instálalo:
sudo apt update
sudo apt install syncthing
Debian
Las distribuciones traen Syncthing, pero el proyecto tiene su propio repositorio, siempre al día. Añádelo con su clave de firma:
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
E instálalo:
sudo apt update
sudo apt install syncthing
Fedora
Syncthing está en los repositorios de Fedora:
sudo dnf install syncthing
Arch Linux
Syncthing está en los repositorios oficiales:
sudo pacman -S syncthing
macOS
Con Homebrew:
brew install syncthing
Windows
Con winget, desde una terminal:
winget install Syncthing.Syncthing
Android
La app oficial de Syncthing para Android dejó de mantenerse a finales de 2024. Su relevo es Syncthing-Fork, que mantiene la comunidad: instálala desde F-Droid o desde Google Play.
En iPhone no hay versión oficial. La app de pago Möbius Sync es compatible, con las limitaciones que pone iOS a las apps que trabajan en segundo plano.
Paso 2: que arranque solo
Ubuntu
Los paquetes traen un servicio de systemd listo para usar. En tu ordenador, arráncalo para tu usuario:
systemctl --user enable --now syncthing.service
En un servidor, donde no inicias sesión con escritorio, usa el servicio del sistema, que corre igualmente con tu usuario aunque no estés conectado:
sudo systemctl enable --now syncthing@$USER.service
Debian
Los paquetes traen un servicio de systemd listo para usar. En tu ordenador, arráncalo para tu usuario:
systemctl --user enable --now syncthing.service
En un servidor, donde no inicias sesión con escritorio, usa el servicio del sistema, que corre igualmente con tu usuario aunque no estés conectado:
sudo systemctl enable --now syncthing@$USER.service
Fedora
Los paquetes traen un servicio de systemd listo para usar. En tu ordenador, arráncalo para tu usuario:
systemctl --user enable --now syncthing.service
En un servidor, donde no inicias sesión con escritorio, usa el servicio del sistema, que corre igualmente con tu usuario aunque no estés conectado:
sudo systemctl enable --now syncthing@$USER.service
Arch Linux
Los paquetes traen un servicio de systemd listo para usar. En tu ordenador, arráncalo para tu usuario:
systemctl --user enable --now syncthing.service
En un servidor, donde no inicias sesión con escritorio, usa el servicio del sistema, que corre igualmente con tu usuario aunque no estés conectado:
sudo systemctl enable --now syncthing@$USER.service
macOS
Deja que Homebrew lo arranque ahora y cada vez que inicies sesión:
brew services start syncthing
Windows
Arráncalo escribiendo syncthing en una terminal nueva. Para que se ponga en marcha solo al encender el ordenador y tener un icono junto al reloj, usa Syncthing Tray, una pequeña aplicación libre que lo lanza y lo vigila (está en github.com/Martchus/syncthingtray).
Android
Abre Syncthing-Fork y concede los permisos que pide: acceso a los archivos y, para que sincronice aunque no tengas la app abierta, que no se le apliquen las optimizaciones de batería. En sus ajustes puedes decidir si sincroniza solo con wifi o solo mientras carga.
Paso 3: la interfaz web
Syncthing se maneja desde el navegador, en http://127.0.0.1:8384 (en Android, la app tiene la suya). Solo escucha en el propio aparato, así que nadie más puede llegar a ella.
Lo primero que verás es un aviso para proteger la interfaz con usuario y contraseña. Hazlo en Acciones > Ajustes > Interfaz gráfica.
En un servidor sin pantalla, llega a la interfaz a través de un túnel SSH desde tu ordenador. Usa otro puerto local para no chocar con el Syncthing de tu propio equipo:
ssh -L 8385:127.0.0.1:8384 usuario@tu-servidor
Y abre http://127.0.0.1:8385. Tienes más sobre túneles en SSH a fondo.
Paso 4: presentar dos aparatos
En el primer aparato, abre Acciones > Mostrar ID. Verás su identificador y un código QR.
En el segundo, pulsa Añadir dispositivo remoto y pega ese identificador (en Android puedes escanear el QR). Ponle un nombre que reconozcas, como «Portátil», y guarda.
Al cabo de unos segundos, en la interfaz del primer aparato aparecerá un aviso: el segundo quiere conectarse. Acéptalo. A partir de ahora se reconocen y se buscan solos.
Paso 5: compartir una carpeta
La primera vez que arranca, Syncthing suele crear una carpeta de ejemplo, Sync, en tu carpeta personal. Puedes usarla o compartir otra:
- Pulsa Agregar carpeta.
- En la pestaña General, dale un nombre y elige su ruta en este aparato.
- En la pestaña Compartiendo, marca los aparatos con los que va.
- Guarda. En el otro aparato aparecerá un aviso para aceptarla y elegir dónde guardarla allí.
En las opciones avanzadas de cada carpeta está su tipo, que es lo que la hace realmente útil:
- Enviar y recibir: los cambios van en los dos sentidos. Es lo normal.
- Solo enviar: este aparato manda sus cambios, pero ignora los de los demás.
- Solo recibir: este aparato recibe, pero lo que cambie aquí no se manda a ningún sitio.
Un ejemplo: la carpeta de la cámara del móvil, como «Solo enviar», y en tu servidor o tu ordenador, como «Solo recibir». Tienes una copia automática de tus fotos en casa sin pasar por Google Fotos ni iCloud.
Paso 6: versiones y archivos que no quieres copiar
Syncthing replica también los borrados: si borras un archivo en un aparato, desaparece en todos. Para tener margen de error, activa en cada carpeta el control de versiones (en sus opciones, pestaña Control de versiones). Con el modo escalonado, cuando otro aparato cambia o borra un archivo, la versión anterior se guarda en la carpeta oculta .stversions, y se van espaciando: muchas recientes y pocas antiguas.
Aun así, sincronizar no es hacer copias de seguridad: si un programa cifra tus archivos, o los borras sin darte cuenta, el cambio se propaga a todas partes. Para eso están las copias de seguridad cifradas con restic.
Para que Syncthing ignore archivos dentro de una carpeta, crea en su raíz un archivo .stignore con un patrón por línea:
.stignore
// Temporales y basura del sistema
*.tmp
.DS_Store
Thumbs.db
// Dependencias que se pueden volver a descargar
node_modules
Paso 7: el cortafuegos
Syncthing usa el puerto 22000 (TCP y UDP) para sincronizar y el 21027/UDP para que los aparatos se encuentren dentro de la red local. Los dos sentidos tienen que poder conectarse para que la sincronización vaya directa y rápida.
- Con UFW:
sudo ufw allow syncthing(el paquete trae el perfil). - Con firewalld:
sudo firewall-cmd --permanent --add-service=syncthingysudo firewall-cmd --reload. - En Windows, el sistema te preguntará la primera vez si dejas a Syncthing comunicarse por la red: permítelo en las redes privadas.
Si todos tus aparatos se ven a través de tu VPN con WireGuard, puedes ir más allá y apagar el descubrimiento global y los repetidores en Acciones > Ajustes > Conexiones. Tus aparatos solo se hablarán entre ellos y por caminos que controlas tú.
Listo
Tus carpetas viajan entre tus aparatos, cifradas y sin nadie en medio. Añade los aparatos que quieras: cada uno se pone al día con los demás en cuanto los ve.
