Il y a du travail à fournir pour que le PKGBUILD soit opérationnel sans interventions de la part de l'utilisateur (/etc/resolv.conf devant utiliser 127.0.0.1 et modification ad-hoc du resolv.conf utilisé par adsuck). Je poste ça comme réponse possible à http://forums.archlinux.fr/topic5570.html
Si le cœur vous en dit de le perfectionner...
---
Adsuck peut aussi être utilisé en liste blanche.
Ça fonctionne pour l'ensemble des programmes installés sur la machine,
---
PKGBUILD
Code : Tout sélectionner
# Mimas <mimasgpc+pkgbuild@free.fr>
pkgname=adsuck
pkgver=1.7
pkgrel=1
pkgdesc="DNS filter"
arch=('i686' 'x86_64')
url=http://www.peereboom.us/adsuck/
license=('BSD')
depends=('ldns')
install=adsuck.install
source=(http://www.peereboom.us/adsuck/snapshot/$pkgname-$pkgver.tgz
filter hosts resolv.conf adsuck.rc)
md5sums=('b1a0b138409ed7fad37ddefc583e7ff4'
'b73333fe7bc2f92280fd30cbca179e43'
'7f5f2402d41dda50f013bd309159eb8c'
'5e8fa98c37069eccde9765b7e3457bd9'
'773708e7108c490671840fb39d71f157')
build() {
cd $srcdir/$pkgname-$pkgver
make || return 1
install -D -m700 adsuck $pkgdir/usr/sbin/adsuck
install -D -m644 ../filter $pkgdir/var/adsuck/filter
install -D -m644 ../hosts $pkgdir/var/adsuck/hosts
install -D -m644 ../resolv.conf $pkgdir/var/adsuck/resolv.conf
install -D -m755 ../adsuck.rc $pkgdir/etc/rc.d/adsuck
}
Code : Tout sélectionner
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
PID=$(pidof -o %PPID /usr/sbin/adsuck)
PARAM="-c /var/adsuck -f /resolv.conf -r /filter /hosts"
case $1 in
start)
stat_busy "Starting Adsuck Daemon"
if [[ -z $PID ]] && /usr/sbin/adsuck $PARAM; then
PID=$(pidof -o %PPID /usr/sbin/adsuck)
echo "$PID" > /var/run/adsuck.pid
add_daemon adsuck
stat_done
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping Adsuck Daemon"
if [[ ! -z $PID ]] && kill "$PID" &>/dev/null; then
rm_daemon adsuck
stat_done
else
stat_fail
exit 1
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
esac
Code : Tout sélectionner
post_install() {
if [ ! `egrep '^_adsuck:' /etc/group` ]; then
echo "Adding adsuck group"
groupadd _adsuck
fi
if [ ! `egrep '^_adsuck:' /etc/passwd` ]; then
echo "Adding adsuck user"
useradd -g _adsuck -s /bin/false _adsuck
fi
}
post_upgrade() {
post_install $1
}
pre_remove() {
echo "Removing adsuck user and group"
userdel _adsuck &> /dev/null
groupdel _adsuck &> /dev/null
}
op=$1
shift
$op $*
Code : Tout sélectionner
# computer names
^count(er)?[0-9]+?\.
^banners?[0-9]+?\.
^ad(s|srv|serv|serve|server|v|vert)?[0-9]+?\.
^clicks?\.
^[a-z][0-9]+\.[a-z]\.akamaiedge\.net
^[a-z][0-9]+\.[a-z]\.akastream\.net
^[a-z][0-9]+\.[a-z]\.akamaitech\.net
^[a-z][0-9]+\.[a-z]\.a\.yimg\.com
^[a-z][0-9]+\.[a-z]\.ak\.nbci\.com
^pub[0-9]\.
^stats\.
^s[0-9]\.sitemeter\.com
^s[0-9]\.cnzz\.com
^track(er|ing)?\.
^u.*\.spylog\.com
# domains
247realmedia\.com
\.2o7\.net
advserv
adbrite
adbureau\.net
adultfriendfinder\.com
adtech\.com$
casalemedia
clickbank
clickzs\.com$
cybermonitor\.com
cqcounter\.com
liveadvert
dynamic\.dol\.ru
doubleclick
erasercash
fastclick
google-analytics.com
googleadservices\.com
googlesyndication.com
hit-parade\.com
hitbox
hittail\.com
justcounter\.com
netaffiliation\.com
paycount
promobenef\.com
\.seekmo\.com
statcounter
smartadserver
thecounter
tradedoubler
valuead\.com$
valueclick
sex-?tracker
sexbank
weborama
xclicks
\.xiti\.com
xxxcounter
\.zango\.com
\.zedo\.com
Code : Tout sélectionner
nameserver 192.168.0.1
Un fichier hosts récupéré sur un de ces sites fournissant des fichiers hosts antipub.