前段时间有人问过我,如何让ShadowsocksR代理可以自带广告过滤/屏蔽功能,我查了下,基本就是在VPS上面装个广告过滤软件就好了。
注意:ADbyby对CPU要求较高,特别是流量很大的时候,如果CPU很弱的请不要尝试,并且在大流量情况下可能会因为ADbyby效率和CPU占用过高而影响速度。所以一般我是不推荐在服务器上面安装这类广告过滤软件的,还是建议本地设备安装!
一键脚本:『原创』Linux 广告过滤/屏蔽软件 —— ADbyby 一键安装脚本
安装步骤
首先用 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
如果你没有设置过防火墙开机启动(读入防火墙规则配置),那么你还需要设置一下,否则重启后防火墙规则就没了。
# CentOS 系统: chkconfig --level 2345 iptables on # Debian/Ubuntu 系统: cat > /etc/network/if-pre-up.d/iptables<<-EOF #!/bin/bash /sbin/iptables-restore < /etc/iptables.up.rules EOF # 注意上边这四行需要一起复制一起粘贴一起执行! chmod +x /etc/network/if-pre-up.d/iptables
使用方法
# 启动 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等代理 实现过滤/屏蔽广告功能
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!