Syncthing

aplicación de sincronización continua de archivos de código abierto


Syncthing es una aplicación de sincronización de archivos peer-to-peer libre y de código abierto disponible para Windows, macOS, Linux, Android, Solaris, Darwin y BSD.[1]​ Puede sincronizar archivos entre dispositivos en una red local, o entre dispositivos remotos a través de Internet. La seguridad de los datos está integrada en el diseño del software.

Syncthing

Interfaz web de Syncthing
Información general
Tipo de programa Sincronización de archivos
Autor Jakob Borg et al.
Lanzamiento inicial 15 de diciembre de 2013
Licencia MPL 2.0
Estado actual activo
Idiomas Inglés, alemán, griego, español, francés, italiano, polaco, portugués, ruso, sueco, noruego
Información técnica
Programado en Go
Versiones
Última versión estable 1.27.3 ( 06 de febrero de 2024 (2 meses y 20 días))
Enlaces

Tecnología editar

Syncthing está escrito en Go e implementa su propio protocolo de intercambio de bloques, igualmente libre,[2]​ que permite generar una nube personal bajo el modelo BYO, donde los usuarios proporcionan el hardware y el software para la misma. Soporta IPv6 y, para los que están en redes IPv4, se ofrece perforación y retransmisión de NAT. Los dispositivos que se conectan entre sí requieren una aprobación explícita (a menos que se utilice la función de introducción), lo que aumenta la seguridad de la malla. Todos los datos, tanto los que se transfieren directamente entre dispositivos como los que se transmiten a través de relés, se cifran mediante TLS.[3][4]

Los conflictos se gestionan renombrando el archivo más antiguo con un sufijo "sync-conflict" (junto con la marca de fecha y hora), lo que permite al usuario decidir cómo gestionar dos o más archivos con el mismo nombre que se han modificado entre las sincronizaciones.[5]​ Los clientes de interfaz gráfica basados en este sistema pueden utilizar estos archivos para presentar al usuario un método de resolución de conflictos sin tener que recurrir a la gestión manual de los archivos.

La sincronización eficiente se logra mediante la compresión de metadatos o de todos los datos de transferencia,[6]​ la reutilización de bloques[7]​ y el escaneo ligero de archivos modificados,[8]​ una vez que se ha calculado y guardado un hash completo. Syncthing ofrece tipos de carpetas de solo envío y de solo recepción,[9]​ en las que no se procesan las actualizaciones de los dispositivos remotos, varios tipos de versionado de archivos (papelera, versionado simple o escalonado, así como entrega de versionado a un programa o script externo)[10]​ y patrones para ignorar archivos o rutas.[11]​ Actualmente, admite dos implementaciones diferentes de hashing SHA-256, la más rápida de las cuales se utilizará dinámicamente después de una breve evaluación comparativa en el arranque.[12]​ El movimiento y el cambio de nombre de archivos y carpetas se maneja eficientemente, procesando inteligentemente estas operaciones en lugar de volver a descargar los datos desde cero.[13]

Referencias editar

  1. Wallen, Jack (5 de enero de 2016). «Let Syncthing turn your desktop into a local cloud for your mobile device». TechRepublic. CBS Interactive. 
  2. «Block Exchange Protocol v1». Consultado el 7 de abril de 2016. 
  3. «Security Principles — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  4. «Relaying — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  5. «FAQ — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  6. «FAQ — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  7. «Understanding Synchronization — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  8. «Understanding Synchronization — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  9. «Folder Types». Consultado el 9 de julio de 2020. 
  10. «File Versioning — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  11. «Ignoring Files — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 
  12. «cmd/syncthing: Add selectable sha256 package (fixes #3613, fixes #3614)». Github.com. 22 de septiembre de 2016. Consultado el 4 de enero de 2017. 
  13. «FAQ — Syncthing v0.14 documentation». Docs.syncthing.net. Consultado el 4 de enero de 2017. 

Enlaces externos editar