#1 Le 20/01/2014, à 01: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
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:
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:
Entrez votre mot de passe pour que le lanceur soit modifié.
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:
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, à 23:51)
Hors ligne
#2 Le 20/01/2014, à 09:04
- nam1962
Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission
Merci ! C'est intégré au tuto de ma signature
Euhhh, peut on voir comment rendre ton post un peu plus didactique pour les débutants ?
Dernière modification par nam1962 (Le 20/01/2014, à 11:58)
[ Modéré ]
Hors ligne
#3 Le 07/02/2014, à 16: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, à 22:17
- metalux
Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission
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, à 22: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, à 14:04
- berserk
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.
Pour deluge STP
Hors ligne
#7 Le 09/02/2014, à 01: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, à 12:42
- berserk
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.
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, à 13: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, à 13:39)
Hors ligne
#10 Le 09/02/2014, à 15: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, à 23: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, à 16: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 21/02/2014, à 00: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
Hors ligne
#14 Le 21/02/2014, à 18: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, à 16: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, à 20: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, à 12: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 26/03/2014, à 00: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, à 17: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, à 14: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, à 20: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, à 21:51
- cracolinux
Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission
Salut,
Une petite question, à quoi ça sert ?
#23 Le 21/05/2014, à 22: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, à 09: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 ?
#25 Le 30/05/2014, à 22:43
- metalux
Re : [Script/Bash]Multiples blocklists avec Qbittorrent/Transmission
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
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