上网打开网页,看视频都会有广告弹出,很是烦人。为了避免这个问题,在op的路由器中装上adbyby插件就能去掉“不可接受的”广告。

ssh登陆gl-inet路由器(基于OPENWRT-AR71XX(AR913X),adbyby官网上下载对应插件),输入:

mkdir adbyby
cd adbyby
wget http://info.adbyby.com/download/openwrt.tar.gz
tar -xzvf openwrt.tar.gz
cd bin
chmod +x adbyby
vi /etc/rc.local

在exit 0 前加入

/root/adbyby/bin/adbyby&
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118

另外更新adhook.ini中的exrule:
vi /root/adbyby/bin/adhook.ini
找到[exrule],修改为:

[exrule]^M
rule=https://easylist-downloads.adblockplus.org/easylistchina.txt^M
rule=https://easylist-downloads.adblockplus.org/easyprivacy.txt^M

重启路由器,搞定。。。
经测试:打开网易、优酷,页面没有讨厌的广告了,也不会弹出广告,视频内嵌的前置广告也没了。。。手机浏览器也是。。。
但是手机的app内置的广告还是有的,另外某些广告还是存在,大概是属于“Adblock Plus 认为的可接受的广告”吧。。。

由于adbyby不是很稳定,一旦挂掉就不能上网了,所以按照
http://www.groad.net/bbs/thread-8832-1-1.html (有修改)创建守护进程,一旦adbyby进程挂了,就重启进程。。。

vi /etc/check_ad_by_by.sh
#!/bin/sh
 
mon() {
while [ "1" ];
do
 cc=`ps | grep adbyby | grep -v grep | grep -v catch`
 if [ -z "$cc" ];then
    /root/adbyby/bin/adbyby& >/dev/null
 fi
 sleep 4
done
}
 
mon &
chmod a+x /etc/check_ad_by_by.sh
vi /etc/rc.local

在exit 0前加入

/etc/check_ad_by_by.sh

另外为了防止adbyby 僵死,可以定期检查重启adbyby:

vi /etc/restart_ad_by_by.sh
#!/bin/sh

ping -c 1 www.baidu.com > /dev/null
ret=$?
if [ $ret -eq 0 ]
then
echo ' It seems OK ! '
else
echo ' restarting adbyby! '
killall -9 adbyby
/root/adbyby/bin/adbyby& >/dev/null

fi
chmod a+x /etc/restart_ad_by_by.sh

在crontab里面增加

0 * * * * /etc/restart_ad_by_by.sh

每小时检查重启adbyby

如果adbyby还是无法启动,可能需要安装libstdcpp

opkg install libstdcpp