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 | ||
| # | # | ||