Contrôle parental sur Android : liste noire de sites

Il y a pléthore d'applications de contrôle parental sur Android. Mais je n'en ai trouvé aucune de libre. Plutôt que de laisser mon fils risquer de tomber sur des trucs non recommandables en le laissant sans aucune protection, j'ai trouvé une méthode qui vaut ce qu'elle vaut : utiliser AdAway, un bloqueur de pubs qui se base sur des listes noires pour qu'il bloque aussi des sites classifiés par l'université de Toulouse.

La liste de l'université de Toulouse n'est pas exhaustive (y a-t-il un seul index de sites qui le soit ?) mais elle a le mérite d'exister…

Un petit script pour créer/mettre à jour la liste noire :

#! /bin/bash
mkdir -p /tmp/blacklist
cd /tmp/blacklist
for i in adult.tar.gz agressif.tar.gz dangerous_material.tar.gz drogue.tar.gz phishing.tar.gz publicite.tar.gz tricheur.tar.gz mixed_adult.tar.gz dating.tar.gz malware.tar.gz sect.tar.gz remote-control.tar.gz arjel.tar.gz
do
    curl -s ftp://ftp.ut-capitole.fr/pub/reseau/cache/squidguard_contrib/$i | tar x --gunzip
done
sed -e "s@\(.*\)@127.0.0.1 \1\n::1 \1@" */domains | grep -v " \(\.\|[[:digit:]]\)\+$" > /var/www/blog/hosts.txt

split -l 500000 --numeric-suffixes=1 --additional-suffix=.txt /var/www/blog/hosts.txt /var/www/blog/hosts

Notez bien le split : il permet de découper la liste noire en plusieurs fichiers de 500 000 lignes. En effet, la seule liste des sites pour adultes pèse plus de 100Mio : AdAway a du mal à traiter un fichier aussi lourd sans crasher. On va donc le découper en plusieurs fichiers (chez moi, cela donne 9 fichiers : /var/www/hosts01.txt, /var/www/hosts02.txt, etc.).

On placera bien évidemment une tâche cron pour mettre à jour les listes noires. Il est possible d'ajouter ou de retirer des catégories à interdire dans le for i.

Les fichiers /var/www/hostsXX.txt doivent être accessible depuis le web. Les miens sont accessibles aux adresses suivantes :

Ou, si votre Android est assez costaud pour qu'AdAway mange tout d'un coup : https://fiat-tux.fr/hosts.txt

Ensuite il suffira d'ajouter l'adresse des listes noires comme « Source d'hôtes » dans AdAway, et ce sera bon 🙂