Je continue de jouer avec PushOver. Après avoir mis en place un système de notifications pour quelques-unes des applications dont je me sers, je souhaitais aussi le faire pour rTorrent.
Le principe est simple :
– Créer une « application » sur mon compte PO afin d’obtenir une clé API,
– Créer un script qui contiendra mes accès PO et qui enverra le message ABCD via l’API PO,
– Modifier .rtorrent.rc afin que ce script soit exécuté à la fin de chaque DL.
Créer une « application » sur PushOver
– Cliquez sur Register an Application en bas de votre compte,
– Donnez-lui le nom que vous voulez, précisez que c’est un script (j’ai toujours pas trouvé l’intérêt, sans doute pour leurs stats), je mets une icône de rTorrent histoire de rendre ça plus sympa en recevant la notification (totalement superflue, comme de recevoir ce genre de notif, on est d’accord ^^),
– Récupérez votre Token pour cette « application ».
Créer un script
Même principe que dans le tutoriel PushOver en CLI. Comme tous mes DL de serveurs sont rapatriés chez moi via SyncThing, mon message envoyé par ce script est personnalisé. Libre à vous de le modifier.
#!/bin/bash # Nom du script .. : rtorrentpo.sh # Date ........... : 06.2016 # Auteur ......... : Aerya | UpAndClear.org # Description .... : Notification PushOver suite à DL complet sur rTorrent # Prerequis ...... : Curl (sudo apt-get install curl) # Specificites ... : . # Execution ...... : Voir https://wp.upandclear.org/?p=2097 # Variables ...... : Les definir ici et ne pas modifier la suite du script # TOKEN .......... : Clé API de votre "application" # USER ........... : Clé de votre compte PO # MESSAGE ........ : Contenu du message que vous voulez envoyer, le nom du .torrent est déjà inclus via $1 TOKEN='' USER='' MESSAGE='complet et transmis vers SyncThing' # Script ......... : NE PAS MODIFIER # 1 .............. : Appel de l'URL avec les variables qui suivent # 2 .............. : Clé API de votre "application" # 3 .............. : Clé de votre compte PO # 4 .............. : Contenu du message, $1 = nom du .torrent # 5 .............. : URL de l'API PushOver curl -s \ --form-string "token=${TOKEN}" \ --form-string "user=${USER}" \ --form-string "message=$1 ${MESSAGE}" \ https://api.pushover.net/1/messages.json
Créez par exemple le fichier rtorrentpo.sh (nano rtorrentpo.sh puis quittez en enregistrant avec les touches ctrl + x) dans votre /home/USER/ et rendez-le ensuite exécutable.
sudo chmod +x rtorrentpo.sh
Modifier .rtorrent.rc
Ce fichier caché dans votre /home/USER/ est le fichier de configuration de rTorrent. Il convient de l’éditer (nano /home/USER/.rtorrent.rc) et d’ajouer à la fin que nous voulons que rTorrent exécute le script rtorrentpo.sh à la fin de chaque téléchargement.
Voici le code à ajouter (modifier selon le nom et le chemin de votre script rtorrentpo.sh)
system.method.set_key=event.download.finished,notificationscript,"execute={bash,/home/USER/rtorrentpo.sh,$d.get_name=}"
Attention, à partir de la version rTorrent/ruTorrent 0.9.8/0.13.8 il faut modifier la ligne par ceci (merci Fana)
method.set_key = event.download.finished,notification,"execute2=/home/USER/rtorrentpo.sh,$d.name="
Ce qui vous rendra un fichier de ce type
scgi_port = 127.0.0.1:9203 encoding_list = UTF-8 port_range = 51829-51829 port_random = no check_hash = yes directory = /home/xtr02/torrents/IN/ session = /home/xtr02/.session encryption = allow_incoming, try_outgoing, enable_retry schedule = watch_directory,1,1,"load_start=/home/xtr02/torrents/WatchDir/*.torrent" schedule = untied_directory,5,5,"stop_untied=/home/xtr02/torrents/WatchDir/*.torrent" schedule = espace_disque_insuffisant,1,30,close_low_diskspace=50000M use_udp_trackers = yes dht = off peer_exchange = no min_peers = 40 max_peers = 100 min_peers_seed = 10 max_peers_seed = 50 max_uploads = 40 execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php xtr02 &} # Notification PushOver suite DL complet system.method.set_key=event.download.finished,notificationscript,"execute={bash,/home/xtr02/rtorrentpo.sh,$d.get_name=}"
Vous recevrez ce type de notification
(267 vues)