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 21/01/2017 à 17h12] 111110101011 |
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'est pas du très propre, encore en développement, | + | Un script fait maison pour accueillir les utilisateurs d'une session SSH sur la seedbox. |
- | Date: 21 janvier 2017 | + | Le script est encore en développement, |
- | <code bash> | + | 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 et montant. | ||
+ | f1 = {{default ESC= ' | ||
+ | |||
+ | # 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 de bash | ||
+ | * 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 | ||
+ | |||
+ | <code bash rtmanager.sh> | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 14: | Ligne 43: | ||
RTBIN="/ | RTBIN="/ | ||
RTCFGOPTS=' | RTCFGOPTS=' | ||
- | |||
RTCMD=" | RTCMD=" | ||
+ | RTPATHCOMPLETE="/ | ||
+ | RTPATHWORK="/ | ||
+ | RTPATHWATCH="/ | ||
+ | RTPATHWATCHHANDLED="/ | ||
function rt_is_admin() { | function rt_is_admin() { | ||
Ligne 34: | Ligne 66: | ||
else | else | ||
RTUSER=" | RTUSER=" | ||
+ | # à vérif: si je mets le / final, il ne match pas | ||
+ | RTCMD=" | ||
fi | fi | ||
- | RTPATHCOMPLETE="/mnt/local/1/ | + | |
- | RTPATHWORK="/mnt/local/1/ | + | |
+ | ### COULEURS | ||
+ | |||
+ | function test_colors() { | ||
+ | echo -en "$C0$1$C0\t" | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | echo -en " | ||
+ | } | ||
+ | |||
+ | C0=" | ||
+ | C1=" | ||
+ | C2=" | ||
+ | C3=" | ||
+ | C4=" | ||
+ | C5=" | ||
+ | C6=" | ||
+ | C7=" | ||
+ | C8=" | ||
+ | C9=" | ||
+ | CA=" | ||
+ | CB=" | ||
+ | CC=" | ||
+ | CD=" | ||
+ | CE=" | ||
+ | CF=" | ||
+ | CG="\033[1;37m" | ||
### RTCONTROL | ### RTCONTROL | ||
+ | |||
+ | RTF1=" | ||
function rt_print_user_torrents() { | function rt_print_user_torrents() { | ||
- | $RTCMD -q "realpath=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" |
+ | } | ||
+ | |||
+ | function rt_print_users_torrents() { | ||
+ | $RTCMD -qo f1 "*" | ||
} | } | ||
function rt_print_user_incomplete() { | function rt_print_user_incomplete() { | ||
- | $RTCMD -q "realpath=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" " |
} | } | ||
function rt_print_user_complete() { | function rt_print_user_complete() { | ||
- | $RTCMD -q "realpath=*$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 "realpath=*$RTPATHCOMPLETE/ | + | $RTCMD -q " |
+ | } | ||
+ | |||
+ | function rt_print_recent_complete() { | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | $RTCMD -qo f1 " | ||
+ | |||
+ | echo "" | ||
+ | } | ||
+ | |||
+ | function rt_print_download_details() { | ||
+ | $RTCMD -q "" | ||
} | } | ||
Ligne 77: | Ligne 173: | ||
echo " | echo " | ||
- | echo -n " | + | echo -ne $CD" |
read critere | read critere | ||
Ligne 85: | Ligne 181: | ||
resultats=$(mktemp) | resultats=$(mktemp) | ||
- | $RTCMD -q "realpath=*$RTPATHCOMPLETE/ | + | $RTCMD -qo f1 "$RTF1" " |
- | let nbresu=$(cat $resultats | wc -l)/2 | + | let nbresu=$(cat $resultats | wc -l) |
fi | fi | ||
Ligne 116: | 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/$RTUSER/*" " |
# | # | ||
;; | ;; | ||
Ligne 243: | Ligne 339: | ||
echo "$cpt liens cassé(s) supprimé(s)." | echo "$cpt liens cassé(s) supprimé(s)." | ||
+ | } | ||
+ | |||
+ | |||
+ | ### BASHERIES | ||
+ | |||
+ | function list_users_complete() { | ||
+ | |||
+ | find " | ||
+ | # -printf "%H : %f\n" | ||
+ | |||
+ | } | ||
+ | |||
+ | function list_user_watch() { | ||
+ | |||
+ | echo -e $C4" | ||
+ | |||
+ | find " | ||
+ | |||
+ | } | ||
+ | |||
+ | function list_user_watch_handled() { | ||
+ | |||
+ | echo -e $C4" | ||
+ | |||
+ | find " | ||
+ | |||
} | } | ||
Ligne 253: | Ligne 375: | ||
clear | clear | ||
- | cat << EOF | + | echo -e "Salut $CB$RTUSER$C0,\n" |
- | Salut $RTUSER, | + | echo -e "Voici quelques options pour gérer tes téléchargements :\n" |
- | + | ||
- | Voici quelques options pour gérer tes téléchargements : | + | |
- | + | ||
- | EOF | + | |
} | } | ||
Ligne 264: | Ligne 382: | ||
function menu_actions() { | function menu_actions() { | ||
+ | echo -e " | ||
cat << EOF | cat << EOF | ||
- | [ACTIONS] | ||
- | 1 : Lister | + | [$RTUSER] L : Lister |
- | 2 : Lister | + | [$RTUSER] I : Lister |
- | 3 : Lister | + | |
- | 4 : Lister | + | |
- | 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 |
+ | [$RTUSER] W : Lister les fichiers .torrent dans watch | ||
+ | [$RTUSER] R : Afficher le ratio des téléchargements | ||
EOF | EOF | ||
Ligne 280: | Ligne 400: | ||
rt_is_admin && menu_actions_admin | rt_is_admin && menu_actions_admin | ||
+ | echo -e " | ||
cat << EOF | cat << EOF | ||
- | [MENU] | ||
- | 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 293: | Ligne 413: | ||
function menu_actions_admin() { | function menu_actions_admin() { | ||
+ | echo -e " | ||
cat << EOF | cat << EOF | ||
- | [ADMIN] | ||
- | 8 : Lister les fichiers orphelins (non chargés dans rtorrent) | + | or : Lister les fichiers orphelins (non chargés dans rtorrent) |
- | 9 : Déplacer les fichiers qui pour une raison X sont restés dans /work/ | + | |
- | 10 : Retirer les liens symboliques cassés de /work/ | + | |
EOF | EOF | ||
Ligne 307: | Ligne 427: | ||
num=$(( ( RANDOM % 8 ) + 1 )) | num=$(( ( RANDOM % 8 ) + 1 )) | ||
+ | # cola=$(( ( RANDOM % 2 ) )) | ||
+ | colb=$(( ( RANDOM % 8 ) )) | ||
+ | cola=1 | ||
+ | |||
+ | echo -ne " | ||
cat $RTBIN/ | cat $RTBIN/ | ||
+ | echo -ne " | ||
+ | |||
} | } | ||
Ligne 319: | 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 | ||
+ | ;; | ||
+ | w|W) | ||
+ | list_user_watch | ||
+ | list_user_watch_handled | ||
+ | ;; | ||
+ | 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 | ||
;; | ;; | ||
- | 9) | + | mv) |
rt_is_admin && rt_move_work_torrents || menu_unknown_option | rt_is_admin && rt_move_work_torrents || menu_unknown_option | ||
;; | ;; | ||
- | 10) | + | 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 377: | Ligne 514: | ||
menu_welcome | menu_welcome | ||
menu_actions | menu_actions | ||
+ | |||
+ | rt_print_recent_complete | ||
+ | |||
+ | # | ||
while : | while : |