Seafile Android 8 Client Network Error in private network

Dear, thank you very much for taking the time to read my question, I am experiencing problems with version 8 of android and the client of seafile, the same one tells me network error without giving much more information. in the server I do not see the request, neither in the DNS nor in the firewall, it is worth clarifying that the seafile service is internal and I do not publish, I do not know if that affects something, but what strikes me is that it only happens to me with android 8.

Attached a capture along with the versions of seafile that I am using, if you need some more information please just advise

PS: sorry for my English, this message was written from the google translator, my English is too bad.


root  ~seafile  ls -l
total 25544
drwx------ 3 seafile seafile 4096 ago 20 21:52 ccnet
drwx------ 2 seafile seafile 4096 ago 20 21:56 conf
drwxr-xr-x 2 seafile seafile 4096 ago 20 21:34 logs
drwxr-xr-x 2 seafile seafile 4096 ago 20 21:52 pids
drwxr-xr-x 6 seafile seafile 4096 ene 23 2018 seafile-server-6.2.5
-rw-r–r-- 1 seafile seafile 26132166 ene 23 2018 seafile-server_6.2.5_x86-64.tar.gz
lrwxrwxrwx 1 seafile seafile 20 ago 20 19:03 seafile-server-latest → seafile-server-6.2.5
drwxr-xr-x 3 seafile seafile 4096 ago 20 19:03 seahub-data
root  ~seafile 

 root  ~seafile  ls /var/lib/seafile -l
total 8
drwx------ 8 seafile seafile 4096 ago 20 21:33 data
drwxr-xr-x 2 seafile seafile 4096 ago 20 21:38 thumb
 root  ~seafile 

Can you access from the device over the web browser?

thank you very much for the answer, that is the most crazy thing, yes, I can access seafile perfectly from the web browser, even in old phones it works normally just happens with android 8 this

You need to set the port on the URL (https://your.server.local:<port number>/). This issue might be related to HTTPS, since Android 7 apps by default don’t trust certificates added by the user (which is insane because the main purpose of having a certificate store is that your system should trust what it’s put in there).

I’ve submitted a patch to the seadroid repository but the app is so poorly developed that it is filed with bugs on the stable releases, so no notice in when the changes will be incorporated into the product.

En español:
Fijate que abajo de Network error la app te pide que pongas el puerto en la URL (https://tu.servidor.local:<numero de puerto>/). También puede ser que tu problema esté relacionado con HTTPS, desde Android 7 el sistema operativo ni las apps confían en los certificados del usuario por defecto (si, da cancer, se supone que si metes un certificado en el sistema operativo este debería confiar en el, pero no), tenes que permitir los certificados del usuario desde tu app explícitamente.

Hace poco metí un parche en el repositorio de seadroid para el error de HTTPS. El problema es que seadroid es una cagada con todas las letras, tiene bugs por todas partes, y por eso los dueños del repo no quieren avanzar en las versiones, ya que puede que surjan mas y mas bugs. Te dejo un post relacionado, en donde intenté arreglar el problema (está en inglés :confused: )

Spanish
Gracias por responderme en español, mi ingles es muy malo y me cuesta mucho comprender… lo mas raro es que solo me pasa cuando le utilizo desde la ip privada, cuando estoy fuera de la red y lo acceso por la ip publica funciona sin importar el certificado que le ponga, probe incluyendo uno de let’s encrypt y paso igual

Ya intente lo del puerto me que mencionas pero eso no cambio el resultado, el problema es que el error no s muy descriptivo y no se muy bien como hacer debug para ver el problema.

English
Thank you for answering me in Spanish, my English is very bad and I have a hard time understanding … the weirdest thing is that it only happens to me when I use it from the private ip, when I’m out of the network and access through the public ip works without import the certificate that you put.

I already tried the port thing that you mentioned but that did not change the result, the problem is that the error is not very descriptive and I do not know how to do debug to see the problem.

Spanish:
SERVICE_URL y FILE_SERVER_ROOT son dos variables que tenes que configurar para que el servidor pueda redirigir correctamente al cliente al sitio y que los links se generen correctamente. El servidor de Seafile está diseñado de esta forma y debe ser accedido desde un solo nombre DNS. Existen varias alternativas, supongamos que tu servidor tiene el nombre DNS público seafile.juan.com, una de las soluciones es tener un servidor DNS local (tu router generalmente) que redirija el nombre seafile.juan.com a la IP local de tu servidor, efectivamente accediendo desde la red local, ten cuidado que ahora seafile.juan.com apuntará a la IP de tu servidor de Seafile, y no a tu IP pública.

Te dejo un link a un post donde detallo este problema, abajo del post aparecen varios links a posts donde ya se resolvieron problemas similares con este método o usando NAT Loopback (no recomendado porque el tráfico debe pasar por el router en vez de ir directo al servidor). Están en inglés pero espero te sirvan

English:
http://lmgtfy.com/?q=translate+from+spanish+to+english

Si, eso lo tuve en cuenta, en el DNS publico resuelve seafile.dominio.com A ip_publica, y luego dentro de mi LAN tengo un DNS que resuelve seafile.dominio.com A ip_privada, este escenario me funciono perfectamente hace hace unos dias que empezaron a llegar las primeros motog6 con android 8 y dejo de andar solo en esas terminales, las notebook, sin importar el SO que tenen instalado funcionan correctamente. en ambos funciona con el mismo certificado uno generado por let’s encrypt. Lo mas extraño es que en el log del DNS no veo ni el pedido para la resolucion del nombre, ni hablar de ver el request al nginx

Spanish:
Probá revisando el log de android con logcat, necesitamos más detalles
https://developer.android.com/studio/command-line/logcat?hl=es-419

English: