Instalando Aria2 y AriaNg en Linux para la Gestión de Descargas Basada en Web
Instalando Aria2 y AriaNg en Linux para la Gestión de Descargas Basada en Web
Aria2 es una utilidad de descarga de línea de comandos ligera pero poderosa que soporta HTTP/HTTPS, FTP, SFTP, BitTorrent y Metalink, todo en un solo binario.
Cuando se combina con AriaNg, una interfaz moderna basada en web, puedes convertir cualquier servidor Linux o VPS en un centro de descargas limpio, rápido y completamente gestionado de forma remota.
Esta guía cubre cómo instalar Aria2, configurar RPC, desplegar AriaNg y gestionar todo a través de un navegador.
1. Actualiza Tu Sistema
Antes de instalar cualquier cosa, actualiza tu entorno Linux:
sudo apt update && sudo apt upgrade -y(Para CentOS/Rocky/AlmaLinux, usa yum o dnf en su lugar.)
2. Instala Aria2
En Debian/Ubuntu:
sudo apt install aria2 -yEn CentOS/Rocky Linux/AlmaLinux:
sudo yum install epel-release -y
sudo yum install aria2 -yVerifica la instalación:
aria2c -v3. Crea el Directorio de Configuración de Aria2
mkdir -p ~/.aria2Luego crea el archivo de configuración principal:
nano ~/.aria2/aria2.confPega la configuración recomendada:
dir=/downloads
enable-rpc=true
rpc-listen-port=6800
rpc-secret=tucontraseña
continue=true
max-concurrent-downloads=5
split=16
min-split-size=10M
max-connection-per-server=16
input-file=/home/tuusuario/.aria2/aria2.session
save-session=/home/tuusuario/.aria2/aria2.session
save-session-interval=60
daemon=trueCrea el archivo de sesión:
touch ~/.aria2/aria2.session4. Crea el Directorio de Descargas
sudo mkdir -p /downloads
sudo chmod -R 777 /downloads5. Inicia Aria2 con Systemd
Crea el archivo de servicio:
sudo nano /etc/systemd/system/aria2.serviceInserta:
[Unit]
Description=Gestor de descargas Aria2c
After=network.target
[Service]
Type=simple
User=tuusuario
ExecStart=/usr/bin/aria2c --conf-path=/home/tuusuario/.aria2/aria2.conf
Restart=on-abort
[Install]
WantedBy=multi-user.targetHabilita e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable aria2
sudo systemctl start aria2Verifica el estado:
sudo systemctl status aria26. Instala AriaNg (Interfaz Web)
AriaNg es una interfaz HTML estática y funciona perfectamente con Nginx.
Instala Nginx:
sudo apt install nginx -yDescarga AriaNg:
cd /var/www
sudo git clone https://github.com/mayswind/AriaNg.gitO descarga la versión:
wget https://github.com/mayswind/AriaNg/releases/latest/download/AriaNg.zip
sudo unzip AriaNg.zip -d /var/www/ariang7. Configura Nginx para AriaNg
Crea un nuevo sitio:
sudo nano /etc/nginx/sites-available/ariangInserta:
server {
listen 80;
server_name _;
root /var/www/ariang;
index index.html;
}Habilita:
sudo ln -s /etc/nginx/sites-available/ariang /etc/nginx/sites-enabled/
sudo systemctl restart nginxAccede a AriaNg a través del navegador:
http://tu-ip-del-servidor/8. Conecta AriaNg a Aria2
Dentro de la interfaz de AriaNg:
Abre Configuración → RPC
Dirección RPC: http://tu-ip-del-servidor:6800/jsonrpc
Secreto RPC: el rpc-secret en tu aria2.conf
Guarda y AriaNg se conectará al instante.
9. (Opcional) Habilita HTTPS
Para mayor seguridad:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginxPreguntas Frecuentes
- ¿Por qué AriaNg no puede conectarse a Aria2 RPC?
La mayoría de las veces se debe a que el firewall está bloqueando el puerto 6800. Ábrelo con:
sudo ufw allow 6800También verifica que el rpc-secret coincida en Aria2 y AriaNg.
- Aria2 se detiene cuando cierro la sesión SSH. ¿Cómo puedo mantenerlo en funcionamiento?
Asegúrate de estar ejecutando Aria2 usando systemd, no manualmente.
systemctl start aria2 lo mantiene en funcionamiento en segundo plano.
- ¿Puedo establecer límites de velocidad de descarga?
Sí. Agrega lo siguiente a aria2.conf:
max-overall-download-limit=5M
max-download-limit=1MReinicia Aria2 después.
- ¿Aria2 soporta enlaces torrent o magnet?
Sí. Aria2 maneja tanto archivos .torrent como enlaces magnet directamente en AriaNg.
- ¿Cómo puedo proteger AriaNg de accesos no autorizados?
Habilita HTTPS y la autenticación por contraseña opcional de Nginx:
sudo apt install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminLuego añade a tu bloque de servidor:
auth_basic "Protegido";
auth_basic_user_file /etc/nginx/.htpasswd;