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下载

Microsoft 365安装包下载(Office桌面应用)

中兴ZTE H618B 路由器固件刷机备忘

使用AdGuard的公共dns屏蔽广告

麦当劳免费Wifi帐号密码及连接设置

解决部分网站禁止复制内容的js脚本(无需安装插件)

浩方对战平台优化版 V2.05 部分去除浩方广告和弹出窗口

Debian 12上使用Nginx代理TCP流量,并配置IPv6白名单访问控制

速度与激情8 The Fate of the Furious (2017)

Python Web开发实战