- La app oficial syncthing-android se retirará, y el último lanzamiento en GitHub y F-Droid se entregará junto con la versión de Syncthing de diciembre de 2024
- El contexto de la discontinuación combina una situación en la que la distribución en Google Play se volvió “difícil o imposible” y la falta de mantenimiento activo
- El bloqueo de lanzamientos en Play Store no es la única causa; para revivir la app o seguir manteniéndola, alguien tendría que asumir el mantenimiento a largo plazo
- Syncthing como tal no desaparecerá de Android, por lo que se discuten alternativas como seguir usando la app existente, Syncthing Fork o ejecutarlo mediante Termux
- Es probable que la última app oficial siga funcionando durante un tiempo, pero quienes necesiten versiones nuevas de Syncthing deberían considerar exportar la configuración y migrar al Fork
Fin de la app oficial syncthing-android
- Se decidió retirar la app oficial syncthing-android, y el último lanzamiento en GitHub y F-Droid se hará junto con la versión de Syncthing de diciembre de 2024
- El cierre es resultado de dos factores combinados
- Que Google haya hecho que la distribución en Play sea “difícil o imposible”
- Que no haya mantenimiento activo de la app
- La app llevaba mucho tiempo sin desarrollo significativo y, al volverse difícil lanzar versiones en Play, disminuyeron los beneficios y la motivación para dedicar esfuerzos a su mantenimiento continuo
- Se agradeció a quienes contribuyeron a la app, y varios usuarios también expresaron gratitud por el mantenimiento y tristeza por la decisión
Problemas de distribución en Play Store y límites de mantenimiento
- En la comunidad surgieron reacciones de que las políticas de Play Store perjudican a las apps legítimas que requieren permisos avanzados
- Las apps que necesitan permisos avanzados se vuelven difíciles de publicar en la tienda
- También hubo críticas de que apps que recolectan datos de usuarios o que se acercan al spyware permanecen sin mayores sanciones
- También se sugirió mantener algunos lanzamientos más en F-Droid y ofrecer guías o documentación para la transición
- El proyecto aclaró que no poder publicar lanzamientos en los canales de distribución habituales es solo un factor adicional de desmotivación, no la única causa
- La reactivación o continuidad de la app solo sería posible si alguien invierte esfuerzo a largo plazo, ya que la app llevaba mucho tiempo en estado de “life support”
Cómo seguir usando Syncthing en Android
- Esta decisión se limita a la discontinuación de la app oficial para Android, que llevaba mucho tiempo casi inactiva
- No significa que Syncthing como tal deje de poder usarse en Android, y otras personas pueden seguir distribuyendo apps de Syncthing para Android
- Aunque existe la preocupación de que Android se vuelva cada vez más parecido a iOS y eso complique las cosas, se mencionó que recientemente incluso se creó una nueva app open source de Syncthing para iOS
- La persona que hizo el anuncio oficial dijo que también usa Syncthing en Android y que, en lo personal, espera que siga siendo posible usarlo allí durante mucho tiempo
Alternativas discutidas: Fork y Termux
- Como alternativa directa se mencionó Catfriend1/syncthing-android
- La última versión de la app oficial existente ya no recibirá actualizaciones, pero es probable que siga funcionando bien durante un tiempo
- Si se necesita una versión más reciente de Syncthing, se puede migrar a Syncthing Fork
- Desde la configuración de la app oficial se puede exportar la configuración actual
- Se puede importar en el Fork
- Desde el punto de vista de Syncthing, ambas apps son compatibles entre sí
- También se discutió como alternativa ejecutar Syncthing en Termux
- Funciona si se exportan o copian los archivos y se ajusta parte de la configuración
- La desventaja es que, si no se quiere mantener el teléfono despierto todo el tiempo, hay que iniciarlo y detenerlo manualmente
- También se comentó que, si en la configuración de Android se mantiene activada la optimización de batería para la app Termux, el modo doze de Android podría forzarla a entrar en estado de sleep
- La Web GUI se puede acceder desde el navegador local en
http://127.0.0.1:8384, algo que también es posible al usar la app existente de Syncthing
Ejemplo de configuración con Termux + Tasker
- Un usuario confirmó que la combinación Syncthing + Tasker + Termux funciona como alternativa
- La instalación es la siguiente
- Instalar Tasker desde Play Store
- Instalar Termux y
termux:tasker desde F-Droid
- Los permisos adicionales son los siguientes
- Tasker:
additional → run commands in termux environment
- Termux:
Appear on top
- El comando para instalar Syncthing en Termux es el siguiente
termux-setup-storage
apt install syncthing
- Crear el archivo
~/.termux/tasker/start-syncthing-for-5minutes.sh y configurarlo para ejecutar Syncthing durante 5 minutos
#!/usr/bin/bash
timeout -s KILL 5m syncthing
- En Tasker, configurar que entre las 00:00 y las 23:59 se ejecute ese script cada 1 hora mediante
Plugin→Termux:Tasker
start-syncthing-for-5minutes.sh
- terminal session:
X
- Si se desactiva la opción Start browser en la GUI, el navegador no se abrirá automáticamente al iniciar
- Después de exportar la configuración desde la app de Android existente, se puede copiar a
~/.local/state/syncthing para continuar usando la configuración anterior en lugar de una instalación nueva
- Luego se pueden eliminar del
config.xml el username/password para acceso a la GUI y, si hace falta, configurarlos de nuevo
2 comentarios
Syncthing - software de sincronización continua de archivos de código abierto
Opiniones de Hacker News
Las conversaciones con Google no dieron ningún resultado. Los cambios que Google exigía para conceder el permiso eran ambiguos, así que era difícil incluso saber cómo responder y no estaba claro si cualquier cosa que hicieran tendría éxito.
Después surgieron más tareas separadas para permanecer en Play, como la verificación de desarrollador y el nivel de API objetivo, y al final se dieron cuenta de que ya no tenían la motivación ni el tiempo para seguir jugando ese juego.
Se parece a alguien en una empresa que, en vez de corregir comentarios de un PR, explota diciendo que su manera es mejor. Apple tampoco permite escribir en directorios arbitrarios solo porque las API de ObjC/Swift sean difíciles de usar.
Antes trabajé en Dropbox desarrollando específicamente para Android en la década de 2010, y conocía en cierta medida las API antiguas del sistema de archivos de Android, pero de forma consciente me pasé a experiencia de desarrollador/backend y dejé Android. La mayoría de mis excolegas de Android hicieron algo parecido.
Era demasiado doloroso el flujo interminable de trámites y cambios de API que había que superar para que una app siguiera funcionando. En 2014, cuando salió el nuevo Storage Access Framework “seguro”, encontré una vulnerabilidad trivial de recorrido de directorios: bastaba con pasar
"../../"en el nombre de archivo para escribir en el directorio privado de cualquier app. Fue algo que saltó a la vista de inmediato mientras revisaba el código fuente de AOSP para entender SAF.Durante mucho tiempo, Android también asignaba el bit global de ejecución a las carpetas de apps, lo que permitía un ataque de delegado confundido: una app maliciosa podía crear un hard link por nombre hacia archivos de otra app y luego pasárselo de vuelta a esa app para acceder al contenido del archivo.
Me alegra que Android haya reforzado su seguridad, pero fue construido sobre una base demasiado laxa, y muchísimas apps usaron o abusaron de esa base. Por eso, a medida que se refuercen los bloqueos, creo que los desarrolladores que tienen que adaptarse a constantes grandes rupturas de compatibilidad acabarán abandonando el ecosistema.
[0] Bug 18512473 corregido en https://android.googlesource.com/platform/frameworks/base/+/...
[1] Video de prueba de concepto: https://www.dropbox.com/s/8dpd8visrttqbfo/poc.mp4?dl=0
Extraño la visión de webOS. No quiero decir que extrañe la implementación de webOS de hace 14 años.
Hay un fork de Syncthing para Android mantenido activamente y, aunque sea solo una métrica aparte, recibió 1.3K estrellas.
[1] https://github.com/Catfriend1/syncthing-android
Si miras el hilo original, el autor dice que publicar en Google Play es muy difícil.
Dice que “el motivo es que Google está haciendo que publicar en Play sea difícil o imposible”. ¿Alguien puede explicar mejor qué está pasando aquí?
[1]: https://forum.syncthing.net/t/discontinuing-syncthing-androi...
Esa API es solo para Java, y como el núcleo de Syncthing no está escrito en Java, habrían tenido que escribir código puente con JNI para llamar a Android al leer y escribir archivos. SAF también es bastante engorroso: asigna una URI a cada archivo y obliga a consultar continuamente la estructura de carpetas, así que no se pueden concatenar rutas como con archivos normales.
El autor no quería hacer ese trabajo e intentó convencer a Google de que le siguiera permitiendo acceso directo a todos los archivos, fotos y documentos, pero Google se negó. La “dificultad” aquí parece significar que si no sigues las pautas, publicar en Play es realmente difícil. Igual que en la App Store.
Mi app podía recibir aprobación de un permiso en una versión menor y luego, la semana siguiente, ser rechazada aunque la app solo tuviera cambios triviales. Cuando contactas al soporte de Google Play, las respuestas son siempre vagas, estandarizadas y repetitivas. No tienes forma de saber si una actualización de la app será aprobada, lo cual es una forma horrible de desarrollar algo.
Al final, esta estructura solo castiga a los desarrolladores pequeños, con poco presupuesto y poco tiempo, y empuja la consolidación alrededor de los grandes actores. Las empresas grandes pueden ejercer cierta influencia, tienen un nivel básico de confianza y cuentan con el presupuesto y el tiempo para implementar requisitos absurdos y a veces pesados. Como resultado, parece algo diseñado para afianzar su posición de mercado y crear participantes pegajosos que sostengan la Play Store durante las próximas décadas.
Yo estaba usando esto para poner una base de datos de KeePass en mi teléfono, así que estoy en problemas. ¿Hay alguien más en la misma situación?
Recomiendo conectarse por SFTP a una máquina y, en esa máquina, ejecutar Syncthing con el resto de los dispositivos.
Si alguien sabe usar Syncthing y lo quiere lo suficiente, quizá también sea perfectamente viable que dependa de F-Droid como fuente de APK. ¿No basta con usarlo como canal de distribución?
Odio demasiado la computación móvil.
Voy a guardar el APK en un lugar seguro junto con mis disquetes de Turbo Pascal. Syncthing para Android era esencial para gestionar mi colección de partituras.
¿Alguien sabe cuánto tiempo seguirá funcionando la app actual de Syncthing para Android?