Menu
Syncthing: sincroniza tus archivos y administra tus backups de forma libre y sin depender de "la nube"

Syncthing: sincroniza tus archivos y administra tus backups de forma libre y sin depender de "la nube"

SyncThing

 

¿Os gustaría poder sincronizar carpetas entre vuestros distintos dispositivos? 

Syncthing es una aplicación OpenSource que podréis instalar en cualquiera de nuestros dispositivos precisamente con este fin.

Permite seleccionar carpetas que compartir y sincronizar con otros dispositivos.

Con Syncthing no se depende de un servidor central para realizar la sincronización: los archivos se sincronizan directamente de un dispositivo a otro.
El único requisito para poder sincronizar los archivos es estar en la misma red. Por lo que funciona con conexión a internet, y cuando no hay internet funciona si los dispositivos están en la misma LAN.

Ejemplos de uso

  • Cada vez que se haga una foto con el móvil, tenerla disponible en el ordenador
  • Sincronizar la carpeta de los de un servidor con una carpeta en el ordenador personal.
  • Compartir la carpeta home de un usuario entre varios ordenadores, teniendo acceso a todos los archivos, personalización y configuración en todos los ordenadores.

Instalación

Debian / Ubuntu:

apt install syncthing

Arch:

pacman -S syncthing

Fedora:

yum install syncthing

 

Primera configuración

En cada dispositivo, tras haber instalado syncthing, ejecutarlo.

En algunos casos es posible que se abra una interfaz web (que hace de interfaz gráfica para Syncthing).
Buscar "Show device ID".

Debería ser un código con 8 cadenas de 7 caracteres separadas por guiones.

Normalmente aparecerá la opción de mostrar un código QR que contiene el código.
En uno de vuestros dispositivos principales copiar el código y en el resto de dispositivos seleccionar "Añadir dispositivo", para añadir el dispositivo principal a todos los dispositivos que se desee.

Device ID es el código (o QR) que se obtiene en cada dispositivo.

El nombre es como se quiera llamar al dispositivo, preferiblemente algo fácilmente identificable y reconocible.

Address es la dirección del otro dispositivo. Si es una IP fija se puede poner aquí. En cualquier caso, "dynamic" funciona bien (también para IPs dinámicas).

Seleccionando la opción "Introducer" el dispositivo al que nos conectemos nos informará de todos los dispositivos que conoce, y nos conectaremos automáticamente a ellos.

De esta forma, como nuestro dispositivo principal estará conectado a todos nuestros dispositivos, y en cada uno de estos marcaremos al principal como Introducer, todos nuestros dispositivos estarán conectados entre sí.

Configurando sincronización entre carpetas

Ya tenemos nuestros dispositivos conectados. Ahora sincronicemos alguna carpeta.
En mi caso, para este ejemplo, sincronizaré la carpeta /storage/sdcard/DCIM/ dear mi Android (que contiene la fotos de la cámara) con la carpeta /home/devpgsv/Pictures/Android de mi ordenador y la carpeta /srv/nas/pictures/camDe mi Raspberry Pi.
Para ello, (teniendo ya los 3 dispositivos conectados) en el movil, en la aplicación de Syncthing, crearé una nueva carpeta compartida.

Escribiré la ruta a la carpeta, seleccionaré la opción "Watch for changes" para que cada vez que haga una foto se sincronice inmediatamente, y seleccionaré con qué dispositivos quiero compartir esta carpeta (ordenador y Raspberry Pi).

Tras guardar, a los pocos segundos debería aparecer una notificación en los otros 2 dispositivos indicando que otro dispositivo está compartiendo una carpeta con nosotros.

Aceptamos la petición de compartir carpeta, escribimos la ruta en la que queramos sincronizar la carpeta para cada dispositivo..... Y listo.

Empezarán a sincronizarse los archivos poco a poco.

Más opciones

Si habéis probado a compartir alguna carpeta habréis visto que hay muchas más opciones disponibles. Syncthing permite mucha flexibilidad a la hora de configurar carpetas sincronizadas.
Algunas de estas opciones:

  • Send only: syncthing mandará los cambios de esta carpeta al resto de dispositivos con los que se sincronice, pero no aceptará los cambios que se realicen en otros dispositivos.
  • File Pull order: orden e que se sincronizarán los cambios. Todas las opciones deberían funcionar bien, pero depende de que se sincronice unas opciones pueden ser más efectivas que otras. Por ejemplo, si en mi carpeta DCIM hay fotos y vídeos , seleccionando "Smallets First" daría prioridad a las fotos. Si lo que estoy si cronizando son archivos con nombres que incluyen un patrón temporal (logs numerados, photos con timestamp en el nombre, etc...) seleccionaría orden alfabético.
  • File versioning: Permite mantener copias de los archivos antiguos en vez de borrarlos o sobreescribirlos. Es buena idea activarlo si queremos asegurarnos de no perder un si cometemos algún error o si queremos tener disponible versiones antiguas de los archivos, pero tenemos que tener en cuenta que ocupará más espacio. Hay varias técnicas de File Versioning que podemos seleccionar:
    • Trash can: se crea una carpeta ".stversions" que actúa como papelera de reciclaje.En la papelera solo se dispondrá de la versión anterior a la actual, no las anteriores a esta.
    • Simple file versioning: lo mismo que la opción "Trash can", pero almacena tantas versiones antiguas de cada archivo como se configure, cada una con un timestamp añadido al nombre.
    • Staggered file versioning: Como "Simple file versionig" pero con borrado automático cuando pasa cierto tiempo y con la opción de elegir la ruta de guardado de las versiones antiguas.
    • External file versioning: permite seleccionar otro programa para administrar las versiones antiguas de los archivos.

Extra

Los archivos que se sincronizan se envían directamente de un dispositivo a otro sin pasar por un servidor.

Sin embargo, para que esto sea posible, cada dispositivo necesita conocer la IP de los otros dispositivos a los que se quiere conectar.

Para que esto sea posible los desarrolladores de Syncthing hostean un "Syncthing Discovery Server", un servidor al que se conectan todos los clientes, que informa de las IP de los clientes que tenemos configurados si disponemos de un código válido para los otros dispositivos.

Para contribuir con nuestro granito de arena y apoyar a la comunidad de Syncthing en LibreLabUCM estamos hosteando un Syncthing Relay Server que podeis configurar en vuestros clientes si queréis usarlo: https://syncthing.librelabucm.org

Podéis usar este servidor configurándolo en vuestros clientes. Para ello id a Ajustes > Conexiones, y en la opción "Sync Protocol Listen Address" deberíais ver el valor: "default", y cambiarlo por:

default, relay://syncthing.librelabucm.org:22067/?id=OU3GEMY-OP37TJ5-IQFR7ZJ-5YMNXAN-WY2KI4N-YH2G7LA-U5XHTOK-FPZNJAI&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=syncthing.librelabucm.org:22070&providedBy=syncthing.librelabucm.org

Al ser "default" la primera opción se seguirá usando el sevidor principal. Si se desea usar únicamente el Syncthing Relay Server de LibreLabUCM, entonces poner:

relay://syncthing.librelabucm.org:22067/?id=OU3GEMY-OP37TJ5-IQFR7ZJ-5YMNXAN-WY2KI4N-YH2G7LA-U5XHTOK-FPZNJAI&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=syncthing.librelabucm.org:22070&providedBy=syncthing.librelabucm.org

En ambos casos estaremos usando el Syncthing Relay Server de LLU.

 

Facebook Twitter Google+ Pinterest
Modificado por última vez enDomingo, 12 Mayo 2019 20:16
(0 votos)
email: librelab@ucm.es
Facultad de Informática de la UCM
Calle del Profesor José García Santesmases 9, Despacho 120
28040, Madrid
×
Probando acceso a TOR... Web disponible en TOR! ;) La web está disponible en TOR, pero el navegador no tiene acceso a TOR