webui-aria2
Il y a 3 outils pour télécharger des fichiers en ligne de commande qu’il faut connaitre sur GNU/Linux : wget, curl, aria2. Un excellent article en Anglais sur les différences entre wget et curl en passant.
Aria2 est un gestionnaire de téléchargement en ligne de commande supportant HTTP/HTTPS, FTP, SFTP, BitTorrent, Metalink.
Aria2 s’installe sur n’importe quelle distro GNU/Linux aisément via le paquet aria2. Sous Debian on fera donc apt-get install aria2
pour l’installer. Il se pilote via la commande aria2c
, la documentation est ici.
webui-aria2
Je ne vais pas vous mentir, j’ai horreur de gérer des téléchargements en ligne de commande. C’est là où intervient une application web minimaliste dans son fonctionnement mais absolument redoutable : webui-aria2.
J’avais un besoin, je désirais lancer des téléchargements sur mon server@home alors que j’étais à l’extérieur de chez moi. Au début je me connectais en SSH et puis je lançais une commande wget. C’était pénible, je n’avais pas la visibilité sur l’avancement du téléchargement, les ports peuvent être bloqués sur des Wi-Fi publics etc.
Et là webui-aria2 est apparu sur son cheval blanc dans le soleil couchant. Redoutable.
L’idée est très simple, vous lancez aria2 en tant que démon sur votre server@home. Vous vous connectez ensuite dessus et vous lui envoyez des instructions/téléchargements grâce à webui-aria2. La particularité de webui-aria2 c’est qu’il se lance sur votre poste actuel (ce n’est pas un site à installer sur apache/nginx) donc de n’importe où.
Concrètement je suis sur mon poste Windows au boulot, je dézippe le dossier webui-aria2, je met les paramètres pour me connecter à mon serveur aria2 dans le fichier configuration.js
puis je clique sur index.html et je commence à ajouter les téléchargements que je veux. Ce qui est très cool c’est donc que ça s’utilise sur Windows, GNU/Linux, Android (testé, très mal foutu mais fonctionnel) et que le seul besoin que vous avez c’est un navigateur (et une connexion internet).
Passons à la mise en place et commençons par notre server@home évidemment sous Debian.
apt-get install aria2 # On installe aria2 openssl rand -base64 32 # On génère un mot de passe aléatoire de 32 caractères avec openssl qui nous servira de jeton (token) de sécurité pour nous authentifier (avec l'option --rpc-secret) sur aria2 aria2c --enable-rpc --rpc-listen-all --rpc-secret=7iQzqgg6Soe5MqpWGaLODhAbNcFwkFEaQYCQhCAtDrIZ --daemon # La ligne de commande avec toutes les options pour lancer aria2 en démon et à l'écoute
--enable-rpc
: On active l’écoute du serveur JSON-RPC/XML-RPC
--rpc-listen-all
: On active les requêtes entrantes JSON-RPC/XML-RPC sur toutes les interfaces réseaux
--rpc-secret=7iQzqgg6Soe5MqpWGaLODhAbNcFwkFEaQYCQhCAtDrIZ
: Notre jeton d’authentification secret afin de nous connecter au serveur aria2 (7iQzq…tDrIZ ayant été généré avec la commande openssl)
--daemon
: On lance aria2 en démon
pkill aria2c
: Tuer simplement aria2c si besoin
Par défaut le serveur JSON-RPC/XML-RPC écoute sur le port 6800, vous pouvez évidemment le modifier (--rpc-listen-port=PORT
avec un port compris entre 1024-65535). Il faut impérativement faire une redirection/ouverture de ports sur votre box internet. Pour ma part je fais une redirection de port, j’utilise le port 443 (HTTPS) que je redirige vers mon server@home sur le port 6800. Pour rappel les ports 80 et 443 sont souvent les seuls ouverts dans les Wi-Fi publics.
On peut également utiliser un fichier de configuration avec les options dedans ce qui donnera aria2c --conf-path=aria2.conf --daemon
. Je vous invite à sécuriser ce fichier avec chmod 600 aria2.conf
.
dir=/home/babar/Téléchargements max-concurrent-downloads=5 max-connection-per-server=3 enable-rpc=true rpc-listen-all=true rpc-secret=7iQzqgg6Soe5MqpWGaLODhAbNcFwkFEaQYCQhCAtDrIZ
Certaines personnes souhaiteront peut-être en faire un service qui se lance au démarrage, ce n’est pas mon cas mais ça se trouve aisément sur le net. Le fonctionnement est très simple comme ça, j’apprécie. On en a terminé pour le server@home, simple et rapide non ?
Maintenant sur notre poste local évidemment sous Xubuntu.
1/ On télécharge et on dézippe webui-aria2 wget https://github.com/ziahamza/webui-aria2/archive/master.zip && unzip master.zip
2/ On édite le fichier configuration.js
, on modifie le host (host: 'laurent-napias.com'
), le port (port: 443
) et on renseigne le token (token: '7iQzqgg6Soe5MqpWGaLODhAbNcFwkFEaQYCQhCAtDrIZ'
). Ci-dessous je n’ai pas mis la totalité du fichier mais seulement le bout qui nous intéresse
host: 'bloglibre.net', path: '/jsonrpc', port: 443, encrypt: false, auth: { // either add the token field or the user and pass field, not both. token: '7iQzqgg6Soe5MqpWGaLODhAbNcFwkFEaQYCQhCAtDrIZ' }, directURL: '' // If supplied, links will be created to enable direct download from the aria2 server, requires appropriate webserver to be configured })
3/ On clique sur index.html (qui va donc s’ouvrir avec notre navigateur par défaut) puis Add, By URIs pour ajouter les adresses des téléchargements
Voilà. C’est simple, c’est beau, c’est efficace, c’est encore et toujours du libre. Et je fais le SAV si vous avez besoin.
Bisous.
Déjà 12 avis pertinents dans webui-aria2
Les commentaires sont fermés.
http://img11.hostingpics.net/pics/297739Capturedu20160601211717.png
j’utilise nginx + php 7 :
## début config aria2 ##
location ^~ /webui-aria2-master {
root /var/www;
include /etc/nginx/conf.d/php.conf;
include /etc/nginx/conf.d/cache.conf;
auth_basic « aria2 »;
auth_basic_user_file « /etc/nginx/passwd/rutorrent_passwd_user »;
}
## fin config aria2 ##
Quel autre modification doit-je faire ?
En fait ce qu’il faut comprendre c’est que webui-aria2 ne fonctionne pas comme ça. Il ne sera donc pas possible de le rendre « compatible sous nginx ». webui-aria2 n’est qu’une interface graphique pour communiquer avec aria2 et cette interface graphique : c’est une page web. Cette page web doit donc être lancé en local et va aller se connecter sur aria2 (une fois que tu as rempli les paramètres évidemment).
Je t’envoie un mail car j’ai eu du mal à comprendre la logique justement.
Tcho !
Après je comprend très bien ta façon de faire, t’inquiète pas.
Je vais t’envoyer un mail car les échanges dans les commentaires peuvent prendre du temps.
Tcho !
Hormis ça, j’ai un autre soucis, peut-être pourriez-vous m’aider ?
Quand je tape :
aria2c –enable-rpc –rpc-listen-all –rpc-secret=maclefsecrete –daemon
J’obtiens l’erreur suivante :
aria2c : option non reconnue « –rpc-secret=maclefsecrete »
Usage: aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]…
See ‘aria2c -h
J’ai bien sûr essayé sans la clef secrète et ça marche sans soucis, mais bon niveau sécurité c’est pas fou.
Est-ce que vous auriez une idée du problème ?
Merci.
Je fais des suppositions, je ne connais pas ton niveau. C’est bien des tirets et double tirets que tu utilises ? Tu as essayé avec 1234 comme clef secrète
--rpc-secret=1234
?Tcho !
Tu fais bien, je m’intéresse que depuis récemment au monde de Linux donc je pourrais rapidement être perdu.
Et oui ce sont bien les bons tirets à chaque fois, en image : https://dl.dropboxusercontent.com/u/61641764/pb_aria2.png
Une piste d’un ami mais je suis pas sûr que ça résolve le soucis. En fait j’ai la version 1.18 (avant 1.15) mais les dernières sources montrent la version 1.27. Je vais essayer de l’installer pour voir et je reviens vers toi.
Merci pour ton aide
Tcho !
Oui c’est bien OpenMediaVault et j’ai « résolu » le soucis en installant la version 1.26 d’aria2. Pour info si d’autres ont ce problème, j’avais tenté la version 1.20 aussi et même erreur. Puis tenté la 1.27 mais je n’arrivais pas à compiler (problème de dépendances probablement) donc j’ai essayé la version 1.26 et plouf ça a fonctionné…
Il semblerait donc que l’option –rpc-secret ne soit pas disponible dans les vieilles versions ?
En tout cas merci pour ton tuto et pour tes réponses rapides, ça fait plaisir
L’important est que ce soit résolu mais à mon avis ça venait (indirectement) de OpenMediaVault. Je suis en 1.18.8 qui date de 2014 sur Debian et no problemo.
Tcho !