由于adbyby不支持Linksys WRT1900ac的Marvell MV78230,所以只能选择最原始的privoxy 来过滤广告,由于没有了adbyby针对cpu的优化,性能上会受一定影响,但是marvel这个cpu是双核1.2GHz的,性能足够强大,因此实际表现上,privoxy+Marvell MV78230还是略强于adbyby+高通的qca 9558的,实测linksys wrt1900ac下privoxy搭配7.5M的action,800K的filter,可以拉到接近9MB/s(72Mbps)的速度(相对的adbyby+qca 9558大约7MB/s,adbyby+ar9344大约6.2MB/s),相信如果adbyby支持wrt1900ac的马牌cpu的话拉满100Mbps的带宽应该没有问题,但是实际用户体验上还是会有明显的卡网出现,最大的问题还是privoxy规则不支持过滤网络视频前的广告。下面简单介绍一下配置:
0.环境为Linksys WRT1900ac + OpenWrt Chaos Calmer r4558 官方trunk 20150429,自己编译的chinadns和ss


AltText

1.安装privoxy
直接ssh上路由器,然后输入

vi /etc/config/privoxy

这样会把涉及的软件都装上了包括privoxy

2.配置privoxy
最新版本的privoxy的配置文件已经挪到了/etc/config/privoxy了,所以:

vi /etc/config/privoxy

增加如下内容:

option accept_intercepted_requests '1'
 list actionsfile 'match-all.action'
 list actionsfile 'default.action'
 list actionsfile 'user.action'
 list actionsfile 'ab2p.action'
 list actionsfile 'ab2p.system.action'
 list actionsfile 'my.action'
 list actionsfile 'css.action'
 list filterfile 'default.filter'
 list filterfile 'ab2p.filter'
 list filterfile 'ab2p.system.filter'
 list filterfile 'my.filter'
 list filterfile 'css.filter'

其中第一句如果不加的话,打开所有网页会提示有‘invalid header received from client’

3.使用adblock2privoxy生成配置文件
打开http://projects.zubr.me/wiki/adblock2privoxy
里面有个downloadpage,下载windows版本的(别问我为啥不用source编译,搞不定啊。。。),里面有个adblock2privoxy.exe,在根目录下创建out文件夹和www文件夹
打开windows命令行
执行:

adblock2privoxy -p out -w www  -d www.163.com https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt

如果嫌慢先把后面的txt下载以后再开个http服务器来弄。
最后会在out文件夹下面生成所需要的ad2p开头的5个文件。剩下的文件我是直接下载卡饭论坛上别人的privoxyR20140517.7z
将上述文件拷贝到路由器/etc/privoxy/目录下

4.开启privoxy服务


AltText

5.添加iptables规则,类似adbyby

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.128/25 --dport 80 -j REDIRECT --to-ports 8118

6.重启路由,打开网页就会发现广告被过滤了,但是网页打开速度慢于安装了adbyby的路由,且视频内嵌广告不能过滤,所以我最后还是用浏览器+adblock plus来解决这个问题。