Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 21/06/2014, à 09:11

spinoziste

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Merci metalux encore une fois excellent travail ça mérite une paire de pintes !

Dernière modification par spinoziste (Le 21/06/2014, à 09:12)


Nous mourrons tous .

Hors ligne

#27 Le 22/06/2014, à 12:57

spinoziste

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Un simple question .
Comment fais-tu pour obtenir les logs qui certifient de la bonne utilisation de la blocklist ? Merci wink


Nous mourrons tous .

Hors ligne

#28 Le 22/06/2014, à 13:40

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

spinoziste a écrit :

Merci metalux encore une fois excellent travail ça mérite une paire de pintes !

Avec plaisir! big_smile
Pour vérifier que la blocklist est bien chargée au démarrage, tu actives le journal d'exécution dans qBittorrent (dans le menu affichage). Préfère également "le chiffrement requis" dans les options, je ne sais plus si je l'ai activé par défaut dans le script, c'est à vérifier.

Hors ligne

#29 Le 22/06/2014, à 14:18

spinoziste

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Pour ma part j'utilise transmission en fait , j'aurais du préciser .


Nous mourrons tous .

Hors ligne

#30 Le 22/06/2014, à 22:25

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

j'ai mis un avertissement au début du 1er post comme quoi seul qBittorrent est 100 % fonctionnel. Pour transmission, il y a un souci mais je n'arrive pas à voir d'où ça vient, cf posts #15 à #19.
A défaut je referai une version sans faire la fusion des listes et la suppression des doublons car là ça fonctionne. A priori c'est Transmission qui n'arrive pas à charger une liste de grande taille ou la charge bien mais donne un retour erroné.
Sinon pour voir le détail, c'est dans Aide/Journal des messages.

Hors ligne

#31 Le 24/06/2014, à 16:11

spinoziste

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Pour ma part je n'aime pas du tout qbittorrent .

De plus en tentant le script sur une Buntu ça déconne le lanceur n'est pas référencé dans les launchers et je n'ai pas le logiciel dans la zone de notif (je pense que c'est interne à qbittorrent et pas de ton script ) .
En revanche sur Arch Linux ton script pour transmission semble fonctionner sans soucis . J'ai visiblement des règles actives .


Nous mourrons tous .

Hors ligne

#32 Le 24/06/2014, à 20:55

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

En revanche sur Arch Linux ton script pour transmission semble fonctionner sans soucis . J'ai visiblement des règles actives .

Oui, il fonctionne mais dès que ça dépasse une certaine taille, le nombre de règles chargées est erroné. Fait l'essai avec les 3 listes par défaut puis ré-essaye après avoir réinitialisé avec toutes les listes. Dans le second cas tu as moins de règles chargées alors qu'il devrait y en avoir plus.
Tu peux comparer avec la version Qbittorrent, le nombre de règles diffère dès qu'il y a trop de listes. Si tu es intéressé, comme je l'ai déjà dis, je pourrai voir en attendant pour ne pas fusionner les listes comme là ça marche.
Si chez toi sur Archlinux le nombre de règles augmente bien proportionnellement au nombre de listes sélectionnées, indique moi ta version de transmission que je ré-essaye.

Hors ligne

#33 Le 12/03/2015, à 12:15

nam1962

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Petit souci avec vivid : qbittorrent démarre ...sans le script ! (que j'ai pourtant réinstallé avec gdebi)


[ Modéré ]

Hors ligne

#34 Le 12/03/2015, à 12:25

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Salut Nam'
Que te donnes le retour de:

bash -x qbt-multi-blocklists

Et sélectionne l'option "restaurer le lanceur".

Dernière modification par metalux (Le 12/03/2015, à 12:30)

Hors ligne

#35 Le 12/03/2015, à 13:04

nam1962

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Nickel ! Ça fonctionne.
Merci !


[ Modéré ]

Hors ligne

#36 Le 01/03/2017, à 14:24

nam1962

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Hello metalux, le lien que tu donnes pour le .deb est obsolète !
Je me suis permis d'héberger la dernière version que j'avais sur l'almanet.
...dis moi quoi !


[ Modéré ]

Hors ligne

#37 Le 01/03/2017, à 22:54

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Yo Nam'
Toi tu n'as pas lu la licence du script mad

« LICENCE BEERWARE » (Révision 42):
metalux a créé ce fichier. Tant que vous conservez cet avertissement,
vous pouvez faire ce que vous voulez de ce truc. Si on se rencontre un jour et
que vous pensez que ce truc vaut le coup, vous pouvez me payer une bière en
retour.

tu en tires les conclusions qui s'imposent! big_smile

Si tu pouvais tant qu'à faire modifier la liste par défaut, j'y avais mis la liste France je crois, et celle-ci bloque toutes les IP françaises, cf posts #12 et #13.
Je ne sais plus si javais modifié par la suite.
Quelles listes utilises-tu? En mettant par défaut les suivantes, ça me parait pas trop mal, je ne sais pas ce que tu en penses:
bluetack level1-bluetack level2-bluetack level3-Bad Peers-TBG Primary Threats

J'ai mis à jour le lien vers celui de ton site.

Hors ligne

#38 Le 01/03/2017, à 23:37

Watael

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

salut,

j'ai lu le script qBitTorrent, et je ne l'ai pas trouvé  très agréable, alors j'y ai ajouté un peu de sucre pour la lisibilité.
j'espère ne rien avoir cassé, je n'ai pas lu toute la discussion, il demeure peut-être des erreurs.
voici :

#!/bin/bash
# N'oubliez pas de rendre exécutable: sudo chmod u+x "chemin vers le script"

####    -1- Définition des chemins    ####
liste=~/.config/qBittorrent/liste
multi=~/.config/qBittorrent/multilist
temp=~/.config/qBittorrent/temp

####    -2- Fonction de téléchargement des blocklists ####
download () {
    wget -O "$blocklist.gz" $list 2>&1 | sed -u "s/^.* \+\([0-9]\+%\) \+\([0-9.]\+[GMKB]\) \+\([0-9hms.]\+\).*$/\1\n# Progression du téléchargement de $line... \2 (\3)/" | zenity --progress --title='Download' --auto-kill --auto-close
    gzip -df "$blocklist.gz"
    [[ $? -ne 0 ]] && zenity --timeout=4 --warning --title 'qbittorrent' --text "la mise à jour de la liste $line est injoignable, l'ancienne liste sera utilisée à la place" || mv -f "$blocklist" "$multi"
}

####    -3-Fonction de détection gksudo ou kdesudo  ####
#> /!\ et si Gnome ET KDE sont installés, mais que j'utilise xfce ?
if which gksudo &>/dev/null; then
    messenger() { gksudo -m;}
elif which kdesudo &>/dev/null; then
    messenger() { kdesudo --comment;}
fi  
####    -4- Script principal ####
if test -f "$liste"
then
    choix=$(zenity --list  --radiolist --separator='\n' --width=800 --height=600 --title='qBittorrent Multi Blocklists' --text='Choisissez une option parmi les suivantes' --column="choix :" --column="Option" FALSE 'Réinitialiser qbittorrent Blocklists' TRUE 'Update Blocklists & Start' FALSE 'Start') && [[ -n $choix ]]
    if test "$choix" = 'Réinitialiser qbittorrent Blocklists'
    then
        rm -f "$liste"
        rm -rf "$multi" "$temp"
        rm ~/.config/qBittorrent/blocklists.p2p
        if grep -q "$HOME" /usr/share/applications/qBittorrent.desktop
        then
            messenger "Rétablissement du lanceur d'origine" "sed -i 's/^Exec.*/Exec=qbittorrent %U/' /usr/share/applications/qBittorrent.desktop"
        fi
        notify-send -i qbittorrent 'qbittorrent Blocklists' 'Configuration réinitialisée.\nSuppression des blocklists\nRétablissement du lanceur de qBittorrent (si modifié)'
        
        exit 0
    elif test "$choix" = 'Update Blocklists & Start'
    then    
        cd "$temp"
        while read line
        do          
            case $line in
                'bluetack level1')
                    blocklist='level1'
                    list='bt_level1'
                    ;;
                'bluetack level2')
                    blocklist='level2'
                    list='bt_level2'
                    ;;
                'bluetack level3')
                    blocklist='level3'
                    list='bt_level3'
                    ;;  
                'Liste France')
                    blocklist='france'
                    list='fr'
                    ;;  
                'Bad Peers')
                    blocklist='bp'
                    list='bt_templist'
                    ;;  
                'TBG Primary Threats')
                    blocklist='tbg_pt'
                    list='ijfqtofzixtwayqovmxn'
                    ;;  
                'Microsoft')
                    blocklist='microsoft'
                    list='bt_microsoft'
                    ;;  
                'Dshield')
                    blocklist='dshield'
                    list='bt_dshield'
                    ;;  
                'Educational Institutions')
                    blocklist='edu'
                    list='bt_edu'
                    ;;  
                'Rangetest')
                    blocklist='rangetest'
                    list='bt_rangetest'
                    ;;  
                'Bluetack bogon')
                    blocklist='btbogon'
                    list='bt_bogon'
                    ;;  
                'Business ISPs')
                    blocklist='bisps'
                    list='jcjfaxgyyshvdbceroxf'
                    ;;
                'USA')
                    blocklist='usa'
                    list='us'
                    ;;
            esac
            list="http://list.iblocklist.com/?list=$list"
            download
        done < "$liste"
        cd "$multi"
        shopt nullglob
        ls=( * )
        if ((${#ls[*]}))
        then
            notify-send -i qbittorrent 'qbittorrent blocklists' 'Veuillez patienter...fusion des listes et suppression des doublons'
            sort -u "${ls[@]}" >> blocklist
            sed -i '/^$/d;/^#/d' blocklist
            mv -f blocklist ~/.config/qBittorrent/blocklists.p2p
        elif test -e ~/.config/qBittorrent/blocklists.p2p
        then
            zenity --timeout=4 --warning --text="Aucune nouvelle liste. qbittorrent va démarrer avec l\'ancienne liste"
        else
            zenity --timeout=4 --warning  --title='qbittorrent' --text='Aucune liste de disponible. qbittorrent va démarrer sans blocklists'
        fi
        qbittorrent
    elif test "$choix" = 'Start'
    then
        qbittorrent
    fi
    exit 0

    #### -5- Pré-configuration et installation de qBittorrent    ####

else
    which qbittorrent &>/dev/null || gksudo -m "Installation de qBittorrent. Veuillez patientez pendant celle-ci....cela peut prendre un peu de temps...Ne fermez pas le script S.V.P." "apt-get install qbittorrent"


    which qbittorrent &>/dev/null || notify-send 'qBittorrent multi-blocklists' "Annulation de l\'opération\n qBittorrent ne sera pas installé" && exit 1
    test ! -d ~/.config/qBittorrent && mkdir ~/.config/qBittorrent
    mkdir "$multi"
    mkdir "$temp"
    grep -q 'IPFilter\File' ~/.config/qBittorrent/qBittorrent.conf || sed -i '/Preferences/ a\IPFilter\\Enabled=true' ~/.config/qBittorrent/qBittorrent.conf
    grep -q 'IPFilter\Enabled' ~/.config/qBittorrent/qBittorrent.conf || sed -i '/IPFilter/ a\IPFilter\\File=' ~/.config/qBittorrent/qBittorrent.conf
# là je ne fouille pas : je ne connais pas le format de ce fichier
    sed -i 's|^IPFilter\\File.*|IPFilter\\File='"$HOME"'/.config/qBittorrent/blocklists.p2p|' ~/.config/qBittorrent/qBittorrent.conf
    sed -i 's|^IPFilter\\Enabled.*|IPFilter\\Enabled=true|' ~/.config/qBittorrent/qBittorrent.conf

    zenity --question --text "Voulez-vous que le lanceur de qBittorrent lance ce script?\nCeci est réversible à partir du script.\nIl suffit de choisir l'option Réinitialiser...pour annuler toute modification"
    test $? -eq 0 && gksudo -m "Modification du lanceur. Vous pourrez annuler cette modification en réinitialisant le script à partir des options" "sudo sed -i 's|^Exec.*|Exec=\"$0\"|' /usr/share/applications/qBittorrent.desktop"
    notify-send -i qbittorrent 'qBittorrent Multi Blocklists' 'Vous ouvrez qbittorrent multiples blocklists pour la 1ère fois, veuillez choisir les blocklists à ajouter'
    selection=$(zenity --list  --checklist --separator='\n' --width=800 --height=600 --title='qbittorrent Blocklists' --text='Choisissez les blocklists' --column="choix :" --column="Liste" TRUE 'bluetack level1' "" 'bluetack level2' "" 'bluetack level3' TRUE 'Liste France' "" 'Bad Peers' TRUE 'TBG Primary Threats' "" 'Microsoft' "" 'Dshield' "" 'Educational Institutions' "" 'Rangetest' "" 'Bluetack bogon' "" 'Business ISPs' "" 'USA')
    test $? -ne 0 && exit 1
    echo "$selection" >> "$liste"
    bash "$0"
fi

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#39 Le 02/03/2017, à 07:24

nam1962

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

Chez moi ça lance bluetack level1 et TBG.
Maintenant la version sucrée est ptet judicieuse !
Pour la bière, il faut se localiser ! tongue


[ Modéré ]

Hors ligne

#40 Le 02/03/2017, à 22:08

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

@Watael

je ne l'ai pas trouvé  très agréable

On fait pas toujours ce qu'on veut, on fait ce qu'on peut! big_smile
Merci pour le sucre, je prends.
Je viens de tester vite fait, la réinitialisation des blocklists casse le script, il ne fonctionne plus après et bloque sur:

test -f /home/lamour/.config/qBittorrent/liste
which qbittorrent
which qbittorrent
exit 1

je n'ai pas du tout regardé d'où ça venait.

Pour ta remarque concernant xfce, il faut installer gksudo qui fonctionne aussi sur Xfce.
Pour le case/esac, c'est effectivement bien mieux, j'y avais pensé après et je n'ai jamais mis à jour.
Pour test -f au lieu des doubles crochets, c'est une question d'habitude, perso je trouves les 2 aussi lisibles.
Pour grep -q....|| au lieu de ! grep....&&, j'approuve à 100%
Dernière chose que j'ai vu c'est:

shopt nullglob
        ls=( * )
        if ((${#ls[*]}))

en quoi est-ce plus lisible que:

if [[ -n $(ls) ]];then

Enfin je dis ça, je dis rien, je n'ai jamais su utiliser shopt et je ne suis qu'un amateur, je me contente que ça fonctionne même si parfois ce n'est pas très  optimisé. Peux-tu m'apporter des précisions et des explications sur ce code que je comprenne comment il fonctionne et pourquoi il est mieux que ce que j'ai fais?
Il n'y a plus l'option "Restaurer le lanceur". Est-il rétabli lorsqu'il y a une mise à jour de Qbittorrent?
Merci pour tes lumières, c'est toujours bon à prendre pour progresser (où se remettre dans le bain le cas échéant).

@Nam1962
Ah, j'ai désactivé la localisation! Disons dans un bar breton, ça te conviendrait? wink

Hors ligne

#41 Le 02/03/2017, à 22:44

Watael

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

pour les tests, j'afirme que si tu ne te sers pas de ses caractéristiques avancées, autant rester sur un test simple, et tant qu'à être clair sur ce que c'est, je préfère dire clairement que c'est une commande.
beaucoup de débutants ne comprenne pas la construction d'un if. sad

pour le ls ce n'est pas un problème de lisibilité.
là, c'est un problème de protection de fichiers dont le nom contiendrait au moins un espace, ou d'autres caractères invisibles.
leur traitement par la commande ls ne permet pas de les passer correctement à d'autres commandes.
passer par un tableau permet de ne pas être confronter à cet écueil.

shopt -s nullglob c'est pour faire en sorte que le tableau soit vide si il n'y a pas de fichiers.
sinon, il contiendrait littéralement le Développement des chemins (ici l'astérisque).

j'ai apporté les améliorations qui me paraissaient nécessaires, mais à l'aveugle cool, sans tester hmm
je n'utilise pas assez de torrents pour faire des tests pertinents.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#42 Le 05/03/2017, à 13:32

metalux

Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

@Watael
Merci pour tes conseils.

là, c'est un problème de protection de fichiers dont le nom contiendrait au moins un espace, ou d'autres caractères invisibles.

J'y avais bien pensé mais comme le cas ne se présentait pas, je ne me suis pas embêté. Cependant, tes conseils sont forts utiles, et la mise en place est moins simple que je ne le pensais, donc ton aide pourra me resservir.

je n'utilise pas assez de torrents pour faire des tests pertinents.

Idem, j'ai fais ce script suite à une discussion avec Nam1962. C'est lui qui est le mieux placer pour juger de la pertinence du script à l'usage.

Hors ligne