DD-WRT 路由器拦截广告教程

原理自然很简单,就是把送广告的域名都指向 127.0.0.1,然后定期自动更新广告域名列表。你可能想到 hosts 文件,原理是一样的,这里用到路由器上广泛存在的 dnsmasq 服务。

首要问题是,广告域名列表从哪里来。国外确有一些更新频繁的广告域名列表,可我们连自己的广告都看不完,哪有时间看他们的。好在我们有 chinalist,尤其是 chinalist lazy,可从里面把纯域名的摘出来,中文为主英文兼顾还定期更新,理想列表。做成启动脚本定期更新就好了。

下面就是具体实现了,全网络界面操作,不沾命令行,逃不过会稍微解释一下:

1. 进入 DD-WRT 网页管理界面,Services(服务) -> Services(服务),DNSMasq 和 Local DNS(本地 DNS) 均设置成 Enable (启用)。滚到页面底部保存。

2. 进入 DD-WRT 网页管理界面,Administration -> Commands,贴入如下脚本后,Save Startup:

#!/bin/sh

logger WAN up script executing

if test -s /tmp/dnsmasq.ads

then

rm /tmp/dnsmasq.ads

fi

logger Downloading China Lazy List

wget -O - http://adblock-chinalist.googlecode.com/svn/trunk/adblock-lazy.txt |

grep ^||[^*]*^$ |

sed -e 's:||:address=/:' -e 's:^:/127.0.0.1:' > /tmp/dnsmasq.ads

grep conf-file /tmp/dnsmasq.conf ||

echo -e "nconf-file=/tmp/dnsmasq.ads" >> /tmp/dnsmasq.conf

logger Restarting dnsmasq

killall dnsmasq

dnsmasq --conf-file=/tmp/dnsmasq.conf

3. 上面其实是做了一个启动脚本,在路由器每次启动时运行。意思是,下载 China List Lazy,转换生成 dnsmasq 配置文件,再告知 dnsmasq 调用。

4.进入 DD-WRT 网页管理界面,Administration -> Management, 找到 cron,enable, 然后在下面”Additional Cron Jobs”贴入

* 1 * * * root /tmp/.rc_startup

页面滚到底,保存,重启路由器。成功。可清空浏览器缓存后访问几个大网站看看,虽然效果没有 Adblock Plus 彻底,但也相当明显的。何况,可以打开 Adblock Plus 拦截漏网之鱼么。

[via]

评论

Popular Posts

高硼硅玻璃水杯

《小狗钱钱》[德] 博多·舍费尔

甄果人 原味香葱牛轧饼

如何做好个人防疫?

新概念英语PDF扫描版

《斗破苍穹》天蚕土豆

CuteHttpFileServer/chfs 文件服务器,支持http,webdav,多平台

月光宝盒 - 提供网站数据备份服务

MD大战略2 德国闪击战 中文汉化版