Desde la versión 30 de Nextcloud NCDownload ya no funciona y parece estar estancado o directamente muerto. No tengo ganas de esperar a que lo actualicen. El ecosistema de Nextclod esta lleno de cadáveres, así que vamos probando una idea loca basada en el articulo anterior. Agreguemos servicios a un mismo VHost mediante nginx.
Introducción
A veces parece que Nextcloud se actualiza mas rápido que su ecosistema y si bien, no es necesario andar actualizando a cada rato, ya va por la version 30 y la ultima que use con todas sus apps funcionales era de antes de que se llame NextCloud Hub. Eso es hace un montón. Ahora le quieren meter IA por todas partes, pero sus apps siguen muriendo. Mi favorita NCDownloader por ejemplo, ya no funciona desde la version 29, parece.
Muchas de las aplicaciones que antes usaba, aun siguen en la tienda. Muertas. Preferiria que las saquen si ya no van a funcionar, pero ahí siguen. Me da un poco de desconfianza esto, pero es cuestión de no instalar todo lo que veo a lo loco. Aun asi, me vienen bien algunas funciones y no quiero programar nuevos complementos, asi que quiero intentar algo.
Parece que existe una app llamada Aria2 que era el núcleo que permitía descargar cosas con NCDownloader y lo puedo instalar de forma local. Como ahora tengo un montón de almacenamiento disponible y algo de procesador extra, vamos viendo si es viable integrar esto.
El Problema
NCDownloader no funciona. Pero no quiero exponer mas puertos ni servicios para mas de controlar una app local, así que si lo que estoy intentando funciona, se podría aplicar a mas servicios. Claro, Aun estarán expuestos, pero mientras nadie lo sepa, no debería haber problemas XD.
La solución
Vamos asumiendo que ya tienes un esquema similar al del articulo anterior. Vamos añadiendo unas cuantas cosas mas para que el plan funcione. Necesitamos Aria2 y AriaNG
sudo apt update && sudo apt install aria2 -y
AriaNG te lo tendras que sacar desde su repo de GitHub. Es un solo archivo HTML que funcionara como interfaz grafica para Aria2 mediante JsonRPC
https://github.com/mayswind/AriaNg
Tienes que configurar Aria2 para recibir peticiones RPC
aria2c --enable-rpc --rpc-listen-all --rpc-secret=TU_CLAVE_SEGURA -D
El «TU_CLAVE_SEGURA» puede ser cualquier cosa. pero te recomiendo generar una clave que vas a necesitar un poco después.
Ahora necesitas desplegar AriaNG. Por ejemplo, puedes dejarlo en /var/www/ariang
Con estas cosas ya tenemos listo las cosas que necesitamos para que trabaje el descargador, pero ahora nos hace falta configurar los proxies.
Configuracion de Nginx Local
A partir de aquí, vamos configurando el Nginx para que podamos utilizar Aria2. Agrega estos codigos dentro del apartado server, antes de tu location /Esto es muy importante debido a que Nextcloud tiene unas agresivas reglas de reescritura de URL que impiden que tengas otros servicios que no sean de nextcloud.
Al ubicarlas antes del location / puedes hacer que se ejecuten antes de que las reglas de reescritura los intercepten.
Usaremos los comodines ~^ para asegurarnos que no sean interceptados por las demás reglas.
location ~^/ariang/ { alias /var/www/ariang/; # Asegúrate de que termine en barra / index index.html; try_files $uri $uri/ =404; } location ~^/jsonrpc { proxy_pass http://10.0.0.2:6800; # SIN barra al final proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # Evitar redirecciones automáticas de Nginx proxy_redirect off; }
El primer bloque location es para servir, mediante la configuración de tu Nginx local, en el directorio AriaNG el contenido de la carpeta que ubiques en el campo «alias»
El segundo bloque, en cambio, permite redireccionar el servicio local de aria2 para que salga por el mismo servidor de NextCloud.
Con las configuraciones actuales, de forma local ya puedes acceder a http://localhost/ariang/ y podrías visualizar la interfaz gráfica. Puedes hacer las configuraciones que consideres apropiadas, pero vamos a avanzar un poco mas antes de eso.
Debido a las configuraciones que hemos hecho, ya podríamos utilizar desde el servidor publico la interfaz AriaNG sin problemas.
A partir de ahora, puedes ir a las configuraciones de tu nextcloud y en el apartado de «Sitios Externos» puedes agregar tu instancia de AriaNG y utilizarla dentro de tu NextCloud. Pero recuerda que tienes que hacer unos ajustes antes de empezar a usarlo.

Configuraciones adicionales
Ahora que esta todo listo, podemos usar AriaNG, de forma local y de forma remota y de forma local accediendo a su URL, pero todavía queda configurar el servicio de RPC.
Busca Ajustes de AriaNG

Y en la pestaña de RPC, configura con los datos que solicita.
Recuerda que si estas accediendo desde el servidor publico, debes usar tu dominio mas el puerto 443 si usas HTTPS. Recuerda agregar el token secreto RPC de Aria2 que generamos mas arriba.

Una vez que hayas configurado estas cosas, falta una cosa mas que podrías necesitar ajustar.
Si bien estas usando Aria2 en tu usuario local y puedes guardar tus descargas donde quieras, NextCloud solo puede acceder al directorio dentro de la carpeta /var/www/ así que tienes que configurar los permisos para que NextCloud pueda visitar la carpeta que quieres vigilar.
Te recomiendo unir a nginx a tu grupo de usuario y a tu directorio home lo agregues al grupo nginx. Esto le permitirá ver las carpetas que quieras compartir dentro de tu directorio home, pero es un riesgo de seguridad importante que tal vez prefieras evitar. Lo mejor es que todos los archivos que quieras compartir estén en los directorios de /var/www/ para reducir el impacto de un hipotético ataque exitoso.
Como sea. Una vez que hayas hecho esto, puedes agregar desde las configuraciones de administración, almacenamiento externo, los directorios locales que desees administrar con nextcloud. De esta manera, lo que descargues con Aria2 en la carpeta descargas, por ejemplo, puedes visualizarlo con Nextcloud en el administrador de archivos.
Conclusiones
Al final si que pude ejecutar la idea que tenia por completo. Puedo agregar descargas mediante Aria2 y administrar los archivos resultantes mediante Nextcloud. Es una pena que las aplicaciones que mas me gustaban en Nextcloud vayan muriendo, pero algo no por eso voy a tirar todo Nextcloud. Hay que improvisar.
Una cosa que me queda pendiente resolver es lo lento que funciona Nextcloud. En local, con todos los recursos a mano, funciona igual de lento, así que no se que es lo que pasa realmente. Como con WordPress vamos.
Te recomiendo que arriesgues lo menos posible para este proyecto. Es cierto que una instancia local y personal llama poco la atención, pero estarías abriendo muchas puertas por si alguien se entusiasma mucho contigo.

