Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
rtorrent [Le 29/01/2010, 02:27] Ban :page_de_manuel → :man |
rtorrent [Le 02/06/2024, 15:11] (Version actuelle) andykimpe backspace = effacer |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Feisty Gutsy réseau p2p bittorrent}} | + | {{tag>Xenial réseau p2p bittorrent}} |
---- | ---- | ||
Ligne 7: | Ligne 7: | ||
**rTorrent** est un client BitTorrent très léger fonctionnant en ligne de commande. Il n'utilise que très peu de ressources (pratique si vous disposez d'une vieille machine). | **rTorrent** est un client BitTorrent très léger fonctionnant en ligne de commande. Il n'utilise que très peu de ressources (pratique si vous disposez d'une vieille machine). | ||
- | La seule contrainte de cet outil est qu'on ne peut pas fermer le terminal dans lequel il est lancé sans le stopper. Pour contourner ce problème, on utilisera le programme [[:Screen]] ou dtach. | + | {{https://i.imgur.com/6V6pB.png?500}} |
- | Il est également possible d'utiliser [[alltray]] afin d'envoyer l'icône du terminal dans la zone de notification. | + | |
+ | La seule contrainte de cet outil est qu'on ne peut pas fermer le terminal dans lequel il est lancé sans le stopper. Pour contourner ce problème, on utilisera le programme [[:Screen]], tmux ou dtach. | ||
+ | Il est également possible d'utiliser [[:alltray]] afin d'envoyer l'icône du terminal dans la zone de notification. | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | + | ||
- | Vous devez activer les [[depots#universe_et_multiverse|dépôts Multiverse]]. | + | * Disposer des [[:sudo|droits d'administration]]. |
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
===== Installation ===== | ===== Installation ===== | ||
- | [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt://rtorrent|rtorrent]]** et **[[apt://screen|screen]]** (ou **[[apt://dtach|dtach]]**). | + | [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>rtorrent]]** et **[[apt>screen]]** (ou **[[apt>dtach]]**). |
===== Configuration ===== | ===== Configuration ===== | ||
- | Tout d'abord, commencez par créer le fichier de configuration. | + | Tout d'abord, commencez par créer le fichier de configuration. |
- | Copier le fichier **/usr/share/doc/rtorrent/examples/rtorrent.rc** dans votre dossier personnel. | + | Copier le fichier **/usr/share/doc/rtorrent/examples/rtorrent.rc** dans votre **dossier personnel**. |
<code>cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc</code> | <code>cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc</code> | ||
Ligne 30: | Ligne 32: | ||
Voici une configuration basique de ce fichier. Pour plus de détails, consultez la [[:man|page de manuel]] de rTorrent. | Voici une configuration basique de ce fichier. Pour plus de détails, consultez la [[:man|page de manuel]] de rTorrent. | ||
- | <file> | + | <file rtorrent.rc> |
# Fichier de configuration de rtorrent. | # Fichier de configuration de rtorrent. | ||
# Par défaut, c'est le fichier ~/.rtorrent.rc | # Par défaut, c'est le fichier ~/.rtorrent.rc | ||
- | # Limites des taux de téléchargement en réception et en envoi. "0" équivaut à aucune limite. | + | # Limites des taux de téléchargement en réception et en envoi. "0" équivaut à aucune limite. |
#download_rate = 500 | #download_rate = 500 | ||
#upload_rate = 150 | #upload_rate = 150 | ||
- | # Répertoire qui contient les fichiers qui pendant le téléchargement. | + | # Répertoire qui contient les fichiers téléchargés. |
directory = ~/torrent/data | directory = ~/torrent/data | ||
Ligne 54: | Ligne 56: | ||
check_hash = yes | check_hash = yes | ||
- | # Ce répertoire contient les fichiers .torrent. | + | # Ce répertoire contient les fichiers .torrent. |
# Dès qu'un nouveau .torrent y est ajouté, le téléchargement commence. | # Dès qu'un nouveau .torrent y est ajouté, le téléchargement commence. | ||
schedule = watch_directory,15,15,load_start=~/torrent/torrent_active/*.torrent | schedule = watch_directory,15,15,load_start=~/torrent/torrent_active/*.torrent | ||
Ligne 69: | Ligne 71: | ||
dht = auto | dht = auto | ||
- | # Port UDP pour l'utilisation de DHT. | + | # Port UDP pour l'utilisation de DHT. |
dht_port = 6880 | dht_port = 6880 | ||
Ligne 76: | Ligne 78: | ||
encryption = allow_incoming,require,require_rc4 | encryption = allow_incoming,require,require_rc4 | ||
</file> | </file> | ||
+ | <note tip>Il faut penser à ouvrir les ports utilisés par rtorrent dans [[:iptables]]. Les ports définis dans port_range & dht_port.</note> | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Pour lancer rtorrent, tapez dans une console : | + | Pour lancer rtorrent, tapez dans un [[:terminal]] : |
rtorrent | rtorrent | ||
Ligne 91: | Ligne 94: | ||
</note> | </note> | ||
Vous pouvez ajouter des fichiers *.torrent de deux façons : | Vous pouvez ajouter des fichiers *.torrent de deux façons : | ||
- | * En pressant, dans rtorrent, la touche backspace, vous pouvez entrer le chemin complet du torrent ou bien une url du torrent. | + | * En pressant, dans rtorrent, la touche backspace (effacer), vous pouvez entrer le chemin complet du torrent ou bien une url du torrent. |
* En enregistrant directement le torrent dans le répertoire que vous avez indiqué dans votre fichier de configuration avec la commande watch_directory (dans le fichier de configuration plus haut, il s'agit du répertoire /home/nom_utilisateur/torrent/torrent_active/) | * En enregistrant directement le torrent dans le répertoire que vous avez indiqué dans votre fichier de configuration avec la commande watch_directory (dans le fichier de configuration plus haut, il s'agit du répertoire /home/nom_utilisateur/torrent/torrent_active/) | ||
Ligne 113: | Ligne 116: | ||
Voici l'exemple d'un torrent : | Voici l'exemple d'un torrent : | ||
<code> | <code> | ||
- | * ubuntu-5.10-install-i386.iso | + | * ubuntu-11.04-install-i386.iso |
* Torrent: 161.6 / 617.2 MB Rate: 1.1 / 41.3 KB Uploaded: 5.1 MB [24%] 0d 3:09 [TI R: 0.03] | * Torrent: 161.6 / 617.2 MB Rate: 1.1 / 41.3 KB Uploaded: 5.1 MB [24%] 0d 3:09 [TI R: 0.03] | ||
* | * | ||
Ligne 120: | Ligne 123: | ||
Voici sa signification : | Voici sa signification : | ||
- | ubuntu-5.10-install-i386.iso | + | ubuntu-11.04-install-i386.iso |
Nom du fichier téléchargé. | Nom du fichier téléchargé. | ||
Ligne 134: | Ligne 137: | ||
[24%] | [24%] | ||
- | Pourcentage du torrent déjà téléchargé. | + | Pourcentage du torrent déjà téléchargé. |
0d 3:09 | 0d 3:09 | ||
Ligne 148: | Ligne 151: | ||
R: 0.03 | R: 0.03 | ||
Indique le pourcentage de partage (//share ratio//) : c'est le nombre de données envoyées par rapport au nombre de données reçues. Ici, vous avez jusqu'ici envoyés 5.1 Mo et vous avez reçu 161.6 Mo, vous avez donc partagé 3 % du torrent. | Indique le pourcentage de partage (//share ratio//) : c'est le nombre de données envoyées par rapport au nombre de données reçues. Ici, vous avez jusqu'ici envoyés 5.1 Mo et vous avez reçu 161.6 Mo, vous avez donc partagé 3 % du torrent. | ||
- | |||
===== rtorrent en daemon...===== | ===== rtorrent en daemon...===== | ||
Ligne 155: | Ligne 157: | ||
Voici un petit script qui permet de lancer rtorrent au démarrage de la distribution tout en se laissant la possibilité d'accéder à l'interface console. | Voici un petit script qui permet de lancer rtorrent au démarrage de la distribution tout en se laissant la possibilité d'accéder à l'interface console. | ||
- | Vous devez tout d'abord avoir [[apt://dtach|dtach]]. | ||
- | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon.sh]] on écrit : | + | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrentd]] on écrit : |
- | <code>#!/bin/sh -e | + | <file bash>#!/bin/sh -e |
- | # Démarrer/arrêter rtorrent sous forme de daemon. | + | # |
- | + | ### BEGIN INIT INFO | |
- | NAME=rtorrent-daemon.sh | + | # Provides: rtorrentd |
+ | # Required-Start: $network $syslog | ||
+ | # Required-Stop: $network | ||
+ | # Default-Start: 2 3 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Description: Démarrer/arrêter rtorrent sous forme de daemon. | ||
+ | ### END INIT INFO | ||
+ | user= | ||
+ | NAME=rtorrentd | ||
SCRIPTNAME=/etc/init.d/$NAME | SCRIPTNAME=/etc/init.d/$NAME | ||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
+ | # path du fichier temporaire | ||
+ | TMP=/tmp/rtorrent.dtach | ||
+ | # user qui lance le torrent | ||
+ | |||
+ | # chemin vers fichier conf | ||
+ | CONF=/home/${user}/.rtorrent.rc | ||
+ | |||
+ | start() { | ||
+ | echo -n $"Starting $NAME: " | ||
+ | su -l ${user} -c "dtach -n $TMP rtorrent -n -o import=$CONF" | ||
+ | chmod 666 /tmp/rtorrent.dtach | ||
+ | echo "started" | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | echo -n $"Stopping $NAME: " | ||
+ | killall -r "rtorrent" | ||
+ | echo "stopped" | ||
+ | } | ||
+ | |||
+ | restart() { | ||
+ | |||
+ | if [ "$(ps aux | grep -e 'rtorrent' -c)" != 0 ]; then | ||
+ | { | ||
+ | stop | ||
+ | sleep 5 | ||
+ | } | ||
+ | fi | ||
+ | start | ||
+ | } | ||
+ | |||
case $1 in | case $1 in | ||
start) | start) | ||
- | echo -n "Démarrage de rtorrent... " | + | start |
- | dtach -n /tmp/rtorrent.dtach rtorrent -n -o import=/CHEMIN/VERS/VOTRE/FICHIER.rc | + | |
- | chmod 666 /tmp/rtorrent.dtach | + | |
- | echo "Démarré." | + | |
;; | ;; | ||
stop) | stop) | ||
- | echo -n "Arrêt de rtorrent... " | + | stop |
- | killall rtorrent | + | ;; |
- | echo "Arrêté." | + | restart) |
+ | restart | ||
;; | ;; | ||
*) | *) | ||
- | echo "Usage: $SCRIPTNAME {start|stop}" >&2 | + | echo "Usage: {start|stop|restart}" >&2 |
exit 2 | exit 2 | ||
;; | ;; | ||
esac | esac | ||
- | </code> | ||
- | <note tip>N'oubliez pas de changer "/CHEMIN/VERS/VOTRE/FICHIER.rc". La plupart du temps il se trouve ici : /home/USER/.rtorrent.rc</note> | ||
- | Pensez à rendre votre script exécutable : | + | </file> |
- | <code>sudo chmod +x /etc/init.d/rtorrent-daemon.sh</code> | + | <note tip>N'oubliez pas de renseigner compléter "user=" par votre nom d'utilisateur.</note> |
+ | |||
+ | Pensez à rendre votre script exécutable : | ||
+ | <code>sudo chmod +x /etc/init.d/rtorrentd</code> | ||
On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | ||
- | <code>sudo update-rc.d rtorrent-daemon.sh defaults 99</code> | + | <code>sudo update-rc.d rtorrentd defaults 99</code> |
Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | ||
Ligne 198: | Ligne 237: | ||
<note tip>Vous pouvez créer un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | <note tip>Vous pouvez créer un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | ||
- | Pour détacher ensuite l'interface console il suffit de taper CTRL + \. (Sur mac avec clavier suisse, le backslash se fait avec Maj + Alt + 7, et ça ne fonctionne pas avec l'interface console. Un Ctrl + $ fonctionne correctement pour détacher l'interface) | + | Pour détacher ensuite l'interface console il suffit de |
+ | * en qwerty: taper CTRL + \ | ||
+ | * en azerty: taper CTRL + MAJ + 4 | ||
+ | * mac avec clavier suisse, le backslash se fait avec Maj + Alt + 7 | ||
+ | * Ctrl + $ | ||
- | ===... avec screen === | ||
- | Installez [[apt://screen|screen]] qui est un outil plus répandu que dtach, il n'est pas aussi léger mais offre plus de fonctionnalités. | ||
- | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon.sh]] on écrit : | ||
- | <code>#!/bin/sh -e | ||
- | # Démarrer/arrêter rtorrent sous forme de daemon. | ||
- | NAME=rtorrent-daemon.sh | ||
- | SCRIPTNAME=/etc/init.d/$NAME | ||
- | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
- | case $1 in | ||
- | start) | ||
- | echo -n "Démarrage de rtorrent... " | ||
- | # (ne marchera que pour l'utilisateur USER) | ||
- | su -l USER -c "screen -fn -dmS rtd nice -19 rtorrent" | ||
- | echo "Démarré." | ||
- | ;; | ||
- | stop) | ||
- | echo -n "Arrêt de rtorrent... " | ||
- | killall rtorrent | ||
- | echo "Arrêté." | ||
- | ;; | ||
- | *) | ||
- | echo "Usage: $SCRIPTNAME {start|stop}" >&2 | ||
- | exit 2 | ||
- | ;; | ||
- | esac | ||
- | </code> | ||
- | <note tip>N'oubliez pas de changer "USER" par votre nom d'utilisateur.</note> | ||
- | Pensez à rendre votre script exécutable: | ||
- | <code>sudo chmod +x /etc/init.d/rtorrent-daemon.sh</code> | ||
- | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | + | ===…avec screen === |
- | <code>sudo update-rc.d rtorrent-daemon.sh defaults 99</code> | + | Screen est un outil plus répandu que dtach, il n'est pas aussi léger mais offre plus de fonctionnalités. |
- | + | Dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon]] on écrit : | |
- | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | + | <file bash>#!/bin/sh -e |
- | + | ||
- | Pour pouvoir accéder à l'interface console on utilise la commande: | + | |
- | <code>stty stop undef; stty start undef; screen -r rtd</code> | + | |
- | + | ||
- | <note tip>Vous pouvez vous créer un [[:tutoriel:script_shell|script]] ou un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | + | |
- | + | ||
- | Pour détacher ensuite l'interface console il suffit de taper Ctrl + a puis d . | + | |
- | + | ||
- | + | ||
- | Pour ceux qui préfère restart à start et stop : | + | |
- | + | ||
- | <code> | + | |
- | #!/bin/sh -e | + | |
# Start/Stop rtorrent sous forme de daemon. | # Start/Stop rtorrent sous forme de daemon. | ||
- | + | user= | |
- | NAME=rtorrentd | + | NAME=rtorrent-daemon |
SCRIPTNAME=/etc/init.d/$NAME | SCRIPTNAME=/etc/init.d/$NAME | ||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
Ligne 259: | Ligne 260: | ||
start) | start) | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
;; | ;; | ||
Ligne 282: | Ligne 283: | ||
killall -r "^.*rtorrent$" | killall -r "^.*rtorrent$" | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
} | } | ||
Ligne 289: | Ligne 290: | ||
echo "rtorrent not yet started !" | echo "rtorrent not yet started !" | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
} | } | ||
Ligne 299: | Ligne 300: | ||
;; | ;; | ||
esac | esac | ||
- | </code> | + | </file> |
+ | <note tip>N'oubliez pas de compléter "user=" par votre nom d'utilisateur.</note> | ||
+ | Pensez à rendre votre script exécutable: | ||
+ | <code>sudo chmod +x /etc/init.d/rtorrent-daemon</code> | ||
- | Sans vouloir critiquer, ce code est plus propre car il ne kill pas le daemon en même temps que les processus de rtorrent. | + | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : |
- | Ne pas oublier de remplacer root par le nom d'utilisateur. | + | <code>sudo update-rc.d rtorrent-daemon defaults 99</code> |
+ | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | ||
+ | |||
+ | Pour pouvoir accéder à l'interface console on utilise la commande: | ||
+ | <code>stty stop undef; stty start undef; screen -r rtd</code> | ||
+ | |||
+ | <note tip>Vous pouvez vous créer un [[:tutoriel:script_shell|script]] ou un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | ||
+ | |||
+ | Pour détacher ensuite l'interface console il suffit de taper Ctrl + a puis d . | ||
+ | |||
+ | ===…avec crontab === | ||
+ | |||
+ | Dans la crontab de l'utilisateur en lançant dtach. | ||
+ | L'utilisateur torrent lancera le dtach à chaque démarrage de la machine. | ||
+ | C'est simple, efficace, mais un peu brutal. | ||
+ | |||
+ | <code>sudo crontab -e -u torrent</code> | ||
+ | |||
+ | On rajoute cette ligne | ||
+ | |||
+ | # Start rtorrent in a detached session | ||
+ | @reboot TERM=xterm dtach -n ~/torrents/rtorrent rtorrent | ||
===== Interfaces graphiques ===== | ===== Interfaces graphiques ===== | ||
Ce qui fait toute la puissance de rTorrent est son API : xmlrpc. Elle permet a un logiciel client de se connecter à rTorrent et à fournir une interface en se basant sur le moteur du logiciel. Cette flexibilité, obtenu à un coût très raisonnable (installation du paquet rtorrent), permet d'utiliser rTorrent de multiples façons. | Ce qui fait toute la puissance de rTorrent est son API : xmlrpc. Elle permet a un logiciel client de se connecter à rTorrent et à fournir une interface en se basant sur le moteur du logiciel. Cette flexibilité, obtenu à un coût très raisonnable (installation du paquet rtorrent), permet d'utiliser rTorrent de multiples façons. | ||
Il peut être nécessaire d'installer pour ces clients mod_scgi : | Il peut être nécessaire d'installer pour ces clients mod_scgi : | ||
- | [[apt://libapache2-mod-scgi|libapache2-mod-scgi]] | + | [[apt>libapache2-mod-scgi]] (Disponible uniquement sur [[bionic|Ubuntu 18.04]] ((https://packages.ubuntu.com/search?suite=default§ion=all&arch=any&searchon=names&keywords=libapache2-mod-scgi))) |
- | ==== Interfaces "lourdes" ==== | ||
- | [[http://code.google.com/p/ntorrent/|nTorrent]] est une interface dite "lourde". | ||
- | Elle est programmée en java et à donc l'avantage d'être disponible sur beaucoup de plateforme. | ||
- | http://code.google.com/p/n2hell/ | ||
- | ==== Interfaces "Web" ==== | ||
- | [[http://code.google.com/p/rutorrent/wiki/Main|ruTorrent]] est une interface web en php. | ||
- | Elle est basée sur l'apparence (très agréable au demeurant) de uTorrent, le logiciel windows. Bien penser à lire la [[http://code.google.com/p/rutorrent/wiki/Main|mise en route]] | ||
- | Voir aussi [[rutorrent]] | ||
- | |||
- | [[http://www.wtorrent-project.org/trac/|wTorrent]] est une interface web en php. | ||
+ | ==== Interfaces "Web" ==== | ||
+ | * [[rutorrent]] est une interface web en php. Elle est basée sur l'apparence (très agréable au demeurant) de uTorrent, le logiciel windows. | ||
- | [[http://web-gmui.sourceforge.net/|web-gmui]] est une interface web en php. | + | * [[https://github.com/Flood-UI/flood|flood]] est une interface moderne écrite en Node.js spécifiquement pour rTorrent, minimaliste et très fiable. |
- | Elle est non seulement compatible avec rTorrent, mais aussi avec MLdonkey, aMule, Transmission and giFT. | + | |
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * [[http://libtorrent.rakshasa.no/|Site officiel de rTorrent]] (en) | + | * [[http://rakshasa.github.io/rtorrent/|Site officiel de rTorrent]] (en) |
- | * [[http://libtorrent.rakshasa.no/wiki/UtilsList|Une liste de logiciels se greffant sur rTorrent]] (en) | + | |
---- | ---- | ||
- | //Contributeurs : [[utilisateurs:Yoann]], [[utilisateurs:Samaga]], Geek Spirit, Simtris.// | + | //Contributeurs : [[utilisateurs:Yoann]], [[utilisateurs:Samaga]], [[utilisateurs:Flayor]], Geek Spirit, Simtris.// |