KoolProxy只过滤视频广告iPSet工作模式解决CPU占用高,KoolProxy过滤视频广告iPSet工作模式
由于KoolProxy占用CPU非常高,所以就想能不能只过滤视频广告,这样应该会降低一些CPU占用,下面是具体实现方法。
目的:只想过滤视频广告,不想影响网速。
带宽:100M带宽移动,上传10M
测试:https://www.speedtest.net/
情况:新版KoolProxy视频模式,测试网速,下载等,单核占用CPU 100%。
很多人说KoolProxy占用CPU,影响网速是由于用的默认配置,全局。全局过滤必须经过CPU的处理所以性能就由CPU决定了。
一般要求不高我建议用ipSet+https+http 这样的组合方式(设备安装证书)。需求比较奇特,只想过滤视频广告给电视盒子,ipad等用,又不想影响网速。
修改原理:刚才说用ipSet 测试speedtest.net,CPU占用是比较低的,测试结果在93.XMbit。所以需要修改视频模式(全局)为iPSet工作模式。
修改结果:视频模式 修改前后对比效果看图。当然最后用ie测试了优酷和qq视频过滤效果是有的。
修改前:
修改方法:启用路由的ssh登录,用WinSCP进入“/koolshare/KoolProxy” 打开 “kp_config.sh” 文件,这个是KP的配置文件。
以下是具体修改方法论:
你会发现有三个规则定义
#全局模式 [ “$koolproxy_policy” = “1” ] #ipSet [ “$koolproxy_policy” = “2” ] #全局视频模式 [ “$koolproxy_policy” = “3” ]
寻找ipSet 规则 2的编写,发现有把ip 放入dnsmasq
add_ipset_conf(){ if [ “$koolproxy_policy” == “2” ];then echo_date 添加黑名单软连接… rm -rf /jffs/configs/dnsmasq.d/koolproxy_ipset.conf ln -sf /koolshare/koolproxy/data/koolproxy_ipset.conf /jffs/configs/dnsmasq.d/koolproxy_ipset.conf dnsmasq_restart=1 fi }
让视频模式也设置iPSet,修改后如下:
add_ipset_conf(){ if [ “$koolproxy_policy” == “2” ] || [ “$koolproxy_policy” == “3” ];then echo_date 添加黑名单软连接… rm -rf /jffs/configs/dnsmasq.d/koolproxy_ipset.conf ln -sf /koolshare/koolproxy/data/koolproxy_ipset.conf /jffs/configs/dnsmasq.d/koolproxy_ipset.conf dnsmasq_restart=1 fi }
下一个修改点猜测是全局还是跑ipset的设置,可以看到视频模式是跑全局过滤的。
# 全局模式和视频模式 [ “$koolproxy_policy” == “1” ] || [ “$koolproxy_policy” == “3” ] && iptables -t nat -I PREROUTING 2 -p tcp -j KOOLPROXY # ipset 黑名单模式 [ “$koolproxy_policy” == “2” ] && iptables -t nat -I PREROUTING 2 -p tcp -m set –match-set black_koolproxy dst -j KOOLPROXY
让视频模式只跑ipSet。修改后如下:
# 全局模式和视频模式 [ “$koolproxy_policy” == “1” ] && iptables -t nat -I PREROUTING 2 -p tcp -j KOOLPROXY # ipset 黑名单模式 [ “$koolproxy_policy” == “2” ] || [ “$koolproxy_policy” == “3” ] && iptables -t nat -I PREROUTING 2 -p tcp -m set –match-set black_koolproxy dst -j KOOLPROXY }
下一个修改点DNS劫持
dns_takeover(){ ss_chromecast=`dbus get ss_basic_chromecast` lan_ipaddr=`nvram get lan_ipaddr` #chromecast=`iptables -t nat -L PREROUTING -v -n|grep “dpt:53″` chromecast_nu=`iptables -t nat -L PREROUTING -v -n –line-numbers|grep “dpt:53″|awk ‘{print $1}’` if [ “$koolproxy_policy” == “2” ]; then if [ -z “$chromecast_nu” ]; then echo_date 黑名单模式开启DNS劫持 iptables -t nat -A PREROUTING -p udp –dport 53 -j DNAT –to $lan_ipaddr >/dev/null 2>&1 else echo_date DNS劫持规则已经添加,跳过~
把视频模式也增加劫持项目,仿真ipset,修改后如下:
dns_takeover(){ ss_chromecast=`dbus get ss_basic_chromecast` lan_ipaddr=`nvram get lan_ipaddr` #chromecast=`iptables -t nat -L PREROUTING -v -n|grep “dpt:53″` chromecast_nu=`iptables -t nat -L PREROUTING -v -n –line-numbers|grep “dpt:53″|awk ‘{print $1}’` if [ “$koolproxy_policy” == “2” ] || [ “$koolproxy_policy” == “3” ]; then if [ -z “$chromecast_nu” ]; then echo_date 黑名单模式开启DNS劫持 iptables -t nat -A PREROUTING -p udp –dport 53 -j DNAT –to $lan_ipaddr >/dev/null 2>&1 else echo_date DNS劫持规则已经添加,跳过~
到这里已经修改完毕,可以让视频模式 从全局跑ipSet了!修改过后日志会显示不正常,不影响正常使用。
以下修改不影响使用,只影响日志效果!!
闲话,之前在本区反映过确认设置的时候的打印日志,视频模式会打印加载静态规则的问题
原文地址:http://koolshare.cn/thread-96440-1-1.html
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包