[réseau] adsuck, un DNS filtrant.

annonces et demandes de paquetages pour les dépôts i686 et x86_64
Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

[réseau] adsuck, un DNS filtrant.

Message par mimas »

Mon paquet pour adsuck. Les md5sums sont à changer car des fichiers sont perso. (fichier hosts et filter) ou non fournis (cf hosts qui fait plusieurs mégas).

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
}
adsuck.rc

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
adsuck.install

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 $*
filters (à personnaliser)

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
resolv.conf (à adapter)

Code : Tout sélectionner

nameserver 192.168.0.1
hosts (à adapter)

Un fichier hosts récupéré sur un de ces sites fournissant des fichiers hosts antipub.
Dernière modification par mimas le ven. 26 févr. 2010, 11:00, modifié 1 fois.
Anarchy for the triple A.
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Re: [réseau] adsuck, un DNS filtrant.

Message par gyo »

Ah, intéressant ça, une solution bien KISS et plus puissante qu’un gros host statique redondant.

Quoique, en regardant de plus près je n'ai pas très bien compris pourquoi, en plus des filtres, il faut aussi un hosts antipub, le fichier filters n'est pas suffisant ?

Sinon, je crois que le dump de ton fichier adsuck.install est celui de adsuck.rc…
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [réseau] adsuck, un DNS filtrant.

Message par mimas »

Voilà, c'est corrigé. En plus j'aurais dû poster dans la section packages. Pas vraiment réveillé pour le coup.

Oui, on pourrait se contenter des filtres d'expressions régulières, à mon avis c'est le plus pertinent si on utilise adsuck pour gérer une liste blanche. Pour un dns filtrant, ça me semble important d'avoir les deux types de filtres. J'ai écrit un petit programme qui teste si les entrées du fichier host téléchargé correspondent à une exp. reg. et donne un fichier host allégé.
Anarchy for the triple A.
Avatar de l’utilisateur
rafmav
yeomen
Messages : 271
Inscription : mer. 11 mars 2009, 13:30

Re: [réseau] adsuck, un DNS filtrant.

Message par rafmav »

ça tourne ou c'est adaptable avec pdns ?
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
barikoh
Hankyu
Messages : 12
Inscription : ven. 28 août 2009, 14:17

Re: [réseau] adsuck, un DNS filtrant.

Message par barikoh »

salut,

tu pourrais mettre ton paquet adsuck sur AUR , s'il te plait ? Merci ! :o :D
Linux puerto 2.6.32-ARCH #1 SMP PREEMPT Tue Feb 23 19:24:08 UTC 2010 i686 AMD Turion(tm) 64 X2 Mobile Technology TL-60 AuthenticAMD GNU/Linux

J'utilise le pilote : xf86-video-vesa pour ma ATI Technologies Inc RS690M [Radeon X1200 Series]
Imprimante/scanner Canon Pixma MP210 : cnijfilter-mp210 scangearmp-mp140 (utilisable grâce à xsane 0.996).
Répondre