Linksys WRT1900ac 刷openwrt使用privoxy广告过滤方法(非完美)

由于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
QQ图片20150430195230

1.安装privoxy
直接ssh上路由器,然后输入
继续阅读Linksys WRT1900ac 刷openwrt使用privoxy广告过滤方法(非完美)

批量下载Openwrt官网packages脚本,搭建自己的软件源

由于Openwrt官网的Chaos Calmer的trunk每天更新一次,如果装了某天的包,第二天要装kernel dependent的软件就比较麻烦了,所以一般都要全部下载下来,自己搭个软件源,以下脚本就是提供了批量下载的(需要在linux环境下运行):

例如在/root/wrt1900ac/packages下:

Openwrt 下广告过滤插件adbyby对网速影响的研究 ——主要是软nat不给力

家中电信100Mbps光纤,主路由是netgear wndr4300,刷op前后家里的nas迅雷离线均可以达到11MB/s下载速度,但是路由装上adbyby以后,迅雷离线平均速度不会超过6.2MB/s(50Mbps),经过分析测试,原因在于如下语句:

由于op目前不支持硬件nat,上述语句的nat是软nat实现,性能较差。
由于路由上还有ss,所以一般不会用pc主机上迅雷下东西,我将nas ip加入了ss例外列表,同时为了下载提速,将nas ip加入不使用adbyby的nat转发的ip段。
解决方案:
将家里分成2个子网,掩码25,低地址段使用静态ip,分配其中一个给nas用于离线下载,高地址段使用dhcp,通过adbyby的nat转发proxy实现广告过滤。路由、nas和客户机的掩码设置为24,这样可以互相访问,千兆局域网。
首先在luci里面‘网络’-‘接口’-‘lan’-‘DHCP服务器’-‘开始’,将dhcp起始段设为128。

将/etc/rc.local里面的语句修改为:

重启路由。
这样,将终端的ip设为小于128的时候,adbyby广告过滤功能对其无效,下载速度100M,当终端大于等于128时,adbyby广告过滤功能又对其开启,下载速度50M。