Тема: Прозрачно: Фильтрация рекламы + кеширующий прокси
Автор благодарю за твой труд из-за которого это все возможно!
Надоела мне реклама на планшете и телефоне, решил сделать так чтобы её не было.
Сначала намутил туннель на OpenVPN (благо у меня белый ип) как это делается тут описано или на ixbt.com.
Я расскажу как сделать фильтрацию рекламы. Выбор пал на Privoxy, т.к. Squid хорошо но слишком прожорливо.
Privoxy
Собираем сами или качаем собранный мной.
Polipo
Берем из местных источников №2
Конфигурация polipo
chunkHighMark = 819200
daemonise = true
disableIndexing = false
disableServersList = false
diskCacheRoot = /media/DISK_A1/system/var/polipo-cache/
diskCacheTruncateSize = 1024 MB
diskCacheTruncateTime = 30d
diskCacheUnlinkTime = 50d
diskCacheWriteoutOnClose = 32768
dnsMaxTimeout = 3
dnsQueryIPv6 = no
dnsUseGethostbyname = true
maxConnectionRequests = 512
maxDiskCacheEntrySize = -1
maxDiskEntries = 4096
objectHighMark = 128
proxyAddress = 127.0.0.1
proxyPort = 8090
tunnelAllowedPorts = 80
allowedClients = 127.0.0.1
Конфиг privoxy
confdir /media/DISK_A1/system/etc/privoxy
logdir /media/DISK_A1/system/var/log
filterfile default.filter
filterfile adult-utf8.filter
filterfile rpft.filter
logfile privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
actionsfile adblock.action
actionsfile rpft.action
actionsfile user.action # User customizations
#listen-address 127.0.0.1:8118
listen-address 0.0.0.0:3128
toggle 1
enable-remote-toggle 1
enable-remote-http-toggle 0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries 0
accept-intercepted-requests 1
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 300
socket-timeout 300
permit-access 192.168.1.0/24
debug 1 # show each GET/POST/CONNECT request
debug 4096 # Startup banner and warnings
debug 8192 # Errors - *we highly recommended enabling this*
forward / 127.0.0.1:8090
#admin-address privoxy-admin@example.com
#proxy-info-url http://www.example.com/proxy-service.html
Файл для загрузки provixy
#!/bin/sh
# Copyright (C) 2006-2011 OpenWrt.org
MOUNT="/media/DISK_A1/system"
export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib
NAME="Polipo"
PIDFILE="$MOUNT/var/run/privoxy.pid"
PRIVOXY="$MOUNT/usr/sbin/privoxy"
CONFIG_FILE="$MOUNT/etc/privoxy/config"
SERVICE_USE_PID=1
start() {
echo "Starting $NAME... "
$PRIVOXY --pidfile $PIDFILE $CONFIG_FILE
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128 ! -d 192.168.0.0/16
}
stop() {
echo "Killing $NAME... "
iptables -t nat -D PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128 ! -d 192.168.0.0/16
killall privoxy
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo "Usage: $0 (start|stop|restart)"
;;
esac
Файлы для блокировки основной рекламы и русской берем отсюда
adblock.action
rpft.filter
adult-cp1251.filter
adult-utf8.filter
rpft.action
и ещё одно правило для iptables
iptables -A INPUT -i lo -j ACCEPT
Результат отличный, все фильтруется походу надо будет ещё оперативки допаять или торрент выключить... Вобщем отличная коробка (страшное слово фильтруется я понимаю что роутеры этой конторы страшные, а слово то чего фильтровать?) получилась .
Там же есть скрипт, для обновления, можно его прикрутить в cron пока не занимался может кто допилит .
Отредактировано extraterrestrial (2012-01-29 12:46:26)