最近发现了一款软件叫作adbyby,可以用来屏蔽网站及视频前的广告,使用了一下,感觉效果不错,看视频再也不用看广告了,最重要的是,软件支持linux及Openwrt,可以安装在路由器上。折腾了一个上午,终于成功的部署在了路由器上,下面是在路由器上安装部署的步骤:
1. 下载adbyby,下载页面为:http://www.adbyby.com/。注意,下载的时候要注意自己的硬件平台哦,我的路由器是ar71xx的,于是我就下载了ar71xx平台的版本:
2. 将下载的文件(openwrt.tar.gz)上传到路由器,当然,如果你的路由器已经连通了互联网,也可以直接下载,方法是使用一下命令:wget http://info.adbyby.com/download/openwrt.tar.gz
3. 解压缩: tar -zvxf openwrt.tar.gz
4. 移动解压出来的bin文件夹到/usr/share : mv bin /usr/share/adbyby
5. 进入/usr/share/adbyby目录: cd /usr/share/adbyby
6. 至此,adbyby就算安装完成了,如果要求不高,就已经可以使用了,使用方法是直接运行/usr/share/adbyby/adbyby,然后在pc上设置http代理,指向路由器的8118端口就行了。如果希望客户端不做任何设置就能享受到广告屏蔽的效果,并且每次都不用手动启动adbyby那就继续往下看。
7. 在/usr/share/adbyby目录创建三个文件:
文件1:show-state,内容如下:
ps | grep "/usr/share/adbyby/adbyby" | grep -v grep
文件2:start-adbyby,内容如下:
/usr/share/adbyby/adbyby &> /tmp/log/adbyby.log &
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118
文件3:stop-adbyby,内容如下:
ps | grep "/usr/share/adbyby/adbyby" | grep -v 'grep' | awk '{print $1}' | xargs kill -9
iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118
8. 给上一步中的三个文件赋予可执行的权限:
chmod +x show-state
chmod +x start-adbyby
chmod +x stop-adbyby
9. 在/etc/init.d/下创建文件adbyby,内容如下:
#!/bin/sh /etc/rc.common
START=80
start() {
echo "starting adbyby..."
/usr/share/adbyby/start-adbyby
}
stop() {
echo "stopping adbyby..."
/usr/share/adbyby/stop-adbyby
}
restart() {
stop
sleep 1
start
}
10. 赋予/etc/init.d/adbyby可执行的权限
chmod +x /etc/init.d/adbyby
11. 在/etc/rc.d/下建立一个到/etc/init.d/adbyby的链接:
ln -s /etc/init.d/adbyby S80adbyby
12. 重启路由器,检验使用效果。