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 | ||
p2p:rtorrent:pyroscope-rtorrent-ps:script-rtmanager [le 24/01/2017 à 11h25] 111110101011 21-24 janvier. Essai de couleurs, remplacement de qq PATH, début d'usage de templates |
p2p:rtorrent:pyroscope-rtorrent-ps:script-rtmanager [le 27/01/2017 à 23h11] (Version actuelle) 111110101011 [Screenshot] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== rtmanager.sh ====== | ====== rtmanager.sh ====== | ||
- | Un script fait maison pour accueillir les utilisateurs d'une session SSH sur la seedbox, c' | + | Un script fait maison pour accueillir les utilisateurs d'une session SSH sur la seedbox. |
+ | |||
+ | Le script est encore en développement, | ||
+ | |||
+ | Le script ne se suffit pas à lui-même, il se complète avec les formats et les templates de sortie de rtcontrol. Vous devrez aussi ajuster les permissions des répertoires. | ||
+ | |||
+ | ===== Screenshot ===== | ||
+ | |||
+ | Bon ok, c'est du terminal hein... mais y'a un peu de couleur ;) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Formats ===== | ||
+ | |||
+ | <code ini config.ini> | ||
+ | # Affiche nom, pourcentage de completion, taille, débit descendant | ||
+ | f1 = {{default ESC= '\x1B' | ||
+ | |||
+ | # Affiche uniquement le ratio et le nom. | ||
+ | f2 = {{default ESC= ' | ||
+ | </ | ||
+ | |||
+ | * ESC est un échappement qui précède les codes couleurs. | ||
+ | * [99m sont les codes couleurs | ||
+ | * le format peut se définir de la même façon qu'un template, on peut utiliser des structures conditionelles, | ||
+ | |||
+ | |||
+ | ===== Script ===== | ||
Date: 24 janvier 2017 | Date: 24 janvier 2017 | ||
Ligne 15: | Ligne 44: | ||
RTCFGOPTS=' | RTCFGOPTS=' | ||
RTCMD=" | RTCMD=" | ||
+ | RTPATHCOMPLETE="/ | ||
+ | RTPATHWORK="/ | ||
+ | RTPATHWATCH="/ | ||
+ | RTPATHWATCHHANDLED="/ | ||
function rt_is_admin() { | function rt_is_admin() { | ||
Ligne 33: | Ligne 66: | ||
else | else | ||
RTUSER=" | RTUSER=" | ||
+ | # à vérif: si je mets le / final, il ne match pas | ||
+ | RTCMD=" | ||
fi | fi | ||
- | RTPATHCOMPLETE="/ | ||
- | RTPATHWORK="/ | ||
- | RTPATHWATCH="/ | ||
- | RTPATHWATCHHANDLED="/ | ||
- | RTUSERS=" | ||
Ligne 85: | Ligne 115: | ||
### RTCONTROL | ### RTCONTROL | ||
+ | |||
+ | RTF1=" | ||
function rt_print_user_torrents() { | function rt_print_user_torrents() { | ||
- | #$RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" |
- | $RTCMD -qO flistall.txt | + | } |
+ | |||
+ | function rt_print_users_torrents() { | ||
+ | $RTCMD -qo f1 " | ||
} | } | ||
function rt_print_user_incomplete() { | function rt_print_user_incomplete() { | ||
- | $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" " |
} | } | ||
function rt_print_user_complete() { | function rt_print_user_complete() { | ||
- | $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" " |
+ | } | ||
+ | |||
+ | function rt_print_user_ratio() { | ||
+ | $RTCMD -qo f2 "$RTF1" | ||
} | } | ||
function rt_print_user_trackers() { | function rt_print_user_trackers() { | ||
- | $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ | + | $RTCMD -q " |
+ | } | ||
+ | |||
+ | function rt_print_recent_complete() { | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | $RTCMD -qo f1 " | ||
+ | |||
+ | echo "" | ||
} | } | ||
Ligne 125: | Ligne 173: | ||
echo " | echo " | ||
- | echo -n " | + | echo -ne $CD" |
read critere | read critere | ||
Ligne 133: | Ligne 181: | ||
resultats=$(mktemp) | resultats=$(mktemp) | ||
- | $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" " |
- | let nbresu=$(cat $resultats | wc -l)/2 | + | let nbresu=$(cat $resultats | wc -l) |
fi | fi | ||
Ligne 164: | Ligne 212: | ||
echo " | echo " | ||
if [ " | if [ " | ||
- | echo -n '!' | + | echo -ne "$CA!$C0" |
fi | fi | ||
- | echo -n " | + | echo -ne $CD" |
read confirmation | read confirmation | ||
case $confirmation in | case $confirmation in | ||
o|O|y|Y) | o|O|y|Y) | ||
- | $RTCMD -q "realpath=*$RTPATHCOMPLETE/ | + | $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/ |
# | # | ||
;; | ;; | ||
Ligne 305: | Ligne 353: | ||
function list_user_watch() { | function list_user_watch() { | ||
- | echo " | + | echo -e $C4" |
find " | find " | ||
Ligne 313: | Ligne 361: | ||
function list_user_watch_handled() { | function list_user_watch_handled() { | ||
- | echo " | + | echo -e $C4" |
find " | find " | ||
Ligne 337: | Ligne 385: | ||
cat << EOF | cat << EOF | ||
- | 1 : Lister | + | [$RTUSER] L : Lister |
- | 2 : Lister | + | |
- | 3 : Lister | + | |
- | 4 : Rechercher des téléchargements selon leur nom | + | |
- | 5 : Statistiques des trackers | + | |
- | + | | |
- | 6 : Supprimer des téléchargements sans supprimer les fichiers terminés | + | |
- | 7 : /!\ Supprimer des téléchargements, | + | [all] O : Lister les fichiers complets de tous les utilisateurs |
- | + | | |
- | 8 : Lister les fichiers complets de tous les utilisateurs | + | |
- | 9 : Lister les fichiers .torrent dans watch | + | |
- | 10 : Lister les fichiers .torrent archivés | + | |
EOF | EOF | ||
Ligne 357: | Ligne 403: | ||
cat << EOF | cat << EOF | ||
- | q ou Q : Pour quitter ce menu (accès au shell) | + | |
- | m ou M : Pour réafficher ce menu | + | M : Pour réafficher ce menu |
- | z ou Z : Pour afficher un dinosaure | + | Z : Pour afficher un dinosaure |
EOF | EOF | ||
Ligne 370: | Ligne 416: | ||
cat << EOF | cat << EOF | ||
- | a ou A : Lister les fichiers orphelins (non chargés dans rtorrent) | + | or : Lister les fichiers orphelins (non chargés dans rtorrent) |
- | b ou B : Déplacer les fichiers qui pour une raison X sont restés dans /work/ | + | |
- | c ou C : Retirer les liens symboliques cassés de /work/ | + | |
EOF | EOF | ||
Ligne 400: | Ligne 446: | ||
function menu_ask() { | function menu_ask() { | ||
- | echo -n "> " | + | echo -ne "$CD>$C0 " |
read choice | read choice | ||
case $choice in | case $choice in | ||
- | 1) | + | l|L) |
rt_print_user_torrents | rt_print_user_torrents | ||
;; | ;; | ||
- | 2) | + | i|I) |
rt_print_user_incomplete | rt_print_user_incomplete | ||
;; | ;; | ||
- | 3) | + | c|C) |
rt_print_user_complete | rt_print_user_complete | ||
;; | ;; | ||
- | 4) | + | s|S) |
rt_user_search | rt_user_search | ||
;; | ;; | ||
- | 5) | + | a|A) |
- | rt_print_user_trackers | + | rt_print_users_torrents |
;; | ;; | ||
- | 6) | + | d|D) |
rt_del_user_torrents purge | rt_del_user_torrents purge | ||
;; | ;; | ||
- | 7) | + | dd|DD) |
rt_del_user_torrents cull | rt_del_user_torrents cull | ||
;; | ;; | ||
- | 8) | + | o|O) |
list_users_complete | list_users_complete | ||
;; | ;; | ||
- | 9) | + | w|W) |
list_user_watch | list_user_watch | ||
- | ;; | ||
- | 10) | ||
list_user_watch_handled | list_user_watch_handled | ||
;; | ;; | ||
- | a|A) | + | r|R) |
+ | rt_print_user_ratio | ||
+ | ;; | ||
+ | or) | ||
rt_is_admin && rt_print_orphans || menu_unknown_option | rt_is_admin && rt_print_orphans || menu_unknown_option | ||
;; | ;; | ||
- | b|B) | + | mv) |
rt_is_admin && rt_move_work_torrents || menu_unknown_option | rt_is_admin && rt_move_work_torrents || menu_unknown_option | ||
;; | ;; | ||
- | c|C) | + | sy) |
rt_is_admin && rt_del_broken_symlinks || menu_unknown_option | rt_is_admin && rt_del_broken_symlinks || menu_unknown_option | ||
;; | ;; | ||
q|Q) | q|Q) | ||
- | echo " | + | echo |
exit 0 | exit 0 | ||
;; | ;; | ||
Ligne 467: | Ligne 514: | ||
menu_welcome | menu_welcome | ||
menu_actions | menu_actions | ||
+ | |||
+ | rt_print_recent_complete | ||
# | # |