Linux 服务器安装 ADbyby 使ShadowsocksR等代理 实现过滤/屏蔽广告功能

本文最后更新于 2017年8月13日 14:35 可能会因为没有更新而失效。如已失效或需要修正,请留言!

前段时间有人问过我,如何让ShadowsocksR代理可以自带广告过滤/屏蔽功能,我查了下,基本就是在VPS上面装个广告过滤软件就好了。

注意:ADbyby对CPU要求较高,特别是流量很大的时候,如果CPU很弱的请不要尝试,并且在大流量情况下可能会因为ADbyby效率和CPU占用过高而影响速度。所以一般我是不推荐在服务器上面安装这类广告过滤软件的,还是建议本地设备安装!

一键脚本:『原创』Linux 广告过滤/屏蔽软件 —— ADbyby 一键安装脚本


官方网站:http://www.adbyby.com/

安装步骤

首先用 uname -m 命令来查看系统位数,如果返回 x86_64 那么就是64位,如果返回 i386/i686 那么就是32位,请根据位数选择下载命令。

# 64位选这个
wget -O "adbyby.tar.gz" "http://update.adbyby.com/download/linux.64.tar.gz"
# 32位选这个
wget -O "adbyby.tar.gz" "http://update.adbyby.com/download/linux.86.tar.gz"

然后我们解压、进入 /bin 目录、赋予程序运行权限:

tar -xzf adbyby.tar.gz && rm -rf adbyby.tar.gz && mv bin adbyby && cd adbyby && chmod 777 adbyby

接着后台运行软件:

nohup ./adbyby > /dev/null 2>&1 &

设置防火墙转发

最后我们还需要设置一下防火墙 透明代理,把 80端口 的流量转发到 adbyby的 8118端口(不需要再添加 443端口,实测只转发 80端口即可),以过滤网站流量中的广告。

首先开启防火墙转发:

echo "1" > /proc/sys/net/ipv4/ip_forward

然后添加防火墙规则:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118

最后保存服务器规则即可。

# CentOS 系统:
service iptables save

# Debian/Ubuntu 系统:
iptables-save > /etc/iptables.up.rules

如果你没有设置过防火墙开机启动(读入防火墙规则配置),那么你还需要设置一下,否则重启后防火墙规则就没了。

点击展开 查看设置防火墙开机启动

使用方法

# 启动 ADbyby:
# 假设你的安装目录是 /root/adbyby
nohup /root/adbyby/adbyby > /dev/null 2>&1 &

# 停止 ADbyby:
kill -9 $(ps -ef|grep "adbyby"|grep -v grep|awk '{print $2}')

其他说明

添加广告过滤规则URL

ADbyby Linux包内自带的广告过滤规则都一年没更新了,所以基本是废了,需要添加新的过滤规则。

假设ADbyby 安装在 /root/adbyby 目录中,那么这样添加:

# 先添加这个代表开启 扩展规则模式,以后要添加其他的 规则URL 就不需要执行这个步骤了!
echo -e "[exrule]" >> /root/adbyby/adhook.ini

# 然后我们再在[exrule]后面追加要添加的规则URL,以后想要追加其他规则URL,都可以这样添加!
# 下面这几个规则是我临时收集的,试了试还可以,你们可以自己收集并添加。
# 如果你有好的广告过滤规则,可以在评论里留言分享!

echo -e "https://easylist-downloads.adblockplus.org/easylistchina.txt
https://easylist.to/easylist/easylist.txt
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt" >> /root/adbyby/adhook.ini

#############################################
# 可以通过这个命令查看 配置文件
cat /root/adbyby/adhook.ini
# 也可以使用vi nano 等编辑器去添加/修改
vi /root/adbyby/adhook.ini
nano /root/adbyby/adhook.ini

添加/修改后,重启ADbyby即可。

kill -9 $(ps -ef|grep "adbyby"|grep -v grep|awk '{print $2}')
nohup /root/adbyby/adbyby > /dev/null 2>&1 &
如果你有好的广告过滤规则,可以在评论里留言分享!

卸载 ADbyby

假设ADbyby安装在 /root/adbyby 目录中,那么这样:

# 先停止adbyby,如果已经停止可以跳过
kill -9 $(ps -ef|grep "adbyby"|grep -v grep|awk '{print $2}')

# 删除adbyby文件夹
rm -rf /root/adbyby

# 删除一开始添加的防火墙规则
iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118

# 保存防火墙
# CentOS 系统:
service iptables save

# Debian/Ubuntu 系统:
iptables-save > /etc/iptables.up.rules

说一个题外话,如果你在路由器或者本地PC电脑中安装 ADbyby,那么它会和 ShadowsocksR的 http_simple混淆插件冲突,两者不可同时使用。当然如果你是在服务器上面(SSR服务端)安装ADbyby就没这个冲突了。


有其他问题请在评论里留言!

转载请超链接注明:月下博客 » Linux 服务器安装 ADbyby 使ShadowsocksR等代理 实现过滤/屏蔽广告功能
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

留言评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code