Friday, October 16, 2009

Privoxy et NetworkManager

Je suis passé à NetworkManager pour gérer les connexions réseaux sur mon portable et je trouve enfin cet outil fonctionnel et pratique. Seul petit soucis: privoxy (un proxy que j'utilise comme bloqueur de pubs, ce qui donne l'avantage de fonctionner quel que soit le navigateur web utilisé) perdait un peu les pédales à chaque fois que NetworkManager reconfigurait le réseau et j'étais obligé de le redémarrer.

Mais je viens de découvrir que NeworkManager peut exécuter des scripts à chaque reconfiguration réseau. Je dégaine mon éditeur et voici un script à placer dans /etc/NetworkManager/dispatcher.d qui démarre ou arrête privoxy selon que le réseau soit disponible ou non (attention, c'est pour ArchLinux):


#!/bin/bash

LOGGER="/usr/bin/logger -s -p user.notice -t NetworkManagerDispatcher"
PID=`pidof -o %PPID /usr/sbin/privoxy`

if [ -n $1 ] && [ $2 == "up" ]; then
if [ ! -z "$PID" ]; then
$LOGGER "Privoxy is running, restart"
/etc/rc.d/privoxy restart
else
$LOGGER "Privoxy is stopped, start"
/etc/rc.d/privoxy start
fi
fi

if [ -n $1 ] && [ $2 == "down" ]; then
if [ ! -z "$PID" ]; then
$LOGGER "Privoxy is running, stop"
/etc/rc.d/privoxy stop
fi
fi



En prime vous aurez droit à quelques logs pour vérifier que ça fonctionne:

$ cat /var/log/messages.log |grep "NetworkManagerDispatcher"
...
Oct 15 18:42:09 magalo NetworkManagerDispatcher: Privoxy is stopped, start
Oct 15 18:42:11 magalo NetworkManagerDispatcher: Privoxy is running, stop
Oct 15 18:42:15 magalo NetworkManagerDispatcher: Privoxy is stopped, start
...

No comments:

Post a Comment