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.

#1 Le 20/01/2014, à 00:21

metalux

[Script/Bash]Multiples blocklists avec Qbittorrent/Transmission

AVERTISSEMENT: Seule la version QBittorrent est 100% fonctionnelle
Bonjour,
Voici un script fait suite à une réflexion de nam1962 qui cherchait une blocklist pour Qbittorrent. Pourquoi choisir entre plusieurs alors qu'il en existe des dizaines? Laquelle choisir?
Ce script vous permet de choisir plusieurs listes, celles-ci sont fusionnées entre elles tout en supprimant les doublons.
j'ai découvert ce protocole il y a peu en téléchargeant Voyager 12.04,même si j'en avais bien évidemment entendu parler avant. C'était mon 1er torrent.
J'ai aimé ce principe de partage et c'est une bonne solution pour partager des isos Gnu/Linux. Néanmoins on peut ne pas vouloir être connecté avec n'importe qui, le script permet de filtrer des pairs indésirables.
Passez directement au mode d'emploi pour ceux qui veulent le Deb qui s'installe d'un clic de souris avec Gdebi!
Le script active le filtrage d'Ip automatiquement. Il propose l'installation de qbittorrent si il n'est pas présent, pas besoin de l'installer avant.
Le lanceur de qbittorrent peut-être utilisé pour lancer le script à la place, à chaque mise à jour de Qbittorrent, il faudra ré-initialiser pour rétablir ce comportement.
La version pour Transmission est moins aboutie, il faudra activer le filtrage dans les options de Transmission.
VERSION QBITTORRENT

#!/bin/bash

                ############################################
                ####    ---------------------------     ####
                ####    qBittorent multi blocklists     ####
                ####    ---------------------------     ####
                ############################################
                

#/*
# * #----------------------------------------------------------------------------
# * « 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.
# * ----------------------------------------------------------------------------
#*/

                ############################
                ####    -----------     ####
                ####    INFORMATION     ####
                ####    -----------     ####
                ############################
                
# 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	####		     
chercher () {
	trouver=$(which $1)
	return $?
}
if chercher gksudo; then
	session='gksudo -m'
elif chercher kdesudo; then
	session='kdesudo --comment'
fi
####    -4- Script principal ####
if [[ -e "$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 [[ $choix == 'Réinitialiser qbittorrent Blocklists' ]];then
        rm -f "$liste"
        rm -rf "$multi" "$temp"
        rm ~/.config/qBittorrent/blocklists.p2p
        if grep "$HOME" /usr/share/applications/qBittorrent.desktop;then
        $session "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 [[ $choix == 'Update Blocklists & Start' ]];then
        cd "$temp"
        while read line
        do
            if [[ "$line" == 'bluetack level1' ]];then
                blocklist='level1'
                list=http://list.iblocklist.com/?list=bt_level1
                download
             elif [[ "$line" == 'bluetack level2' ]];then
                blocklist='level2'
                list=http://list.iblocklist.com/?list=bt_level2
                download
            elif [[ "$line" == 'bluetack level3' ]];then
                blocklist='level3'
                list=http://list.iblocklist.com/?list=bt_level3
                download
            elif [[ "$line" == 'Liste France' ]];then
                blocklist='france'
                list=http://list.iblocklist.com/?list=fr
                download
            elif [[ "$line" == 'Bad Peers' ]];then
                blocklist='bp'
                list=http://list.iblocklist.com/?list=bt_templist
                download
            elif [[ "$line" == 'TBG Primary Threats' ]];then
                blocklist='tbg_pt'
                list=http://list.iblocklist.com/?list=ijfqtofzixtwayqovmxn
                download
            elif [[ "$line" == 'Microsoft' ]];then
                blocklist='microsoft'
                list=http://list.iblocklist.com/?list=bt_microsoft
                download
            elif [[ "$line" == 'Dshield' ]];then
                blocklist='dshield'
                list=http://list.iblocklist.com/?list=bt_dshield
                download
            elif [[ "$line" == 'Educational Institutions' ]];then
                blocklist='edu'
                list=http://list.iblocklist.com/?list=bt_edu
                download
            elif [[ "$line" == 'Rangetest' ]];then
                blocklist='rangetest'
                list=http://list.iblocklist.com/?list=bt_rangetest
                download
            elif [[ "$line" == 'Bluetack bogon' ]];then
                blocklist='btbogon'
                list=http://list.iblocklist.com/?list=bt_bogon
                download
            elif [[ "$line" == 'Business ISPs' ]];then
                blocklist='bisps'
                list=http://list.iblocklist.com/?list=jcjfaxgyyshvdbceroxf
                download
            elif [[ "$line" == 'USA' ]];then
                blocklist='usa'
                list=http://list.iblocklist.com/?list=us
                download
            fi
        done < "$liste"
        cd "$multi"
        if [[ -n $(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 [[ -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 [[ $choix == 'Start' ]];then
        qbittorrent
    fi
        exit 0
        
#### -5- Pré-configuration et installation de qBittorrent    ####

else
    [[ -z $(which qbittorrent) ]] && 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"
    
        
    [[ -z $(which qbittorrent) ]] && notify-send 'qBittorrent multi-blocklists' "Annulation de l\'opération\n qBittorrent ne sera pas installé" && exit 1
    [[ ! -e ~/.config/qBittorrent ]] && mkdir ~/.config/qBittorrent
    mkdir "$multi"
    mkdir "$temp"
    ! grep 'IPFilter\File' ~/.config/qBittorrent/qBittorrent.conf && sed -i '/Preferences/ a\IPFilter\\Enabled=true' ~/.config/qBittorrent/qBittorrent.conf
    ! grep 'IPFilter\Enabled' ~/.config/qBittorrent/qBittorrent.conf && sed -i '/IPFilter/ a\IPFilter\\File=' ~/.config/qBittorrent/qBittorrent.conf
    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"
     [[ $? -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')
    [[ $? -ne 0 ]] && exit 1
    echo "$selection" >> "$liste"
    bash "$0"
fi
exit 0

VERSION TRANSMISSION

#!/bin/bash

#by metalux @Communauté Voyager Linux

#/*
# * #----------------------------------------------------------------------------
# * « 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.
# * ----------------------------------------------------------------------------
#*/

####    -1- Définition des chemins    ####
liste=~/.config/transmission/liste
multi=~/.config/transmission/multilist
temp=~/.config/transmission/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 'Transmission' --text "la mise à jour de la liste $line est injoignable, l'ancienne liste sera utilisée à la place" || mv -f "$blocklist" "$multi"       
}


if [[ -e "$liste" ]];then
    choix=$(zenity --list  --radiolist --separator='\n' --width=800 --height=600 --title='transmission Blocklists'zenity --list --separator='\n' --width=800 --height=600 --title='Transmission' --text='Choisissez une option parmi les suivantes' --column="choix :" --column="Option" FALSE 'Réinitialiser Transmission Blocklists' TRUE 'Update Blocklists & Start' FALSE 'Start') && [[ -n $choix ]]
    if [[ $choix == 'Réinitialiser Transmission Blocklists' ]];then
        rm -f "$liste"
        rm -rf "$multi" "$temp"
        rm ~/.config/transmission/blocklists/*
        notify-send -i transmission 'Transmission Blocklists' 'Configuration réinitialisée. Suppression des blocklists' 
        exit 0
    elif [[ $choix == 'Update Blocklists & Start' ]];then
        cd "$temp"
        while read line
        do
            if [[ "$line" == 'bluetack level1' ]];then
                blocklist='level1'
                list=http://list.iblocklist.com/?list=bt_level1
                download
             elif [[ "$line" == 'bluetack level2' ]];then
                blocklist='level2'
                list=http://list.iblocklist.com/?list=bt_level2
                download
            elif [[ "$line" == 'bluetack level3' ]];then
                blocklist='level3'
                list=http://list.iblocklist.com/?list=bt_level3
                download
            elif [[ "$line" == 'Liste France' ]];then
                blocklist='france'
                list=http://list.iblocklist.com/?list=fr
                download
            elif [[ "$line" == 'Bad Peers' ]];then
                blocklist='bp'
                list=http://list.iblocklist.com/?list=bt_templist
                download
            elif [[ "$line" == 'TBG Primary Threats' ]];then
                blocklist='tbg_pt'
                list=http://list.iblocklist.com/?list=ijfqtofzixtwayqovmxn
                download
            elif [[ "$line" == 'Microsoft' ]];then
                blocklist='microsoft'
                list=http://list.iblocklist.com/?list=bt_microsoft
                download
            elif [[ "$line" == 'Dshield' ]];then
                blocklist='dshield'
                list=http://list.iblocklist.com/?list=bt_dshield
                download
            elif [[ "$line" == 'Educational Institutions' ]];then
                blocklist='edu'
                list=http://list.iblocklist.com/?list=bt_edu
                download
            elif [[ "$line" == 'Rangetest' ]];then
                blocklist='rangetest'
                list=http://list.iblocklist.com/?list=bt_rangetest
                download
            elif [[ "$line" == 'Bluetack bogon' ]];then
                blocklist='btbogon'
                list=http://list.iblocklist.com/?list=bt_bogon
                download
            elif [[ "$line" == 'Business ISPs' ]];then
                blocklist='bisps'
                list=http://list.iblocklist.com/?list=jcjfaxgyyshvdbceroxf
                download
            elif [[ "$line" == 'USA' ]];then
                blocklist='usa'
                list=http://list.iblocklist.com/?list=us
                download
            fi
        done < "$liste"
        cd "$multi"
        if [[ -n $(ls) ]];then 
            notify-send -i transmission-gtk 'Transmission blocklists' 'Veuillez patienter...fusion des listes et suppression des doublons'
            sort -u $(ls) >> blocklist
            sed -i '/^$/d;/^#/d' blocklist
            mv -f blocklist ~/.config/transmission/blocklists
        elif [[ -e ~/.config/transmission/blocklists/*.bin ]];then
            zenity --timeout=4 --warning --text="Aucune nouvelle liste. Transmission va démarrer avec l\'ancienne liste"
         else
             zenity --timeout=4 --warning  --title='Transmission' --text='Aucune liste de disponible. Transmission va démarrer sans blocklists'
         fi
            transmission-gtk
    elif [[ $choix == 'Start' ]];then
        transmission-gtk
    fi
        exit 0
        
#### -3- Sélection des listes à la première ouverture    ####

else
    [[ ! -e ~/.config/transmission ]] && mkdir ~/.config/transmission
    mkdir "$multi"
    mkdir "$temp"
    notify-send -i transmission 'Transmission' 'Vous ouvrez transmission multiples blocklists pour la 1ère fois, veuillez choisir les blocklists à ajouter'
    selection=$(zenity --list  --checklist --separator='\n' --width=800 --height=600 --title='transmission 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')
    [[ $? -ne 0 ]] && exit 1
    echo "$selection" >> "$liste"
    bash "$0"
fi
exit 0

MODE D'EMPLOI
Je vais essayer d'être didactique et accessible aux débutants roll

Le Deb: [url=[modéré : pas d’auto-pub, merci]-multi-blocklists.deb]qbt-multi-blocklists[/url]
Le Deb facilite l'installation. Lancez tout simplement QBittorrent, le script se lancera à la place!
Ne tenez pas compte du début des explications pour le deb, passez directement à la 3ème image.

Pour les débutants, le mieux est d'utiliser le deb et de l'installer avec Gdebi (cf tuto de nam1962).
Vous pouvez également copier le contenu du texte qui se trouve dans le cadre noir et le coller dans un fichier texte. Vous enregistrez et ensuite le rendez exécutable. Le plus simple est de le faire à partir d'un clic droit (en général propriété/permission ou quelque chose de similaire, tout dépend qu'elle version vous utilisez Unity,xfce,etc...) ou bien tout simplement à partir d'un terminal

sudo chmod u+x le "chemin complet vers votre script"

Pour entrer le chemin complet vers le script, il suffit en général de glisser votre fichier dans le terminal, le chemin se complètera tout seul.
Vous entrez votre mot de passe (il ne s'affiche pas, c'est normal) puis appuyez sur la touche "Entree"
Maintenant le script est fonctionnel en (double)cliquant dessus.

Si Qbittorrent n'est pas installé, le script installera celui-ci automatiquement. Durant l'installation, il faut patienter car sa donne l'impression que rien ne se passe. Le script reprendra tout seul dès la fin de celle-ci.
Vous avez une 1ère fenêtre qui s'ouvre:
1390256133.png
Si vous répondez "Oui", le lanceur de qbittorrent lancera le script à la place de qbittorrent. Par contre, ne bougez pas le script de place par la suite sinon ça ne fonctionnera plus (il faudra ré-initialiser le script dans ce cas).
Une nouvelle fenêtre s'ouvre:
1390256805.png
Entrez votre mot de passe pour que le lanceur soit modifié.
1390256998.png
Dans cette fenêtre vous sélectionnez les listes qui vous intéressent. Plus vous utilisez de listes, plus il y a d'adresses de filtrées mais trop de listes augmentent la durée d'ouverture de Qbittorrent. Pour plus de détails sur ces listes, consultez cette page.
La pré-sélection est déjà une bonne base.
Vous arrivez alors à la dernière fenêtre:
1390257590.png
La 1ère fois, sélectionnez Update Blocklists & Start, ça mettra les listes à jours et démarrera Qbittorrent.
Les prochains démarrages tomberont directement sur cette fenêtre ou vous pourrez soit démarrer Qbittorrent avec votre dernière liste(option Start), soit mettre à jour les lstes avant de lancer Qbittorrent (update blocklists & start, pour la fréquence de mise à jour des listes référez vous au site mis en lien ci-dessus. Si vous utilisez des listes fréquemment mises à jour, ça peut être utile de lancer cette option pour avoir toujours la liste la plus récente.)
La dernière option "Ré-initialiser..." permet de revenir en arrière et de refaire sa sélection.

Pour la version Deb(ne concerne pas la version script)
Si il y a une mise à jour de Qbittorrent, le script ne s'ouvrira plus. Il faudra lancer le script en terminal à l'aide de la commande suivante:

qbt-multi-blocklists

et choisir l'option "Restaurer le lanceur". Le script sera alors à nouveau fonctionnel.

Pour la version Script (ne concerne pas la version Deb)
La ré-initialisation est  utile si il y a eu une mise à jour de Qbittorrent, le lanceur étant rétabli, il ne lancera plus le script. Elle permet aussi d'annuler la modification du lanceur de Qbittorrent pour ceux qui préfèrent, bien que l'option "Start" revient à lancer Qbittorrent simplement.

Dernière modification par metalux (Le 01/03/2017, à 22:51)

Hors ligne

#2 Le 20/01/2014, à 08:04

nam1962

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

Merci ! C'est intégré au tuto de ma signature smile

Euhhh, peut on voir comment rendre ton post un peu plus didactique pour les débutants ? wink

Dernière modification par nam1962 (Le 20/01/2014, à 10:58)


[ Modéré ]

Hors ligne

#3 Le 07/02/2014, à 15:31

berserk

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

salut
est-ce que ça marche avec les autres clients torrent comme deluge ou autre ?

Hors ligne

#4 Le 07/02/2014, à 21:17

metalux

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

berserk a écrit :

salut
est-ce que ça marche avec les autres clients torrent comme deluge ou autre ?

Salut berserk,
Il y a sans doute la possibilité de le faire, mais il faut adapter les scripts. Pour quel client es-tu intéressé que je regarde?
Transmission et qbittorrent n'utilise pas la même façon d'utiliser les listes mais possible que l'un ou l'autre puisse être directement transposable avec quelques modifications mineures.

Hors ligne

#5 Le 07/02/2014, à 21:22

nam1962

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

J'en profite pour te re-remercier metalux : c'est nickel avec Qbittorrent (maintenant pourquoi utiliser autre chose)


[ Modéré ]

Hors ligne

#6 Le 08/02/2014, à 13:04

berserk

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

metalux a écrit :
berserk a écrit :

salut
est-ce que ça marche avec les autres clients torrent comme deluge ou autre ?

Salut berserk,
Il y a sans doute la possibilité de le faire, mais il faut adapter les scripts. Pour quel client es-tu intéressé que je regarde?
Transmission et qbittorrent n'utilise pas la même façon d'utiliser les listes mais possible que l'un ou l'autre puisse être directement transposable avec quelques modifications mineures.

Pour deluge STP

Hors ligne

#7 Le 09/02/2014, à 00:30

metalux

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

@berserk
J'ai adapté le script à deluge, par contre je n'ai trouvé nul part comment vérifier si la liste est bien chargée. Dans transmission ou qBittorrent, il y a un journal qui permet de vérifier que la blocklist est bien chargée mais là, même dans les logs je ne trouve rien. Une idée ou se trouve le journal d'exécution?

Hors ligne

#8 Le 09/02/2014, à 11:42

berserk

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

metalux a écrit :

@berserk
J'ai adapté le script à deluge, par contre je n'ai trouvé nul part comment vérifier si la liste est bien chargée. Dans transmission ou qBittorrent, il y a un journal qui permet de vérifier que la blocklist est bien chargée mais là, même dans les logs je ne trouve rien.

Merci je vais tester.

Une idée ou se trouve le journal d'exécution?

aucune idée, peut être dans le dossier ~/.config/deluge

Hors ligne

#9 Le 09/02/2014, à 12:03

metalux

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

Attends pour tester, je n'ai l'ai pas encore posté! Ce n'est pas le même que ci-dessus!
Voici le script:
VERSION DELUGE

#!/bin/bash

                ############################################
                ####    ---------------------------     ####
                ####    Deluge multi blocklists         ####
                ####    ---------------------------     ####
                ############################################
                

#/*
# * #----------------------------------------------------------------------------
# * « 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.
# * ----------------------------------------------------------------------------
#*/

                ############################
                ####    -----------     ####
                ####    INFORMATION     ####
                ####    -----------     ####
                ############################
                
# N'oubliez pas de rendre exécutable: sudo chmod u+x "chemin vers le script"
#Lors d'une mise à jour de deluge, réinstallez deluge-multi-blocklists ou lancez la commande suivante:
#gksudo -m "Rétablissement du lanceur de deluge-multi-blocklists suite à la mise à jour de deluge" "sed -i 's|^Exec.*|Exec=/usr/bin/deluge.sh|' /usr/share/applications/deluge.desktop"

####    -1- Définition des chemins    ####
liste=~/.config/deluge/liste
multi=~/.config/deluge/multilist
temp=~/.config/deluge/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 'deluge' --text "la mise à jour de la liste $line est injoignable, l'ancienne liste sera utilisée à la place" || mv -f "$blocklist" "$multi"       
}

####    -3- Script principal ####
if [[ -e "$liste" ]];then
    choix=$(zenity --list  --radiolist --separator='\n' --width=800 --height=600 --title='deluge Multi Blocklists'zenity --list --separator='\n' --width=800 --height=600 --title='deluge' --text='Choisissez une option parmi les suivantes' --column="choix :" --column="Option" FALSE 'Réinitialiser deluge Blocklists' TRUE 'Update Blocklists & Start' FALSE 'Start') && [[ -n $choix ]]
    if [[ $choix == 'Réinitialiser deluge Blocklists' ]];then
        rm -f "$liste"
        rm -rf "$multi" "$temp"
	rm ~/.config/deluge/blocklist.cache
        if grep "$HOME" /usr/share/applications/deluge.desktop;then
        gksudo -m "Rétablissement du lanceur d'origine" "sed -i 's/^Exec.*/Exec=deluge %U/' /usr/share/applications/deluge.desktop"
        fi
        zenity --question --text "Voulez-vous désinstaller deluge?"
         [[ $? -eq 0 ]] && gksudo -m "Suppression de deluge" "apt-get -y remove deluge"
        notify-send -i deluge 'deluge Blocklists' 'Configuration réinitialisée'
        [[ -z $(which deluge) ]] && notify-send 'deluge multi-blocklists' "deluge a été correctement désinstallé" || notify-send 'deluge multi-blocklists' "deluge a été conservé"
        
        
        exit 0
    elif [[ $choix == 'Update Blocklists & Start' ]];then
        cd "$temp"
        while read line
        do
            if [[ "$line" == 'bluetack level1' ]];then
                blocklist='level1'
                list=http://list.iblocklist.com/?list=bt_level1
                download
             elif [[ "$line" == 'bluetack level2' ]];then
                blocklist='level2'
                list=http://list.iblocklist.com/?list=bt_level2
                download
            elif [[ "$line" == 'bluetack level3' ]];then
                blocklist='level3'
                list=http://list.iblocklist.com/?list=bt_level3
                download
            elif [[ "$line" == 'Liste France' ]];then
                blocklist='france'
                list=http://list.iblocklist.com/?list=fr
                download
            elif [[ "$line" == 'Bad Peers' ]];then
                blocklist='bp'
                list=http://list.iblocklist.com/?list=bt_templist
                download
            elif [[ "$line" == 'TBG Primary Threats' ]];then
                blocklist='tbg_pt'
                list=http://list.iblocklist.com/?list=ijfqtofzixtwayqovmxn
                download
            elif [[ "$line" == 'Microsoft' ]];then
                blocklist='microsoft'
                list=http://list.iblocklist.com/?list=bt_microsoft
                download
            elif [[ "$line" == 'Dshield' ]];then
                blocklist='dshield'
                list=http://list.iblocklist.com/?list=bt_dshield
                download
            elif [[ "$line" == 'Educational Institutions' ]];then
                blocklist='edu'
                list=http://list.iblocklist.com/?list=bt_edu
                download
            elif [[ "$line" == 'Rangetest' ]];then
                blocklist='rangetest'
                list=http://list.iblocklist.com/?list=bt_rangetest
                download
            elif [[ "$line" == 'Bluetack bogon' ]];then
                blocklist='btbogon'
                list=http://list.iblocklist.com/?list=bt_bogon
                download
            elif [[ "$line" == 'Business ISPs' ]];then
                blocklist='bisps'
                list=http://list.iblocklist.com/?list=jcjfaxgyyshvdbceroxf
                download
            elif [[ "$line" == 'USA' ]];then
                blocklist='usa'
                list=http://list.iblocklist.com/?list=us
                download
            fi
        done < "$liste"
        cd "$multi"
        if [[ -n $(ls) ]];then 
            notify-send -i deluge 'deluge blocklists' 'Veuillez patienter...fusion des listes et suppression des doublons'
            sort -u $(ls) >> blocklist
            sed -i '/^$/d;/^#/d' blocklist
            mv -f blocklist ~/.config/deluge/blocklist
	    gzip -f ~/.config/deluge/blocklist
	    cp -f ~/.config/deluge/blocklist.gz ~/.config/deluge/blocklist.cache
        elif [[ -e ~/.config/deluge/blocklist.cache ]];then
            zenity --timeout=4 --warning --text="Aucune nouvelle liste. deluge va démarrer avec l\'ancienne liste"
         else
             zenity --timeout=4 --warning  --title='deluge' --text='Aucune liste de disponible. deluge va démarrer sans blocklists'
         fi
            deluge
    elif [[ $choix == 'Start' ]];then
        deluge
    fi
        exit 0
        
#### -4- Pré-configuration et installation de deluge    ####

else
    [[ -z $(which deluge) ]] && gksudo -m "Installation de deluge. Veuillez patientez pendant celle-ci....cela peut prendre un peu de temps...Ne fermez pas le script S.V.P." "apt-get install deluge"
    
        
    [[ -z $(which deluge) ]] && notify-send 'deluge multi-blocklists' "Annulation de l\'opération\n deluge ne sera pas installé" && exit 1
    [[ ! -e ~/.config/deluge ]] && mkdir ~/.config/deluge
    mkdir "$multi"
    mkdir "$temp"
     zenity --question --text "Voulez-vous que le lanceur de deluge lance ce script?\nCeci est réversible à partir du script.\nIl suffit de choisir l'option Réinitialiser...pour annuler toute modification"
     [[ $? -eq 0 ]] && gksudo -m "Modification du lanceur. Vous pourrez annuler cette modification en réinitialisant le script à partir des options" "sed -i 's|^Exec.*|Exec=\"$0\"|' /usr/share/applications/deluge.desktop"
    notify-send -i deluge 'deluge Multi Blocklists' 'Vous ouvrez deluge multiples blocklists pour la 1ère fois, veuillez choisir les blocklists à ajouter'
    selection=$(zenity --list  --checklist --separator='\n' --width=800 --height=600 --title='deluge 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')
    [[ $? -ne 0 ]] && exit 1
    echo "$selection" >> "$liste"
    bash "$0"
fi
exit 0

Il n'y a pas toute les fonctions d'intégrées, il faudra paramétrer manuellement les chemins:
Editer/Préférences/liste de blocage (activer au préalable le module blocklist):
Cocher Importer la liste au démarrage et indiquer comme URL /home/user/.config/deluge/blocklist.gz en remplaçant user par le tien. Pour être sûr que ce soit fonctionnel, il faudrait quand même vérifier si tu trouves les logs ou journal d'exécution à moins qu'il y a un autre moyen de vérifier, je n'utilises pas deluge et je ne peux pas t'aider sur ce point.

Dernière modification par metalux (Le 09/02/2014, à 12:39)

Hors ligne

#10 Le 09/02/2014, à 14:35

berserk

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

t'inquiete j'ai pas encore testé.
merci pour la version deluge

Hors ligne

#11 Le 09/02/2014, à 22:49

metalux

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

J'ai mis à jour les scripts et le deb, il y avait une petite erreur sans conséquence pour l'utilisation mais dans l'affichage des messages. J'en ai profité pour ajouter le support de Kde car la version qBittorrent utilisais gksudo pour modifier le lanceur, maintenant elle utilise kdesudo si gksudo n'est pas installé.

Pour deluge, j'ai trouvé la commande deluge -L debug -l fichier.log qui m'indique bien que la blocklist est importée mais je n'ai pas le détail, du coup pas évident de savoir si elle s'est bien mise à jour (même si ça doit être le cas).

Hors ligne

#12 Le 20/02/2014, à 15:23

cinaptix

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

Merci pour ce script. Avec qbittorrent ça marche impeccablement, mais je constate dans le journal que ma propre IP est bloquée à d'innombrables reprises. Est-ce normal ? Ai-je bien tout paramétré ? Je m'interroge.


↔ Libriste radicalisé depuis mai 2007 ↔
① - Xubuntu 20.04 - CM Gigabyte GA-B85M-D3H - Pentium G3420 à 3,2 Ghz - RAM 8 Go à 1600 Mhz - SSD 64 Go + HDD 500 Go.
② - Raspberry Pi 3 (Raspbian Stretch) — ③ - Tablette Lenovo 10' (Android 10) — ④ - Smartphone Honor 9A (dégooglisé)

Hors ligne

#13 Le 20/02/2014, à 23:03

metalux

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

Ah mince!
c'est la liste France qui bloque les adresses françaises et pas seulement les indésirables. J'avais vu quelque chose de moins restrictifs mais je n'arrive plus à mettre la main dessus sad

Hors ligne

#14 Le 21/02/2014, à 17:22

cinaptix

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

Ah OK ! Merci pour l'explication.


↔ Libriste radicalisé depuis mai 2007 ↔
① - Xubuntu 20.04 - CM Gigabyte GA-B85M-D3H - Pentium G3420 à 3,2 Ghz - RAM 8 Go à 1600 Mhz - SSD 64 Go + HDD 500 Go.
② - Raspberry Pi 3 (Raspbian Stretch) — ③ - Tablette Lenovo 10' (Android 10) — ④ - Smartphone Honor 9A (dégooglisé)

Hors ligne

#15 Le 24/03/2014, à 15:07

cistes44

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

Bonjour,

J'ai testé le script ci-dessus avec transmission. Ça marche très bien merci !
J'ai cependant une question : j'ai environ 150 000 règles actives après l’exécution du script, et j'en ai plus de 200 000 en utilisant la seule liste level1 http://list.iblocklist.com/?list=bt_level1 utilisée aussi dans le script. Ne devrait-il donc pas y avoir plus de règles après l'exécution du script qu'il y en a dans la liste level1 ?

Merci


Dell Latitude D830 et Thinkpad X220 - Xubuntu 16.04 et 18.04
En cas de problème, appliquez une pincée de poudre verte.
Et pensez aux parrains linux pour une aide IRL. %NOINDEX%

Hors ligne

#16 Le 24/03/2014, à 19:55

metalux

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

@cistes44
Non ce n'est pas normal. Plus tu utilises de listes, plus il doit y avoir de règles actives. Quelles listes utilises-tu que je puisse tester car je ne remarque rien de mon côté?
Réinitialise transmission blocklists et relance le script. Re-vérifie ensuite et donne moi le retour.

Hors ligne

#17 Le 25/03/2014, à 11:01

cistes44

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

Salut metalux,

J'ai donc lancé une première fois le script en sélectionnant "Réinitialiser Transmission Blocklist", puis, je l'ai relancé en sélectionnant dans le script la seule liste level1. J'ai bien environ 220 000 règles, chose que j'obtiens aussi en utilisant la liste level1 sans le script. J'ai donc réinitialisé le tout une seconde fois, et lancé le script avec les 3 listes sélectionnées par défaut, et là, j'ai 328 000 règles. Par contre, si à cette étape là je sélectionne toutes les listes d'un coup, il ne m'en reste qu'environ 150 000. D'après mes tests, ce sont les listes Business ISP et USA qui font baisser le nombre total de règles.

Pour info, je suis sous xubuntu 13.10 avec Transmission 2.82.


Dell Latitude D830 et Thinkpad X220 - Xubuntu 16.04 et 18.04
En cas de problème, appliquez une pincée de poudre verte.
Et pensez aux parrains linux pour une aide IRL. %NOINDEX%

Hors ligne

#18 Le 25/03/2014, à 23:50

metalux

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

Effectivement, il y a un problème, soit le nombre d'entrée est erroné car le fichier blocklist est de taille bien plus grande avec toutes les listes, soit transmission ne charge pas la liste correctement.
Je n'arrive pas à voir de quoi ça peut venir d'autant plus que j'utilise les mêmes listes pour qBittorrent et là, elle se charge normalement.
Je n'arrive pas à savoir d'où ça vient, d'autant plus que les listes se chargent bien si je ne les fusionnent pas en obtenant plus de 800000 entrées bloquées (les doublons ne sont pas éliminés dans ce cas ce qui explique la différence avec qbittorrent qui affiche entre 600 et 700000 entrées).
je continue mes recherches......

Hors ligne

#19 Le 26/03/2014, à 16:39

cistes44

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

Merci pour ton aide ! J’essaierai aussi de regarder ça, mais je ne suis pas un dieu de la programmation...


Dell Latitude D830 et Thinkpad X220 - Xubuntu 16.04 et 18.04
En cas de problème, appliquez une pincée de poudre verte.
Et pensez aux parrains linux pour une aide IRL. %NOINDEX%

Hors ligne

#20 Le 21/05/2014, à 13:00

jeanpierre57

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

Bonjour,

je suis en train de configurer une machine avec Xubuntu 12.04 (très vieille machine ... lol) via le tutoriel de nam1962.

Dans la procédure il renvoie vers ce tuto pour la mise en place de liste de blocage pour qbittorent.

J'ai téléchargé le .deb, je l'ai installé ... pas de souci (c'est facile quand on a une machine bien configurée).

Je lance qbitorrent : j'ai la possibilité de choisir les listes, je conserve les trois par défaut comme dans ton tuto (je verrai plus tard si cela me convient).

Je lui demande de faire l'update des listes et de démarrer ... et c'est là que cela "foire" : le programme me signale qu'il ne sait joindre aucune des listes et donc par conséquent qbitoorent fini par démarrer sans aucun filtre ...

Faut-il s'inscrire quelque part pour bénéficier de l'accès à ces listes ?
Comme je ne sais pas où les listes "défaut" sont stockées, je nepeut pas essayer de les charger "manuellement" dans qbitorrent.

Sinon beau job pour ce tutoriel et merci d'avance.

Hors ligne

#21 Le 21/05/2014, à 19:40

metalux

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

Bonjour,

Je lance qbitorrent : j'ai la possibilité de choisir les listes, je conserve les trois par défaut comme dans ton tuto (je verrai plus tard si cela me convient).

Pour la liste France, elle est trop restrictive. Il faut que je mette à jour mais vraiment pas le temps de mettre mon nez dedans en ce moment. Regarde les posts #12 et #13

Je lui demande de faire l'update des listes et de démarrer ... et c'est là que cela "foire" : le programme me signale qu'il ne sait joindre aucune des listes et donc par conséquent qbitoorent fini par démarrer sans aucun filtre ...

Tu es bien connecté au net? Je viens de tester et ça passe. A moins que c'était temporairement indisponible.

Faut-il s'inscrire quelque part pour bénéficier de l'accès à ces listes ?

Non

Comme je ne sais pas où les listes "défaut" sont stockées, je nepeut pas essayer de les charger "manuellement" dans qbitorrent.

J'ai indiqué la source des listes dans le 1er post:
Dans cette fenêtre vous sélectionnez les listes qui vous intéressent. Plus vous utilisez de listes, plus il y a d'adresses de filtrées mais trop de listes augmentent la durée d'ouverture de Qbittorrent. Pour plus de détails sur ces listes, consultez cette page.
Si ça ne fonctionne toujours pas, donne le retour du terminal:

bash -x qbt-multi-blocklists

Hors ligne

#22 Le 21/05/2014, à 20:51

cracolinux

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

Salut,

Une petite question, à quoi ça sert ?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#23 Le 21/05/2014, à 21:49

metalux

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

Salut cracolinux,
Ça sert à filtrer certaines adresses Ip avec lesquelles on ne souhaite pas se connecter. Par défaut qBittorrent permet d'ajouter une seule liste dans son interface graphique. Le script lui permet d'utiliser plusieurs listes tout en supprimant les doublons entre celles-ci. Il existe des listes de tous types, comme celles d'entreprises opposées au p2p, des listes d'Ip connus pour diffuser des spywares, voire des listes de certains pays ou d'entreprise comme µsoft.

Hors ligne

#24 Le 30/05/2014, à 08:04

cracolinux

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

Tu veux dire qu'il y a des entreprises opposées au p2p qui sont blacklistées ? Mais j'imagine que microsoft ne laisse pas tourner des serveurs proposant les iso de distributions gnu/linux ? non ?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#25 Le 30/05/2014, à 21:43

metalux

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

cracolinux a écrit :

Mais j'imagine que microsoft ne laisse pas tourner des serveurs proposant les iso de distributions gnu/linux ? non ?

Va t'en savoir si ils mettent pas des isos vérolées en partage pou dégoûter les nouveaux venus sur Gnu/Linux tongue

Tu veux dire qu'il y a des entreprises opposées au p2p qui sont blacklistées ?

Oui.
Pour faire simple, c'est un peu comme pgld mais dédié à une seule application.
Je m'amuse comme je peux en faisant des scripts qui répondent à la demande de certains utilisateurs, et si ça peux servir, tant mieux.

Hors ligne