├── .github └── ISSUE_TEMPLATE │ ├── --------.md │ └── -----.md ├── 20190328233849.jpg ├── 20190328233937.jpg ├── 20190407215443.jpg ├── Changelog.txt ├── KoolProxyR_install.sh ├── KoolProxyR_my_rule_diy.sh ├── README.md ├── backup.sh ├── build.sh ├── history ├── 2.2.0 │ └── koolproxyR.tar.gz ├── 2.2.1 │ └── koolproxyR.tar.gz ├── 2.2.2 │ └── koolproxyR.tar.gz ├── 2.2.3 │ └── koolproxyR.tar.gz ├── 2.2.4 │ └── koolproxyR.tar.gz ├── 2.2.5 │ └── koolproxyR.tar.gz ├── 2.2.6 │ └── koolproxyR.tar.gz ├── 2.2.7 │ └── koolproxyR.tar.gz ├── 2.8.8 │ └── koolproxyR.tar.gz └── version ├── koolproxy ├── daily.txt └── koolproxy.txt ├── koolproxyR.tar.gz ├── koolproxyR ├── init.d │ └── S93koolproxyR.sh ├── install.sh ├── koolproxyR │ ├── data │ │ ├── gen_ca.sh │ │ ├── koolproxyR_ipset.conf │ │ ├── openssl.cnf │ │ ├── rules │ │ │ ├── daily.txt │ │ │ ├── easylistchina.txt │ │ │ ├── easylistchina.txt.md5 │ │ │ ├── fanboy-annoyance.txt │ │ │ ├── fanboy-annoyance.txt.md5 │ │ │ ├── koolproxy.txt │ │ │ ├── kp.dat │ │ │ ├── kp.dat.md5 │ │ │ ├── user.txt │ │ │ ├── user.txt.md5 │ │ │ ├── yhosts.txt │ │ │ └── yhosts.txt.md5 │ │ └── source.list │ ├── koolproxy │ └── kpr_config.sh ├── scripts │ ├── KoolProxyR_cert.sh │ ├── KoolProxyR_check_chain.sh │ ├── KoolProxyR_config.sh │ ├── KoolProxyR_debug.sh │ ├── KoolProxyR_getarp.sh │ ├── KoolProxyR_rule_update.sh │ ├── KoolProxyR_rules_status.sh │ ├── KoolProxyR_status.sh │ └── KoolProxyR_update_now.sh ├── uninstall.sh ├── variable │ ├── haveged.ipk │ └── libhavege.ipk └── webs │ ├── Module_koolproxyR.asp │ └── res │ ├── icon-koolproxyR-bg.png │ ├── icon-koolproxyR.png │ └── icon_koolproxyR-v.png ├── kpr_tar_install.sh ├── ks_tar_install.sh ├── md5.txt └── version /.github/ISSUE_TEMPLATE/--------.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 意见,建议及其他 3 | about: 请描述你的想法。 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/-----.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 问题 反馈 3 | about: 描述你在使用中遇到的各种问题。 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **你所使用的设备:例如 电脑 MAC IPHONE 小米MIX IPHONE8** 11 | 我正在使用: 12 | 13 | **是否启用http/https模式** 14 | https是否启用: 15 | 16 | 17 | **证书是否安装正确** 18 | PC安装到【受信任的根证书发布机构】. 19 | 安卓7.0以上将.0根证书复制到【/system/etc/security/cacerts】【/system/etc/security/cacerts_google】. 20 | iphone 在设置---通用----关于手机里面信任证书. 21 | MAC 在 【钥匙串访问】中信任。 22 | 23 | **是否采取下列措施** 24 | 1,重启LEDE 25 | 2,重新安装证书 26 | 27 | **如果重复以上步骤仍然有问题:** 28 | 请打开 kpr --附加设置--调试模式-AD ,重复出现问题的地方操作。将日志文件全选粘贴到下方。 29 | -------------------------------------------------------------------------------- /20190328233849.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/20190328233849.jpg -------------------------------------------------------------------------------- /20190328233937.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/20190328233937.jpg -------------------------------------------------------------------------------- /20190407215443.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/20190407215443.jpg -------------------------------------------------------------------------------- /Changelog.txt: -------------------------------------------------------------------------------- 1 | 感谢TG 四爷对日志进行倒序。 2 | --- 3 | 2.8.8 4 | 更新:主规则可选Kp与kpr,fanboy同样更改为国外规则与全规则二选一 5 | 6 | --- 7 | 2.2.7 8 | 修复了调试模式无法使用的bug 9 | --- 10 | 2.2.6 11 | 修复了2个bug 12 | --- 13 | 2.2.5 14 | 2020年2月1日19:12:05 15 | 更新:视频规则更新地址更新。 16 | 更新:腾讯开发者平台迁移到coding,因为腾讯开发者平台合并到coding了,腾讯开发者平台不在可用,为保证更新可用,同步更新至coding. 17 | 18 | --- 19 | 2.2.4 20 | 2019年8月2日16:27:38 21 | 修复:yhosts的tvbox规则未导入的情况 ---TG 老 王 22 | 2019年8月30日23:07:15 23 | 修复:删除yhosts还残留的部分未转化完全的规则 ---TG Kt 24 | --- 25 | 2.2.3 26 | 2019年7月30日19:48:53 27 | 更新:全新kpr图标 ---- TG Joe 乔爷 and github evolutionjay 28 | 修复:卸载残留定时任务 ----TG 宏 谢 29 | 更新:移动 haveged 到variable文件夹 30 | 说明:由于优酷,腾讯视频,爱奇艺,等主流平台开始大规模实施http2,现阶段的的kpr不支持http2过滤,已经无法完全移除广告了。 31 | --- 32 | 2.2.2 (重大更新) 33 | 2019年7月13日22:14:45 34 | 更新:更新了视频规则更新的逻辑。 - ---TG SD gzsdbb 35 | 更新:大量修正了消耗CPU的规则。降低CPU负担。 36 | 更新:问题反馈移交到问卷星 37 | --- 38 | 2.2.1 39 | 修复:规则调试模式遗留下来的,多个错误。 40 | 更新:kpr将自主更新视频规则。 41 | 更新:开放视频规则更新,及界面微调。 42 | 更新:移除kpr_video_list.txt 43 | 更新:对yhosts规则的三大视频平台进行放行【全部移交给视频规则处理。】。 44 | 更新:部分日志,界面的说明。更加符合阅读规范。 45 | 46 | --- 47 | 2.2.0 48 | 更新:规则调试模式更新,此时将一起覆盖/tmp下的临时文件。避免保存时又恢复到默认。同时更新自动关闭规则调试模式。 49 | 新增:规则调试模式更新,可以同时启用多个调试,比如启用调试模式——info之后,再启动本模式可以同时生效。 50 | 更新:更新自动等待时间1秒---9999秒(3小时)也就是更新时间从晚上3点到早上6点之间,此举可以缓解用户增长带来的服务器压力,并避免以后多次调整。 51 | 调整:将调试模式-WARNING模式 调整至全调试模式。(将有用的留下,没用的去掉) 52 | 53 | --- 54 | 2.1.9 55 | 2019年6月29日11:52:31 56 | 更新:更新调试模式,更改全调试模式到规则调试模式,此模式下使用【WinSCP】等文件管理软件,更改/koolshare/koolproxyR/data/rules/user.txt将即时生效,而不再等待重启Kpr,重启SS等系列操作。 57 | 修复:修复更新规则无法判断失败的Bug. 58 | 更新:新增自动更新规则随机等待1秒---999秒,避免同时进行大量请求导致更新失败。 59 | 修复:修复自定义shell脚本KoolProxyR_my_rule_diy.sh 导致日志不正常的问题,已经使用自定义shell的同学,请重新到项目首页下载,并将命令复制过去。 60 | 更新:编译过程不再依靠软件中心【酷软】。 61 | 62 | --- 63 | 2.1.8 64 | 修复:yhosts 对三大购物平台放行不彻底的问题(京东,淘宝,天猫) ---TG 说好的女装呢 女装大佬 65 | 新增:debug-info 提示 如果您需要查看https流量,请在【访问控制】中指定【HTTP/HTTPS双过滤模式】 --- TG Joe asita 66 | 新增:在【玩不转?】中新增一个新手的标准流程。 67 | 68 | --- 69 | 2.1.7 70 | 2019年5月31日22:58:43 71 | 新增:隐藏功能,自定义shell(面向有shell基础的用户)请从github项目主页上下载KoolProxyR_my_rule_diy.sh 72 | 修复:全端口无法过滤广告的问题,此BUG由2.1.6发生 ----TG 爱情骷髅 73 | 优化:yhosts,优化源,恢复版本号显示. 74 | 新增:主规则下载的判断逻辑,当一个规则下载失败的时候,整个规则处于失败状态. ----TG Kt 75 | 优化:升级/重装KPR 自定义规则判断逻辑,避免自定义规则丢失. 76 | 新增:文件树说明,在项目主页。 77 | 78 | --- 79 | 2.1.6 80 | 2019年5月24日14:31:08 81 | 修复:修复昨天调整if判断遗留下来的规则无法更新的Bug ----TG GKC 82 | 更新:更新规则,在线更新kpr将统一采用ipv4,避免ipv6响应过慢的问题。----TG Crusoe Jay 83 | 新增:日志一键拷贝按钮。 感谢 油炸包子的指点。 此功能已放弃 还是使用Ctrl+A Ctrl+C 吧 84 | 新增:对非KPR订阅用户新增规则md5文件。(部分人想用,但是没有软路由,订阅又没有Md5,我就顺手为之吧。不过这个可不是一直更新,更新Kpr才得以更新。) 85 | 86 | 对大家致歉:本人可能太过追求完美,不断收到反馈,然后修复Bug新增完善功能。导致版本更新迭代过多。 87 | 自身水平不够过硬,有时候修复调整,又弄出一个新的bug。 88 | 此后kpr更新时间调整为(每月的24-月底)之间,其他时间只收集修复Bug,并不对推送更新。紧急bug除外。 89 | 希望大家都有一个愉快的体验。 90 | 此次更新之后,本月不再更新,非重大bug,下月再见。 91 | 92 | --- 93 | 2.1.5 94 | 更新:更新kpr自检查守护。当Kpr打开而kp没有运行时,自动重启Kpr.(你可以理解为Kpr守护...) 95 | 新增:在线更新/在线安装/更新规则--自动重试5次。 96 | 修复:部分判断不稳定if用法问题 -----TG 233boy 97 | 调整:Debug提示优化,现在能更快关闭节约时间了。 98 | 99 | --- 100 | 2.1.4 101 | 修复:KPR重启SS,KPR没有日志的问题。 -------- TG 切克闹 不爱吃辣椒 102 | 修复:腾讯开发者平台无法跨域,导致没有更新提示框的问题,现在提示框连接重新回到github 103 | 修复:部分时候无法停止kpr导致更新/离线安装/在线安装无法进入下一步的问题。 -- TG 切克闹 不爱吃辣椒 104 | 更新:使用卸载命令将反DBUS注册。脚本来自 ---TG sadog 反馈来自 -- TG 切克闹 不爱吃辣椒 105 | 更新:在线更新kpr也采用start-stop-daemon模式,同时在线安装也将dbus反注册不在留下空白图标。(PS离线安装无解) 106 | 107 | --- 108 | 2.1.3 109 | 修复:修复只选择fanboy全规则保存成功fanboy并没有生效的问题。 -----------TG Joe asita 110 | 更新:将主要网络服务,迁移致腾讯云开发者平台,代码还是托管于github,腾讯云提供下载,更新。 111 | 112 | --- 113 | 2.1.2 114 | 替换:补充规则替换到vokins/yhosts,现在更加适合国内,规则更少. 115 | 新增:开机启动检查haveged开机变慢补丁是否安装。 -------------TG jimmy w 116 | 修复:修复ipset列表问题wan口部分大佬使用旁路没有wan口报错的问题 -----------TG Joe asita 117 | 118 | --- 119 | 2.1.1 120 | 修复:修复ipset列表问题wan口大小写问题,现在不管你是大写小写,混合写。都能正确识别了 -------------TG jjww jj 121 | 修复:修复更新规规则选框问题。 122 | 优化:在运行状态栏增加 建议使用chrome内核浏览器字样。 123 | 优化:规则状态中,新增kpr未开启提示。 124 | 优化:优化部分排版 125 | 126 | --- 127 | 2.0.10 128 | 129 | 新增隐藏功能,自定义生成证书。 130 | 131 | 在SSH中执行 132 | dbus set koolproxy_diy_ca=xxxxyyyzzz xxxxyyyzzz 换成你想要的任何东西,不能特殊符号不能中文,可以 空格 . -_ ()' 只能英语状态输入 133 | cd /koolshare/koolproxyR/data && sh gen_ca.sh 134 | 使用隐藏功能需要重新安装证书。此功能没有其他意义只能装逼。。。。 135 | 136 | 修复万古遗留离线安装问题,理论上现在可以直接离线安装了。 TG sadog (k站s大) 137 | 更新:现在提交问题可以选择模板了,在github。 138 | 139 | --- 140 | 2.0.9 141 | 重新打包2.0.8 因为部分规则下载掉了。 142 | 143 | --- 144 | 2.0.8 145 | 2019年5月12日11:06:27 146 | 修复单网口机子ipset列表问题-------github ericwang2006 147 | 更新 KoolProxyR_check_chain 控制脚本地址。 148 | 149 | --- 150 | 2.0.7 151 | 2019年5月11日16:37:15 152 | 修复无法获取特殊IP的问题。(拨号IP和DHCP的IP) 153 | 界面微调 154 | 155 | --- 156 | 2.0.6 157 | 2019年5月9日23:23:53 158 | 页面布局优化-------------TG Leo Jo 159 | 新增更新MD5校验,MD5不一致不在安装。解决部分大佬,升级升级着打不开kpr管理页面了。 160 | 161 | --- 162 | 2.0.5 163 | 对从未安装过kpr的用户自定义规则文件进行判断-------TG 规避风险 164 | 2019年5月9日01:58:01 165 | 开放,你反正都玩不来系列,debug调试抓包。更加方便快捷的抓包,拍错,查找误杀。编写规则。 166 | 167 | --- 168 | 2019年5月8日09:34:37 169 | 2.0.4 170 | 增加多重判断,一定要安装上haveged解决与v2ray和ss 冲突导致开机变慢的问题。 -------TG 规避风险 171 | 172 | --- 173 | 2019年5月7日23:20:48 174 | 2.0.3 175 | 尝试解决tvb打不开的问题 176 | 修复fanboy 没有放行apple.com 及apple验证服务器,导致ios 商店无法打开的问题 -------- TG 穷人 177 | 暂时关闭兼容koolclash,因为作者没有兼容适配,会导致koolclash失效。 ------- TG plat0 178 | 179 | --- 180 | 2019年5月7日11:32:54 181 | 2.0.2 182 | 修正阿里CDN的图片放行。(比如优酷 淘宝打开无图片) --------- TG topsite 183 | 184 | --- 185 | 2019年5月6日23:55:30 186 | 2.0.1 187 | 修复一个因为放行$domain,导致主流网站打不开的问题。 188 | 189 | --- 190 | 900.8.42 191 | 2019年5月6日19:32:20 192 | 优化haveged的安装,对已安装用户不再安装并且改为离线安装。(解决开机过慢的程序)。 193 | 对https的$domain(指定域名)后缀删除。 ----------TG houzi- 【kp规则维护者】 194 | 更新kp.dat 195 | 修复版本号过高的Bug.此版本更正为2.0.0 196 | 197 | --- 198 | 900.8.41 199 | 200 | 取消非通配符的白名单放行。(白名单还是太多*的规则了。这样去广告就没效果了) 201 | 部分ui 优化 --------- Leo Jo 202 | 对所有Kpr用户安装haveged,解决与v2ray,ss冲突开机过慢的问题。 ---------TG 小黄渤丶 203 | 对apple的验证服务器mzstatic.com进行放行。 204 | 新增提交kpr规则教程。 205 | 206 | --- 207 | 900.8.40 208 | 此版本已被撤回 209 | 210 | --- 211 | 900.8.39 212 | 替换移动设备规则为DNS规则。(因为简单规则在Kpr上工作良好,作为其他规则的补充规则而存在。) 213 | 对不是通配符的白名单进行放行。(此举可以解决,部分网站被误杀的情况。) 214 | 解决kpr 与v2ray同时安装有冲突导致开机时间边长 反馈者 : TG dantes 感谢 TG Robin Xiao 参与测试 215 | 216 | --- 217 | 900.8.38 218 | 临时禁用kp.dat更新,避免因为更新而导致视频规则失效。 219 | 220 | --- 221 | 900.8.37 222 | 2019年4月28日21:07:43 223 | 对microsoft.com进行放行(解决Windows无法更新的问题)反馈者:TG Rodman Wang 224 | 225 | --- 226 | 900.8.36 (重大更新) 227 | 2019年4月28日17:23:28 228 | 全新KPR全新上路。KPR越战越勇,此次更新修正了部分文字界面说明。 229 | 230 | --- 231 | 2019年4月28日03:43:24 232 | 900.8.35 (重大更新) 233 | 取消所有的放行http与https (因为今天才明白@@ 和@@@@的意义是域名完全放行。这就导致了不能随便放行规则,不然满屏广告!) 234 | 235 | --- 236 | 2019年4月27日23:34:07 237 | 900.8.34 (重大更新) 238 | 修正https白名单放行问题。反馈者:TG xiao bao 【kp二进制文件作者】 239 | 丢人呀,眼睛花了十几个版本都没发现!!!白名单一直有问题https的 240 | 241 | 清空以前所有的低版本。毕竟很多bug过多,如果需要以前的低版本,请跳转到次更新以前 242 | 243 | --- 244 | 2019年4月27日21:03:54 245 | 900.8.33 246 | 给 netflix.com 放行 反馈者:TG 麋麋麋麋𐂂 247 | 给 tvbs.com 放行 反馈者:TG 穷人 248 | 249 | --- 250 | 2019年4月26日17:18:50 251 | 900.8.32 252 | 修复 勾选 移动设备 视频规则 fanboy 状态不正确 反馈者:TG PayneChen 253 | 给京东 天猫 淘宝 放行 反馈者:TG 锋 锋 254 | 255 | --- 256 | 2019年4月21日03:30:43 257 | 900.8.31 258 | 修正自动更新规则的bug 反馈者 tg:🔴凸(`0´)凸 259 | 修复更新规则出错的问题。 260 | 261 | --- 262 | 900.8.30 263 | 2019年4月21日00:30:05 264 | 新增安装时删除KP的二进制和核心配置文件。保留其他所有配置,避免小白两个都安装导致一些莫名其妙的问题。 反馈者 TG: woshi yigefreedom 265 | 修改规则更新逻辑,避免只下载一部分,或者下载一个空文件。 反馈者 tg:🔴凸(`0´)凸 266 | 修正几处大小写。 267 | 268 | --- 269 | 900.8.29 270 | 删除可能导致Kpr变慢的规则。 271 | 272 | --- 273 | 900.8.28 274 | 2019年4月20日12:17:27 275 | 删除坑逼的https//* 规则,这种规则必然导致KPR的CPU占用飙升。 276 | 修正移动设备规则加载情况。 277 | 278 | --- 279 | 900.8.27 280 | 2019年4月18日00:16:44 281 | 上架fanboy全功能版本,开启此项将取代原来的fanboy规则。低功耗CPU切勿开启。不然卡死你。 反馈者TG:D YY 282 | 修复更新规则不能重载页面的问题。 283 | 2019年4月18日11:30:38 284 | 兼容koolclash 。虽然已经兼容,但是需要最新版本的koolclash! 285 | 2019年4月19日08:41:22 286 | 新增规则自动更新 每天晚上3点 287 | 对移动设备规则的Facebook apple instagram github 放行 反馈者 云淡风清 288 | 新的插件图标, 289 | 290 | --- 291 | 900.8.26 292 | 2019年4月17日22:13:18 293 | 修改下载0.根证书的格式从zip变成tar.gz(部分低版本用户没有zip.比如lede v2.14) 294 | 295 | --- 296 | 900.8.25 297 | 2019年4月17日18:28:35 298 | 将qq.com的所有域名放行。所有QQ微信相关都恢复正常,腾讯视频并没有放行!(加密视频规则中有2条屏蔽微信视频的规则,如果出现微信文章打不开请暂时用流量。或者关闭加密视频规则。) 299 | 新增 开发者带你玩转KoolProxyR页面 300 | 301 | --- 302 | 900.8.24 303 | 2019年4月15日01:21:13 304 | 给qq.com的html规则放行。(only https) 主要是QQ这些规则上的广告少,而且容易误伤。 305 | 修正一个错误,将wget 写成了wegt 306 | 307 | --- 308 | 900.8.23 309 | 2019年4月14日19:22:17 310 | 给知乎放行,Https修改后知乎app无法打开 311 | 312 | --- 313 | 900.8.22 314 | 修复证书脚本格式编码问题 315 | 316 | --- 317 | 900.8.21 318 | 部分脚本细节优化 319 | 上架新的规则 KPR主规则 此规则由EasylistChina和CJX sAnnoyance 与KPR自定义规则组成,是KPR的首选规则.。 320 | 下架 ChinaList2.0规则,被更新更快的 KPR主规则取代 321 | 上架移动设备规则 此规则由adguard官方人员编写,主要用于去除移动设备端的广告。 322 | 逻辑优化,当没有使用KP加密视频规则的时候,自动使用自带KPR视频规则的规则。 323 | 优化,当规则更新过慢时,不再超时。跳转。 324 | 插件顶部新增更新日志连接。 325 | 326 | --- 327 | 900.8.20 328 | 修复自定义规则没有加载的问题,900.8.15的时候遗留的Bug 329 | 优化规则更新日志提示。升级日志提示。 330 | 修正规则更新后,规则丢失的Bug 331 | 修复规则全选不显示完整的bug 332 | 再度恢复视频加密规则kp.dat 333 | 移除经常导致的css崩溃的乘风规则。由视频规则取代。 334 | 335 | --- 336 | 900.8.19 337 | 338 | 2019年4月12日01:25:16 339 | 修正facebook放行的一个问题。 340 | 给 instagram.com 放行 341 | 342 | --- 343 | 900.8.18 344 | 更新fanboy 地址链接 345 | 完善https与http规则 346 | 优化在线更新规则,现在可以显示版本号了。 347 | 新增在线贡献规则按钮,欢迎大佬来贡献规则。 348 | 349 | --- 350 | 900.8.17 351 | 2019年4月10日22:20:04 352 | 真心一天更新几次了。 353 | 更新 加载自定义规则 (900.8.15的时候移除了,一直没加回来) 354 | 更新 更新规则功能,的https逻辑优化。 355 | 给github放行。虽然github上的广告越来越多了。但是难得的良心。还有就是版本号也放在github 会出事的 356 | 357 | --- 358 | 900.8.16 359 | 360 | 修复上个版本遗留的规则加载问题。规则都没加载。。。卧槽 361 | 修正安装前不能先停止的Bug。 362 | 其他规则对三大视频网站优酷 爱奇艺 腾讯视频 放行 363 | 新增将规则单独剔出来,作为https规则文件(包含白名单,现在可以脱离加密视频文件去视频广告了) 364 | 移除kp.dat 加密视频规则文件,VIP解析不再可用 365 | 366 | ---- 367 | 900.8.15 368 | 369 | 修复黑名单软连接问题。 370 | 移除了 ABP规则 绿坝规则 视频规则 371 | 上架ChinaList2.0。 372 | 可使用 ctrl+↑ 唤出VIP解析(此项功能未变) 373 | 374 | --- 375 | 900.8.14 376 | 2019年4月6日02:03:43 377 | 更新弹出式检查更新提醒(现在更新更有B格了) 378 | 2019年4月7日21:01:20 379 | 修改导致KP崩溃规则替换逻辑。减少误伤。 380 | 修改规则管理界面UI,添加详细说明。 381 | 382 | --- 383 | 2019年4月5日11:07:47 384 | 更新在线安装脚本,让在线安装更加直观。 385 | 386 | --- 387 | 900.8.13 388 | 389 | 修正部分UI,主要是增强说明。让大家更明白。 390 | 新增.0根证书的导出. 在证书管理中 391 | 392 | --- 393 | 900.8.12 394 | 395 | 在线更新插件按钮监测更机制还原, 396 | 修改规则源文件地址,避免因为没有跳转产生失败. 397 | 更正下SS重启文件的路径.及log文件地址 398 | 更新了界面的部分说明,例如TG群,和HTTPS去广告教程。 399 | 400 | --- 401 | 900.8.11 402 | 修正一处界面,让是否是重启的SS V2RAY GAME 更加清楚。 403 | 404 | --- 405 | 900.8.10 406 | 我也没想到还要再更新一次! 407 | 本次更新新增了重启SS,V2RAY,GAME!以解决到底是该先开代理还是先开KPR的情况,现在你都可以更方便的开关了 408 | 409 | --- 410 | 2019年4月1日02:44:32 411 | 900.8.9 412 | 修复导入证书无法启动的问题 413 | 伪装成koolproxy,来启动V2RAY!解决V2RAY导致卡顿问题 414 | 变更在线新版本检测方式,为提交后才能检测更新!(这样可以不必要每次都下载文件来看看是否有更新,当你在使用的时候才会网页的时候或者重启kpr的时候,版本号才刷新。) 415 | 416 | --- 417 | 2019年3月31日02:42:39 418 | 900.8.8 419 | 提交首个正式版! 420 | 修复规则导致KP崩溃的问题 421 | UI细节优化(说明类) 422 | 上线所有的规则 423 | 424 | --- 425 | 2019年3月28日23:21:20 426 | 新增更新插件按钮,新增在线安装,修正部分UI和说明。 427 | 移除ABP规则 (因为不兼容 428 | 429 | --- 430 | 2019年3月26日14:04:05 431 | 新增自动更新规则,手动更新,恢复乘风规则(卡饭),修改部分界面说明。 432 | 433 | 2019年3月25日14:02:50 434 | 第一版本 900.8.5 更新上线,修正fanboy订阅规则并更名为koolproxyR 435 | -------------------------------------------------------------------------------- /KoolProxyR_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export soft_name=koolproxyR.tar.gz 3 | export KSROOT=/koolshare 4 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 5 | source $KSROOT/scripts/base.sh 6 | eval `dbus export soft` 7 | TARGET_DIR=/tmp/upload 8 | 9 | clean(){ 10 | rm -rf /tmp/$name >/dev/null 2>&1 11 | rm -rf /tmp/$MODULE_NAME >/dev/null 2>&1 12 | rm -rf /tmp/$soft_name >/dev/null 2>&1 13 | find /tmp -name "*.tar.gz"|xargs rm -rf >/dev/null 2>&1 14 | } 15 | 16 | url_version="https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/version" 17 | wget --no-check-certificate --timeout=8 -qO - $url_version > /tmp/koolproxyR_version 18 | koolproxyR_installing_md5=`cat /tmp/koolproxyR_version | sed -n '2p'` 19 | rm -rf /tmp/version 20 | echo_date ============================================== 21 | echo_date koolproxyR 开始下载最新版KPR。 22 | echo_date =============================================== 23 | for i in {1..5}; do 24 | echo_date1 这是第 $i 次下载共 5 次下载koolproxyR 25 | wget -4 -O /tmp/upload/koolproxyR.tar.gz https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/koolproxyR.tar.gz 26 | koolproxyR_download_md5=`md5sum /tmp/upload/koolproxyR.tar.gz|awk '{print $1}'` 27 | echo_date 远程版本md5:$koolproxyR_installing_md5 28 | echo_date 您下载版本md5:$koolproxyR_download_md5 29 | if [[ "$koolproxyR_installing_md5" == "$koolproxyR_download_md5" ]]; then 30 | echo_date MD5校验通过,开始安装!请等待.... 31 | break 32 | fi 33 | if [[ $i == 5 ]]; then 34 | echo_date1 一个悲伤的故事,MD5多次校验不通过,勇士请重新来过吧! 35 | rm -rf /tmp/upload/koolproxyR.tar.gz 36 | exit 37 | fi 38 | done 39 | echo_date ============================================== 40 | echo_date koolproxyR 开始执行安装程序。 41 | 42 | name=`echo "$soft_name"|sed 's/.tar.gz//g'|awk -F "_" '{print $1}'|awk -F "-" '{print $1}'` 43 | INSTALL_SUFFIX=_install 44 | VER_SUFFIX=_version 45 | NAME_SUFFIX=_name 46 | cd /tmp 47 | echo_date ====================== step 1 =========================== 48 | echo_date 开启软件在线安装! 49 | sleep 1 50 | if [ -f $TARGET_DIR/$soft_name ]; then 51 | mv /tmp/upload/$soft_name /tmp 52 | sleep 1 53 | echo_date 尝试解压在线安装包在线安装包 54 | sleep 1 55 | tar -zxvf $soft_name >/dev/null 2>&1 56 | echo_date 解压完成! 57 | sleep 1 58 | cd /tmp 59 | 60 | if [ -f /tmp/$name/install.sh ]; then 61 | INSTALL_SCRIPT=/tmp/$name/install.sh 62 | else 63 | INSTALL_SCRIPT_NU=`find /tmp -name "install.sh"|wc -l` 2>/dev/null 64 | [["$INSTALL_SCRIPT_NU" == "1" ]] && INSTALL_SCRIPT=`find /tmp -name "install.sh"` || INSTALL_SCRIPT="" 65 | fi 66 | 67 | if [ -n "$INSTALL_SCRIPT" -a -f "$INSTALL_SCRIPT" ]; then 68 | SCRIPT_AB_DIR=`dirname $INSTALL_SCRIPT` 69 | MODULE_NAME=${SCRIPT_AB_DIR##*/} 70 | echo_date 准备安装$MODULE_NAME插件! 71 | echo_date 找到安装脚本! 72 | chmod +x $INSTALL_SCRIPT >/dev/null 2>&1 73 | echo_date 运行安装脚本... 74 | echo_date ====================== step 2 =========================== 75 | sleep 1 76 | start-stop-daemon -S -q -x $INSTALL_SCRIPT 2>&1 77 | # sh /tmp/$name/install.sh 2>&1 78 | if [[ "$?" != "0" ]]; then 79 | echo_date 因为$MODULE_NAME插件安装失败!退出在线安装! 80 | clean 81 | # 取消dbus注册 TG sadog 82 | if [ -f "$KSROOT/koolproxyR/kpr_config.sh" ]; then 83 | echo_date $MODULE_NAME更新失败!请再试一次。 84 | else 85 | cd /tmp 86 | dbus list softcenter_module_|grep koolproxyR|cut -d "=" -f1|sed 's/^/dbus remove /g' >> clean.sh 87 | chmod 777 clean.sh 88 | sh ./clean.sh > /dev/null 2>&1 89 | rm clean.sh 90 | # 反注册结束 91 | fi 92 | echo_date jobdown 93 | exit 94 | fi 95 | echo_date ====================== step 3 =========================== 96 | dbus set "softcenter_module_$MODULE_NAME$NAME_SUFFIX=$MODULE_NAME" 97 | dbus set "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX=1" 98 | #dbus set "softcenter_module_$name$VER_SUFFIX=$soft_install_version" 99 | if [ -n "$soft_install_version" ]; then 100 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=$soft_install_version" 101 | echo_date "从插件文件名中获取到了版本号:$soft_install_version" 102 | else 103 | #已经在插件安装中设置了 104 | if [ -z "`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" ]; then 105 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=0.1" 106 | echo_date "插件安装脚本里没有找到版本号,设置默认版本号为0.1" 107 | else 108 | echo_date "插件安装脚本已经设置了插件版本号为:`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" 109 | fi 110 | fi 111 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 112 | i=120 113 | until [ -z "$install_pid" ] 114 | do 115 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 116 | i=$(($i-1)) 117 | if [[ "$i" -lt 1 ]]; then 118 | echo_date "Could not load nat rules!" 119 | echo_date 安装似乎出了点问题,请手动重启路由器后重新尝试... 120 | echo_date 删除相关文件并退出... 121 | sleep 1 122 | clean 123 | dbus remove "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX" 124 | echo_date jobdown 125 | exit 126 | fi 127 | sleep 1 128 | done 129 | echo_date 安装完成! 130 | sleep 1 131 | echo_date 一点点清理工作... 132 | sleep 1 133 | clean 134 | echo_date 完成!在线安装插件成功~ 135 | sleep 1 136 | else 137 | echo_date 没有找到安装脚本! 138 | echo_date 删除相关文件并退出... 139 | clean 140 | fi 141 | else 142 | echo_date 没有找到在线安装包! 143 | echo_date 删除相关文件并退出... 144 | clean 145 | fi 146 | sleep 1 147 | dbus remove soft_install_version 148 | dbus remove soft_name 149 | echo_date 150 | clean 151 | 152 | echo_date koolproxyR 已经安装/升级完成,请刷新网页试试 153 | echo_date =============================================== 154 | -------------------------------------------------------------------------------- /KoolProxyR_my_rule_diy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export KSROOT=/koolshare 3 | source $KSROOT/scripts/base.sh 4 | eval `dbus export koolproxyR_` 5 | alias echo_date='echo $(date +%Y年%m月%d日\ %X):' 6 | 7 | mydiy(){ 8 | echo_date ======================================================================================================= 9 | echo_date 开始应用自定义修改,请等待... 10 | # 请在以下地区填入自定义shell命令,因为此功能面向高端用户,需要一定shell基础。切勿瞎折腾. 11 | # 可以修改N多东西,包括不限于规则....此DIY会在你每次保存时候应用 12 | # 请在其他地方保留备份. 13 | # 请采用utf-8格式LF格式编码 14 | # 你可以通过【系统】----【文件管理】上传删除文件 15 | # 如果出现问题,请使用如下命令删除文件 16 | # rm -rf /koolshare/scripts/KoolProxyR_my_rule_diy.sh 17 | # 运行命令 sh /koolshare/scripts/KoolProxyR_my_rule_diy.sh mydiy 18 | 19 | 20 | 21 | 22 | echo_date 自定义修改完成..... 23 | echo_date ======================================================================================================= 24 | } 25 | 26 | if [ -n "$1" ]; then 27 | mydiy "$1" >> /tmp/upload/kpr_log.txt 28 | http_response "$1" 29 | fi 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # KoolShare LEDE koolproxyR 项目 2 | **Thanks To** 3 | - Koolshare 的各位大佬,包括不限于:xiaobao、sadog、houzi-、 Fw867 、....... 4 | - 晴天 、Leo Jo 对页面布局所做的贡献. 5 | - Sukka / 苏卡卡 对交互界面的指点. 6 | - 油炸包子 对页面调试的指点. 7 | - 233boy 对脚本代码的指点. 8 | - cjx 对easylistchina与cjx-annoyance规则的贡献. 9 | - fanboy 对fanboy规则的整理和完善. 10 | - vokins 对yhosts的整理和完善. 11 | - 感谢在更新日志里面提到的所有人. 12 | - Github 对代码进行托管. 13 | - Gitlab 对代码进行中转 14 | - 腾讯开发者平台 提供更新及文件下载. 15 | --- 16 | **KPR是一个开源活性高的项目,它不一定满足你的需求,但你可以让它变得更好** 17 | 18 | **欢迎大佬随时提交更新和问题** 19 | 20 | ## 为什么有这个项目! 21 | 22 | 官方其实是有项目的,但是我喜欢fanboy规则,在多方反馈无果的情况下,我当然自己动手丰衣足食了。这个项目允许大家提供好的规则。我们要以去广告为先。去掉所有的广告。谢谢! 23 | 24 | ## 怎么使用这个插件! (请先卸载koolproxy,互不兼容。) 25 | ### 最佳方法 26 | 在**SSH**中执行如下代码实现在线安装。(**请全部复制**) 27 | `wget -4 -O /tmp/KoolProxyR_install.sh https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/KoolProxyR_install.sh && chmod 777 /tmp/KoolProxyR_install.sh && sh /tmp/KoolProxyR_install.sh` 28 | 29 | 30 | ### 稳定方法 31 | 到F大没修复软件中心之前,或者我上架软件中心(其实根本没这个可能),你可以通过如下步骤进行使用本软件! 32 | 33 | [点我下载](https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/koolproxyR.tar.gz),通过软件中心的离线安装进行安装!**PS 请勿修改名字保持koolproxyR.tar.gz才能安装**,并且你可能需要执行下面的ssh代码. 34 | 35 | --- 36 | 如果你遇到** `离线安装` ** 无法安装,你还需要在SSH中执行如下步骤。(**请全部复制**) 37 | 38 | --- 39 | 40 | `wget -4 -O /koolshare/scripts/ks_tar_install.sh https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/ks_tar_install.sh && chmod 777 /koolshare/scripts/ks_tar_install.sh` 41 | 42 | --- 43 | 44 | 如果遇到其他问题,请提交问题反馈。能力有限不一定都能解决。 45 | 46 | 47 | ## 参考截图 48 | 49 | ![目前版本截图](https://github.com/user1121114685/koolproxyR/blob/master/20190328233937.jpg?raw=true "后续更新可能还会有更新!") 50 | ![目前版本截图](https://github.com/user1121114685/koolproxyR/blob/master/20190328233849.jpg?raw=true "后续更新可能还会有更新!") 51 | ![目前版本截图](https://github.com/user1121114685/koolproxyR/blob/master/20190407215443.jpg?raw=true "后续更新可能还会有更新!") 52 | 53 | ## 文件树简要说明 54 |
55 | 查看文件树更了解kpr 56 |
.
 57 | ├── 20190328233849.jpg      项目首页用图片
 58 | ├── 20190328233937.jpg      项目首页用图片
 59 | ├── 20190407215443.jpg      项目首页用图片
 60 | ├── backup.sh       软件中心调用的备份sh用于生成 history
 61 | ├── build.sh        编译kpr版本---需要配合软件中心。当然也可以剔除那部分配合.
 62 | ├── Changelog.txt       更新日志
 63 | ├── config.json.js      暂时无用
 64 | ├── history     历史版本
 65 | ├── koolproxyR      主程序文件夹
 66 | │   ├── variable/haveged.ipk  用于解决kpr与v2ray ss 冲突导致开机变慢的问题
 67 | │   ├── init.d
 68 | │   │   └── S93koolproxyR.sh        自启脚本
 69 | │   ├── install.sh      离线安装执行脚本
 70 | │   ├── koolproxyR      /koolshare 下的文件夹 也是软件名字
 71 | │   │   ├── data
 72 | │   │   │   ├── gen_ca.sh       生成证书的脚本
 73 | │   │   │   ├── koolproxyR_ipset.conf       黑名单控制文件
 74 | │   │   │   ├── openssl.cnf     生成证书用的openssl配置文件
 75 | │   │   │   ├── rules       规则
 76 | │   │   │   │   ├── easylistchina.txt       主规则
 77 | │   │   │   │   ├── easylistchina.txt.md5
 78 | │   │   │   │   ├── fanboy-annoyance.txt        fanboy普通规则
 79 | │   │   │   │   ├── fanboy-annoyance.txt.md5
 80 | │   │   │   │   ├── kp.dat         视频加密规则
 81 | │   │   │   │   ├── kp.dat.md5
 82 | │   │   │   │   ├── kpr_video_list.txt      备用视频规则(主规则加载,视频规则没有加载的情况下使用)
 83 | │   │   │   │   ├── kpr_video_list.txt.md5
 84 | │   │   │   │   ├── user.txt           自定义规则文件
 85 | │   │   │   │   ├── user.txt.md5
 86 | │   │   │   │   ├── yhosts.txt      补充规则文件
 87 | │   │   │   │   └── yhosts.txt.md5
 88 | │   │   │   └── source.list     规则控制文件,此文件控制koolproxy加载那些规则。
 89 | │   │   ├── koolproxy       kp二进制文件
 90 | │   │   └── kpr_config.sh   kpr保存的时候执行的配置文件。【核心】
 91 | │   ├── variable/libhavege.ipk        用于解决kpr与v2ray ss 冲突导致开机变慢的问题
 92 | │   ├── scripts     脚本目录 安装后位于/koolshare/scripts
 93 | │   │   ├── KoolProxyR_cert.sh      证书相关脚本备份.恢复.生成 .0 根证书
 94 | │   │   ├── KoolProxyR_check_chain.sh    检查SS WG V2RAY 和是否被kiil的脚本
 95 | │   │   ├── KoolProxyR_config.sh        控制重启Kpr的文件----
 96 | │   │   ├── KoolProxyR_debug.sh         附加设置-调试模式的脚本
 97 | │   │   ├── KoolProxyR_getarp.sh        获取arp 脚本
 98 | │   │   ├── KoolProxyR_rules_status.sh      规则的状态脚本
 99 | │   │   ├── KoolProxyR_rule_update.sh       规则的更新脚本
100 | │   │   ├── KoolProxyR_status.sh        kpr状态监测脚本
101 | │   │   └── KoolProxyR_update_now.sh    kpr在线更新脚本
102 | │   ├── uninstall.sh        卸载脚本
103 | │   └── webs
104 | │       ├── Module_koolproxyR.asp       Kpr界面文件
105 | │       └── res
106 | │           ├── icon-koolproxyR-bg.png      软件中心背景图标
107 | │           ├── icon-koolproxyR.png         软件中心主图标
108 | │           └── icon_koolproxyR-v.png       kpr界面文件左上角调用的图标
109 | ├── KoolProxyR_install.sh       在线安装/更新KPR的脚本
110 | ├── KoolProxyR_my_rule_diy.sh     自定义SHELL文件,放入/koolshare/scripts下即可
111 | ├── koolproxyR.tar.gz       最新版本的kpr离线安装包
112 | ├── kpr_tar_install.sh      kpr在线更新调用的离线安装脚本
113 | ├── KPR内图标.psd       图标开源
114 | ├── KPR图标背景图片.psd     图片开源
115 | ├── ks_tar_install.sh        软件中心离线安装脚本(修复了离线安装验证不通过的问题)
116 | ├── README.md       你现在所看到的页面
117 | └── version        版本号,负责控制kpr的更新和md5核对。
118 | 
119 |
120 | 121 | 122 | ## 开源及授权 123 | 如果同时满足如下要求,无需取得授权。 124 | 1.不得用于非开源项目. 125 | 2.不得用于商业用途. 126 | 3.给予本项目优先反馈,和知情权。 -------------------------------------------------------------------------------- /backup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # you can do something here 4 | # this shell scripts will run at the end of build.py scripts 5 | 6 | tar_name="koolproxyR.tar.gz" 7 | 8 | mkdir -p history 9 | if [ ! -f ./history/version ]; then 10 | touch ./history/version 11 | fi 12 | 13 | version_old=`cat history/version | sed -n '$p' | cut -d \ -f1` 14 | version_new=`cat version |sed -n 1p` 15 | md5_new=` md5sum $tar_name | cut -d \ -f1` 16 | # 保证md5连续性 17 | wget -O ./history/version https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/history/version 18 | if [ -f ./$tar_name ]; then 19 | if [ "$version_old" != "$version_new" ]; then 20 | mkdir ./history/$version_new/ 21 | cp ./$tar_name ./history/$version_new/ 22 | echo $version_new $md5_new >> ./history/version 23 | fi 24 | fi 25 | 26 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MODULE=koolproxyR 4 | VERSION="2.8.8" 5 | TITLE=koolproxyR 6 | DESCRIPTION="至 善 至 美" 7 | HOME_URL="Module_koolproxyR.asp" 8 | CHANGELOG="维护阶段的kpr" 9 | # 查看内核日志 10 | # dmesg | less 或者 dmesg 11 | # 转化DOS格式到unix 需要 apt-get install dos2unix 12 | find . -type f -exec dos2unix {} \; 13 | #get latest rules 14 | rm -rf ./koolproxyR/koolproxyR/data/rules/*.txt 15 | rm -rf ./koolproxyR/koolproxyR/data/rules/*.md5 16 | rm -rf ./koolproxyR/koolproxyR/data/rules/*.dat 17 | rm -rf ./koolproxyR/koolproxyR/data/source.list 18 | # rm -rf ./koolproxyR/koolproxyR/koolproxy 19 | cd koolproxyR/koolproxyR/data/rules 20 | # mkdir oridata 21 | # cd oridata 22 | # 下载三方规则 23 | # 从 https://filterlists.com/ 找规则 24 | # https://tgc.cloud/downloads/hosts.txt 36万DNS规则,kpr 生产出来是72万 25 | wget https://easylist-downloads.adblockplus.org/easylistchina.txt 26 | 27 | wget https://shaoxia1991.coding.net/p/cjxlist/d/cjxlist/git/raw/master/cjx-annoyance.txt 28 | 29 | wget https://secure.fanboy.co.nz/fanboy-annoyance.txt 30 | # ADGUARD-DNS过滤规则 31 | # wget -O yhosts.txt https://filters.adtidy.org/extension/chromium/filters/15.txt 32 | # yhosts过滤规则 33 | 34 | wget -O yhosts.txt https://shaoxia1991.coding.net/p/yhosts/d/yhosts/git/raw/master/hosts 35 | wget -O tvbox.txt https://shaoxia1991.coding.net/p/yhosts/d/yhosts/git/raw/master/data/tvbox.txt 36 | cat tvbox.txt >> yhosts.txt 37 | 38 | # ad.txt:合并EasylistChina、EasylistLite、CJX'sAnnoyance,以及补充的一些规则; 39 | # ad2.txt:仅合并EasylistChina、EasylistLite、CJX'sAnnoyance; 40 | # ad3.txt:合并EasylistChina、EasylistLite、CJX'sAnnoyance、EasyPrivacy; 41 | # wget https://gitee.com/halflife/list/raw/master/ad.txt 42 | 43 | # 分割三方规则 44 | 45 | # # split -l 1 easylistchina.txt ./../easylistchina_ 46 | # split -l 1 yhosts.txt ./../chengfeng_ 47 | # # split -l 999 fanboy-annoyance.txt ./../fanboy_ 48 | # cd .. 49 | 50 | # 同步kp官方规则 51 | 52 | # wget https://kprules.b0.upaiyun.com/koolproxy.txt 53 | # wget https://kprules.b0.upaiyun.com/daily.txt 54 | # 暂时先用临时的替代 55 | # wget https://kprules.b0.upaiyun.com/kp.dat 56 | # wget https://kprules.b0.upaiyun.com/user.txt 57 | # 同步Kpr视频规则及md5 58 | # 电脑的wget 不支持houzi- 的- 域名 所以倒腾了下 59 | wget https://shaoxia1991.coding.net/p/kp_dat/d/kp_dat/git/raw/master/kp.dat 60 | wget https://shaoxia1991.coding.net/p/kp_dat/d/kp_dat/git/raw/master/kp.dat.md5 61 | # read -s -n1 -p "请手动拷贝kp.dat 和kp.dat.md5,按任意键继续...." 62 | 63 | video_rules_local=`cat kp.dat.md5 | sed -n '2p'` 64 | if [[ "$video_rules_local" == "" ]]; then 65 | # 当本地md5 没有时间戳的时候就更新更新时间戳 66 | video_rules_online=`curl https://shaoxia1991.coding.net/api/user/shaoxia1991/project/kp_dat/depot/kp_dat/git/blob/master%2Fkp.dat | jq '.data.file.lastCommitDate'` 67 | date -d @`echo ${video_rules_online:0:10}` +%Y年%m月%d日\ %X >> kp.dat.md5 68 | fi 69 | 70 | 71 | wget https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/koolproxyR/koolproxyR/data/rules/user.txt 72 | 73 | ## ---------------------------------------------------fanboy处理开始------------------------------------------------------ 74 | ## 删除导致KP崩溃的规则 75 | sed -i '/^\$/d' fanboy-annoyance.txt 76 | sed -i '/\*\$/d' fanboy-annoyance.txt 77 | 78 | # 给三大视频网站放行 由kp.dat负责 79 | sed -i '/youku.com/d' fanboy-annoyance.txt 80 | sed -i '/g.alicdn.com/d' fanboy-annoyance.txt 81 | sed -i '/tudou.com/d' fanboy-annoyance.txt 82 | sed -i '/iqiyi.com/d' fanboy-annoyance.txt 83 | sed -i '/qq.com/d' fanboy-annoyance.txt 84 | sed -i '/gtimg.cn/d' fanboy-annoyance.txt 85 | # 给知乎放行 86 | sed -i '/zhihu.com/d' fanboy-annoyance.txt 87 | 88 | 89 | # 将规则转化成kp能识别的https 90 | cat fanboy-annoyance.txt | grep "^||" | sed 's#^||#||https://#g' >> fanboy-annoyance_https.txt 91 | # 移出https不支持规则domain= 92 | sed -i 's/\(,domain=\).*//g' fanboy-annoyance_https.txt 93 | sed -i 's/\(\$domain=\).*//g' fanboy-annoyance_https.txt 94 | sed -i 's/\(domain=\).*//g' fanboy-annoyance_https.txt 95 | sed -i '/\^$/d' fanboy-annoyance_https.txt 96 | sed -i '/\^\*\.gif/d' fanboy-annoyance_https.txt 97 | sed -i '/\^\*\.jpg/d' fanboy-annoyance_https.txt 98 | 99 | 100 | cat fanboy-annoyance.txt | grep "^||" | sed 's#^||#||http://#g' >> fanboy-annoyance_https.txt 101 | cat fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#https://#g' >> fanboy-annoyance_https.txt 102 | cat fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#http://#g' >> fanboy-annoyance_https.txt 103 | cat fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -i '^http' >> fanboy-annoyance_https.txt 104 | 105 | 106 | # 给github的https放行 107 | sed -i '/github/d' fanboy-annoyance_https.txt 108 | # 给apple的https放行 109 | sed -i '/apple.com/d' fanboy-annoyance_https.txt 110 | sed -i '/mzstatic.com/d' fanboy-annoyance_https.txt 111 | # 给api.twitter.com的https放行 112 | sed -i '/twitter.com/d' fanboy-annoyance_https.txt 113 | # 给facebook.com的https放行 114 | sed -i '/facebook.com/d' fanboy-annoyance_https.txt 115 | sed -i '/fbcdn.net/d' fanboy-annoyance_https.txt 116 | # 给 instagram.com 放行 117 | sed -i '/instagram.com/d' fanboy-annoyance_https.txt 118 | # 删除可能导致Kpr变慢的Https规则 119 | sed -i '/\.\*\//d' fanboy-annoyance_https.txt 120 | 121 | # 给国内三大电商平台放行 122 | sed -i '/jd.com/d' fanboy-annoyance_https.txt 123 | sed -i '/taobao.com/d' fanboy-annoyance_https.txt 124 | sed -i '/tmall.com/d' fanboy-annoyance_https.txt 125 | 126 | # 删除不必要信息重新打包 15 表示从第15行开始 $表示结束 127 | sed -i '15,$d' fanboy-annoyance.txt 128 | # 合二归一 129 | cat fanboy-annoyance_https.txt >> fanboy-annoyance.txt 130 | # 删除可能导致kpr卡死的神奇规则 131 | sed -i '/https:\/\/\*/d' fanboy-annoyance.txt 132 | # 给 netflix.com 放行 133 | sed -i '/netflix.com/d' fanboy-annoyance.txt 134 | # 给 tvbs.com 放行 135 | sed -i '/tvbs.com/d' fanboy-annoyance.txt 136 | sed -i '/googletagmanager.com/d' fanboy-annoyance.txt 137 | # 给 microsoft.com 放行 138 | sed -i '/microsoft.com/d' fanboy-annoyance.txt 139 | 140 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 141 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 142 | koolproxyR_del_rule=1 143 | while [ $koolproxyR_del_rule = 1 ];do 144 | del_rule=`cat fanboy-annoyance.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 145 | if [[ "$del_rule" != "" ]]; then 146 | sed -i "${del_rule}d" fanboy-annoyance.txt 147 | else 148 | koolproxyR_del_rule=0 149 | fi 150 | done 151 | 152 | 153 | ## -------------------------------------------------------fanboy处理结束------------------------------------------------------ 154 | 155 | 156 | ## ---------------------------------------------------------KPR 中国简易规则处理开始 ------------------------------------------------------- 157 | cat cjx-annoyance.txt >> easylistchina.txt 158 | sed -i '/^\$/d' easylistchina.txt 159 | sed -i '/\*\$/d' easylistchina.txt 160 | # 给btbtt.替换过滤规则。 161 | sed -i 's#btbtt.\*#\*btbtt.\*#g' easylistchina.txt 162 | # 给手机百度图片放行 163 | sed -i '/baidu.com\/it\/u/d' easylistchina.txt 164 | # # 给手机百度放行 165 | # sed -i '/mbd.baidu.com/d' easylistchina.txt 166 | # 给知乎放行 167 | sed -i '/zhihu.com/d' easylistchina.txt 168 | 169 | 170 | 171 | # 将规则转化成kp能识别的https 172 | cat easylistchina.txt | grep "^||" | sed 's#^||#||https://#g' >> easylistchina_https.txt 173 | # 移出https不支持规则domain= 174 | sed -i 's/\(,domain=\).*//g' easylistchina_https.txt 175 | sed -i 's/\(\$domain=\).*//g' easylistchina_https.txt 176 | sed -i 's/\(domain=\).*//g' easylistchina_https.txt 177 | sed -i '/\^$/d' easylistchina_https.txt 178 | sed -i '/\^\*\.gif/d' easylistchina_https.txt 179 | sed -i '/\^\*\.jpg/d' easylistchina_https.txt 180 | 181 | cat easylistchina.txt | grep "^||" | sed 's#^||#||http://#g' >> easylistchina_https.txt 182 | cat easylistchina.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#https://#g' >> easylistchina_https.txt 183 | # 源文件替换成http 184 | cat easylistchina.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#http://#g' >> easylistchina_https.txt 185 | cat easylistchina.txt | grep -i '^[0-9a-z]'| grep -i '^http' >> easylistchina_https.txt 186 | cat easylistchina.txt | grep -i '^[0-9a-z]'| grep -i '^|http' >> easylistchina_https.txt 187 | 188 | # 给facebook.com的https放行 189 | sed -i '/facebook.com/d' easylistchina_https.txt 190 | sed -i '/fbcdn.net/d' easylistchina_https.txt 191 | # 删除可能导致Kpr变慢的Https规则 192 | sed -i '/\.\*\//d' easylistchina_https.txt 193 | 194 | 195 | 196 | # 腾讯视频真的没办法了。找大佬帮我把 197 | # 删除不必要信息重新打包 15 表示从第15行开始 $表示结束 198 | sed -i '6,$d' easylistchina.txt 199 | # 合二归一 200 | 201 | wget https://shaoxia1991.coding.net/p/koolproxyR_rule_list/d/koolproxyR_rule_list/git/raw/master/kpr_our_rule.txt 202 | # https://shaoxia1991.coding.net/p/koolproxyR_rule_list/d/koolproxyR_rule_list/git/raw/master/kpr_our_rule.txt 203 | cat easylistchina_https.txt >> easylistchina.txt 204 | 205 | # 给三大视频网站放行 由kp.dat负责 206 | sed -i '/youku.com/d' easylistchina.txt 207 | sed -i '/iqiyi.com/d' easylistchina.txt 208 | sed -i '/g.alicdn.com/d' easylistchina.txt 209 | sed -i '/tudou.com/d' easylistchina.txt 210 | sed -i '/gtimg.cn/d' easylistchina.txt 211 | # 给https://qq.com的html规则放行 212 | sed -i '/qq.com/d' easylistchina.txt 213 | # 删除可能导致kpr卡死的神奇规则 214 | sed -i '/https:\/\/\*/d' easylistchina.txt 215 | # 给国内三大电商平台放行 216 | sed -i '/jd.com/d' easylistchina.txt 217 | sed -i '/taobao.com/d' easylistchina.txt 218 | sed -i '/tmall.com/d' easylistchina.txt 219 | # 给 tvbs.com 放行 220 | sed -i '/tvbs.com/d' easylistchina.txt 221 | sed -i '/googletagmanager.com/d' easylistchina.txt 222 | # 给 netflix.com 放行 223 | sed -i '/netflix.com/d' easylistchina.txt 224 | # 给 microsoft.com 放行 225 | sed -i '/microsoft.com/d' easylistchina.txt 226 | # 给apple的https放行 227 | sed -i '/apple.com/d' easylistchina.txt 228 | sed -i '/mzstatic.com/d' easylistchina.txt 229 | 230 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 231 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 232 | koolproxyR_del_rule=1 233 | while [ $koolproxyR_del_rule = 1 ];do 234 | del_rule=`cat easylistchina.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 235 | if [[ "$del_rule" != "" ]]; then 236 | sed -i "${del_rule}d" easylistchina.txt 237 | else 238 | koolproxyR_del_rule=0 239 | fi 240 | done 241 | cat kpr_our_rule.txt >> easylistchina.txt 242 | 243 | 244 | 245 | 246 | 247 | # -----------------------------------------KPR 中国简易规则处理结束------------------------------------------------ 248 | 249 | 250 | # -------------------------------------- 补充规则处理开始---------------------------------------------------------- 251 | # 删除不必要信息重新打包 0-11行 表示从第15行开始 $表示结束 252 | # sed -i '1,11d' yhosts.txt 253 | # 开始Kpr规则化处理 254 | cat yhosts.txt > yhosts_https.txt 255 | sed -i 's/^127.0.0.1\ /||https:\/\//g' yhosts_https.txt 256 | cat yhosts.txt >> yhosts_https.txt 257 | sed -i 's/^127.0.0.1\ /||http:\/\//g' yhosts_https.txt 258 | # 处理tvbox.txt本身规则。 259 | sed -i 's/^127.0.0.1\ /||/g' tvbox.txt 260 | # 给国内三大电商平台放行 261 | sed -i '/jd.com/d' yhosts_https.txt 262 | sed -i '/taobao.com/d' yhosts_https.txt 263 | sed -i '/tmall.com/d' yhosts_https.txt 264 | 265 | # 合二归一 266 | cat yhosts_https.txt > yhosts.txt 267 | cat tvbox.txt >> yhosts.txt 268 | # 此处对yhosts进行单独处理 269 | sed -i 's/^@/!/g' yhosts.txt 270 | sed -i 's/^#/!/g' yhosts.txt 271 | sed -i '/localhost/d' yhosts.txt 272 | sed -i '/broadcasthost/d' yhosts.txt 273 | sed -i '/broadcasthost/d' yhosts.txt 274 | sed -i '/cn.bing.com/d' yhosts.txt 275 | 276 | 277 | # 给三大视频网站放行 由kp.dat负责 278 | sed -i '/youku.com/d' yhosts.txt 279 | sed -i '/iqiyi.com/d' yhosts.txt 280 | sed -i '/g.alicdn.com/d' yhosts.txt 281 | sed -i '/tudou.com/d' yhosts.txt 282 | sed -i '/gtimg.cn/d' yhosts.txt 283 | 284 | 285 | # 给知乎放行 286 | sed -i '/zhihu.com/d' yhosts.txt 287 | 288 | # 给qq.com放行 289 | sed -i '/qq.com/d' yhosts.txt 290 | 291 | # 给github的https放行 292 | sed -i '/github/d' yhosts.txt 293 | # 给apple的https放行 294 | sed -i '/apple.com/d' yhosts.txt 295 | sed -i '/mzstatic.com/d' yhosts.txt 296 | # 给api.twitter.com的https放行 297 | sed -i '/twitter.com/d' yhosts.txt 298 | # 给facebook.com的https放行 299 | sed -i '/facebook.com/d' yhosts.txt 300 | sed -i '/fbcdn.net/d' yhosts.txt 301 | # 给 instagram.com 放行 302 | sed -i '/instagram.com/d' yhosts.txt 303 | # 删除可能导致kpr卡死的神奇规则 304 | sed -i '/https:\/\/\*/d' yhosts.txt 305 | # 给 tvbs.com 放行 306 | sed -i '/tvbs.com/d' yhosts.txt 307 | sed -i '/googletagmanager.com/d' yhosts.txt 308 | # 给 netflix.com 放行 309 | sed -i '/netflix.com/d' yhosts.txt 310 | # 给 microsoft.com 放行 311 | sed -i '/microsoft.com/d' yhosts.txt 312 | 313 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 314 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 315 | koolproxyR_del_rule=1 316 | while [ $koolproxyR_del_rule = 1 ];do 317 | del_rule=`cat yhosts.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 318 | if [[ "$del_rule" != "" ]]; then 319 | sed -i "${del_rule}d" yhosts.txt 320 | else 321 | koolproxyR_del_rule=0 322 | fi 323 | done 324 | 325 | 326 | 327 | # ---------------------------------------------补充规则处理结束---------------------------------------------- 328 | 329 | ## 删除临时文件 330 | rm *_https.txt 331 | rm kpr_our_rule.txt 332 | rm cjx-annoyance.txt 333 | rm tvbox.txt 334 | 335 | # 测试专用 336 | # split -l 1 yhosts.txt chengfeng_ 337 | # ls|grep chengfeng_|xargs -n1 -i{} mv {} {}.txt 338 | 339 | 340 | cd .. 341 | 342 | cp -rf ../../../koolproxy/* ./rules 343 | find -name *.txt |sed 's#.*/##' > source.list 344 | 345 | # find -name chengfeng* |sed 's#.*/##' >> source.list 346 | # find -name fanboy_* |sed 's#.*/##' >> source.list 347 | sed -i 's/^/0|/' source.list 348 | sed -i 's/$/|0|0/' source.list 349 | sed -i '/user.txt/d' source.list 350 | echo "1|user.txt|0|0" >> source.list 351 | echo "0|kp.dat|0|0" >> source.list 352 | # source.list的格式命名 353 | # 开关 0表示关闭 1表示开启 354 | # 开关|规则名字|规则网址|规则备注名字 355 | # 不支持规则 356 | 357 | # 1 小于2个字符的 例如 ab 358 | # ~开头的 359 | # $webrtc,domain=avgle.com 360 | # @@*$stylesheet 361 | 362 | cd .. 363 | # 现在在\koolproxyR\koolproxyR\koolproxyR 364 | # wget https://raw.githubusercontent.com/koolshare/ledesoft/master/koolproxy/koolproxy/koolproxy/koolproxy 365 | cd ../.. 366 | # 现在在 Y:\koolproxyR 也就是主目录 367 | # # Check and include base 368 | # DIR="$( cd "$( dirname "$BASH_SOURCE[0]" )" && pwd )" 369 | 370 | # # now include build_base.sh 371 | # . $DIR/../softcenter/build_base.sh 372 | 373 | # # change to module directory 374 | # cd $DIR 375 | 376 | # # do something here 377 | 378 | # 379 | 380 | 381 | do_build_result() { 382 | rm -f koolproxyR.tar.gz 383 | tar -zcvf koolproxyR.tar.gz koolproxyR 384 | md5value=`md5sum koolproxyR.tar.gz | cut -d \ -f1` 385 | echo "$VERSION" > version 386 | echo "$md5value" >> version 387 | } 388 | do_build_result 389 | 390 | 391 | sh backup.sh koolproxyR 392 | cd koolproxyR/koolproxyR/data/rules 393 | # ls | grep .txt | sed 's/^/md5sum /g' | >> rules_md5.sh 394 | md5sum easylistchina.txt|awk '{print $1}' > easylistchina.txt.md5 395 | # md5sum kp.dat|awk '{print $1}' > kp.dat.md5 396 | md5sum user.txt|awk '{print $1}' > user.txt.md5 397 | md5sum fanboy-annoyance.txt|awk '{print $1}' > fanboy-annoyance.txt.md5 398 | md5sum yhosts.txt|awk '{print $1}' > yhosts.txt.md5 399 | 400 | -------------------------------------------------------------------------------- /history/2.2.0/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.0/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.1/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.1/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.2/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.2/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.3/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.3/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.4/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.4/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.5/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.5/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.6/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.6/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.2.7/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.2.7/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/2.8.8/koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/history/2.8.8/koolproxyR.tar.gz -------------------------------------------------------------------------------- /history/version: -------------------------------------------------------------------------------- 1 | 2.2.0 f6609f5cf29c1bd3a24e12c20f505720 2 | 2.2.0 feaf9c60ba6f1ebe3ab760b2cc4ba77b 3 | 2.2.1 b8b8afb4d8919335e1481092a3426e5b 4 | 2.2.2 f0c2b9ec082f0c7573d587a0913c939a 5 | 2.2.3 de55230acdf715f0987ff0be2eedeef4 6 | 2.2.4 9b3166054f21f3209d0e0f1fd4dd45d4 7 | 2.2.5 ff1bcb30d64b3d4c9468fb6f40c72ff4 8 | 2.2.6 99afb1930bb662b27a684aa4fbb5b496 9 | 2.2.7 046bf28b6494be12db0789fc88292b56 10 | 2.8.8 be08cf6dbe9ae92ae4972db6cf2e4df9 11 | -------------------------------------------------------------------------------- /koolproxy/daily.txt: -------------------------------------------------------------------------------- 1 | !x ----------------------------------------------------------------------------------------------------------------- 2 | !x -----[KoolProxy 3.8.4] 3 | !x -----Thanks: From lvba Group 4 | !x -----Thanks for help: 5 | !x ----------------------------------------------------------------------------------------------------------------- 6 | ! ---- baidu union ---- 7 | |http://*/*mgkokpa.js 8 | |http://*/*rlptqpn.js 9 | ! ---- baidu union ---- 10 | ! ---- unsafe download ---- 11 | |http://*/*_*@*.exe 12 | |http://*/*@*_*.exe 13 | ! ---- unsafe download ---- 14 | ! ---- test rules ---- 15 | |https://www.right.com.cn/forum##img[src="https://www.right.com.cn/logo/zbz-1.gif"],#threadlisttableid > tbody:nth-child(10) 16 | |https://statics.woozooo.com/img/m*.js 17 | |http://livep.l.qq.com/livemsg 18 | !|http://*/moviets.tc.qq.com/ 19 | !|http://puui.qpic.cn/video_caps/ 20 | @@|http://ykugc.cp31.ott.cibntv.net/*.mp4?ccode= 21 | |https://js.tv.itc.cn/base/core/gg_ 22 | ||https://ggxt.net/ 23 | |https://www.baidu.com/s?$s@
@@ 24 | |https://www.baidu.com/s?$s@id="m??????????_canvas"@id="Fuck Ad" style="display:none"@ 25 | |https://www.baidu.com/s?$s@id="m????????"@id="Fuck Ad" style="display:none"@ 26 | |https://www.baidu.com/s?$s@id="ecomScript">*@id="Fuck Ad">@ 27 | |https://www.baidu.com/s?$s@id="?00?"@id="Fuck Ad" style="display:none"@ 28 | |https://m.baidu.com/$s@class="ec_r_????????????????"@id="ec_r_????????????????" style="display:none"@ 29 | |https://www.baidu.com/$s@class="ec_r_????????????????"@id="ec_r_????????????????" style="display:none"@ 30 | |https://m.baidu.com/$s@@@ 31 | |https://www.baidu.com/$s@@@ 32 | ! ---- test rules ---- 33 | !x ----------------------------------------------------------------------------------------------------------------- 34 | @@@@|https://pic.yefu365.com 35 | @@@@|https://crash.163.com 36 | @@|http://static.ws.126.net 37 | @@|http://img3.126.net 38 | @@|http://logstat.laosiji.com/index.html? 39 | @@||cnzz.com/q_stat.php$domain=qd.alibaba.com 40 | @@||mmstat.com/eg.js$domain=rjno1.com 41 | |http://*/adright.$domain=elecfans.com 42 | |http://d1.5h.com^ 43 | |http://www.52movieba.com/img/ad* 44 | |http://ad.* 45 | |http://*/adimg/* 46 | |http://*/adImg/* 47 | |https://media.trafficjunky.net/js/holiday-promo.js 48 | |https://smpop.icfcdn.com/smpop-stable.js 49 | |https://wxstatic.cn 50 | |https://qclcdn.cn^ 51 | |https://mc.tvzhe.com^ 52 | |https://www.toolnb.com/Public/aliyun/900x60.png 53 | |https://max.book118.com/statics/js2/ 54 | |https://max.book118.com/Public/book118/js/scz-zip/ 55 | |https://max.book118.com/Public/book118/js/picture-else/ 56 | |https://mgtv.djjca.cn/mgtv.php 57 | |https://hkitblog.com^*-banner 58 | |https://daima.huoche.net^ 59 | |https://pan.keyunzhan.com^ 60 | |https://static.hsbianma.com/Content/images/*-ad- 61 | |https://chequeconvert.hkcoding.com/img/ 62 | |https://o.aolcdn.com/ads/ 63 | |https://e.so.com/baike/ads? 64 | |https://v1.phb123.com^ 65 | |https://www.atyun.com/wp-content/themes/xmag/js/ad.js 66 | |https://ba.cydp5.com^ 67 | |https://js.jianbaimei.com^ 68 | |https://www.91wii.com/*/common/ad_ 69 | |https://www.91wii.com/data/ad/ 70 | |https://asianmedia.com/*/www/delivery/ 71 | |https://fzb01.qiushibaike.com^ 72 | |https://cdn1.tvzhe.com^ 73 | |https://ssl.bsriedu.cn:8004/ 74 | |https://ax.*.ifeng.com^ 75 | |https://emjs.mkzhan.com^ 76 | |https://d1.5h.com^ 77 | |https://www.danji6.com/style/style2016/js/gaosuxiazai.js 78 | |https://yy2018.jintonghua.com^ 79 | |https://www.dangdang.com/adall. 80 | |https://www.dandanzan.com/res/dan 81 | |https://kpshx.douguo.com 82 | |https://ftic.qifake.com^ 83 | |https://dd1.diymianmo.com^ 84 | |https://union*.365inews.com^ 85 | |https://union1.365inews.com^ 86 | |https://ads.exosrv.com/ads.js 87 | |https://rugncn.ifeng.com^ 88 | |https://jiejg.ifeng.com^ 89 | |https://bdjs.ixiumei.com^ 90 | |https://di.phncdn.com/www-static/js/ 91 | |https://ads.trafficjunky.net/ads? 92 | |https://www.google-analytics.com/analytics.js 93 | ||eryamishu.com/zb_system/image/logo/64060.png 94 | ||eryamishu.com/zb_users/upload/2016/04/201604061459908985564295.jpg 95 | ||gum.xbooks.to/js/pc/pc_*_ 96 | ||gum.xbooks.to/js/pc/pc_tsuibi 97 | ||meng.360zuowen.com^ 98 | ||jzb.com/website/fe/pub_js/dbclickshow.js 99 | ||cjjjs.com/script/ad.js 100 | ||int.w3tong.com^ 101 | ||fsdpp.cn/123.jpeg 102 | ||fsdpp.cn/skin/idea/images/hongbao.jpg 103 | ||52pk.com/style/files/images/beitou.jpg 104 | ||greenxf.com^$script 105 | ||91bg.xyz/Runtime/Js/ 106 | ||usxpic.com/btimg/upload/image/20180426/42600001974.gif 107 | ||aigou023.com^ 108 | ||ifengimg.com/static/news/js/newsAdvtrack_ 109 | ||dm530.net/js/ne/*.js*.js 110 | ||jrjimg.cn/common/foot/wxXcxTg.js 111 | ||beijinglvyou.net.cn^ 112 | ||76mao.com/52 113 | ||elecfans.com/skin-*ad_ 114 | ||mglvqian.com^ 115 | ||letvimg.com/*gugwl/*.swf 116 | ||emule.org.cn/km.gif 117 | ||emule.org.cn/templets/default/ 118 | ||ucstatic.cn^ 119 | ||mengheyu.com^ 120 | ||7ia9h.cn^ 121 | ||991pao.com^ 122 | ||lfhnkp.com^ 123 | ||1.ttxs123.net^ 124 | ||chinaz.com/zt/hanyi/images/ziyou.jpg 125 | ||cnfol.com/index_new.php?id= 126 | ||cnfol.com/pc/Js/as/ 127 | ||easypatent.net^ 128 | ||aliyuncs.com/img/aliyun/300x300.jpg 129 | ||aliyuncs.com/img/aliyun/560x260.png 130 | ||bdcode.qinglm.com^ 131 | ||hqcx.net/images/baidu.jpg 132 | ||159i.com/video/usr/uploads/1- 133 | ||159i.com/video/usr/uploads/bd/$image 134 | ||live173.com/AD/ 135 | ||baid1.okooo.com^ 136 | ||hqcx.net/index.php?m=poster& 137 | ||datas.tianqistatic.com^ 138 | ||tom.com/adsender/ 139 | ||gazoeft.cn^ 140 | ||lglady.cn^ 141 | ||cxslchkb.cn^ 142 | ||hxyl.net/js/tv.js 143 | ||yjoiunf.com:5656/ 144 | ||pniao.com/View/images/dianpu.png 145 | ||xcxzxc.cn 146 | ||https://7160.com/js/adweb 147 | ||https://7160.com/js/tiaozhuanquanju.js 148 | ||https://wdeie.com^ 149 | ||https://zxin131.cn^ 150 | ||https://yzaosite.com^ 151 | ||https://zencu.com.cn^ 152 | ||https://xn6ffc.com^ 153 | ||https://yefu365.com^ 154 | ||https://cojia.net:4457/ 155 | ||https://4006825178.com^ 156 | ||https://cwj2h.cn^ 157 | ||https://18dusun.com^ 158 | ||https://fjmailia.com^ 159 | ||https://6yush.cn^ 160 | ||https://15tianqi.com^ 161 | ||https://wanzhuang.com^ 162 | ||https://ybanj.com^ 163 | ||https://spot.im/yad/ 164 | ||https://atwola.com^ 165 | ||https://spot.im/yad/ 166 | ||https://adnxs.com^ 167 | ||https://spotxchange.com^ 168 | ||https://hnfxty.cn^ 169 | ||https://clmmw.com^ 170 | ||https://hchik.com^ 171 | ||https://wjier.com^ 172 | ||https://tinwong.cn^ 173 | ||https://ywadf.cn^ 174 | ||https://fastapi.net^ 175 | ||https://ynp0h.cn^ 176 | ||https://ejiur.com^ 177 | ||https://qgaot.com^ 178 | ||https://6nzev.cn^ 179 | ||https://kguaq.com^ 180 | ||https://nettsl.com^ 181 | ||https://chenyanjiao.cn^ 182 | ||https://ayues.com^ 183 | ||https://22pixx.xyz/l/ 184 | ||https://acv5e.cn^ 185 | ||https://cxfzw.cn^ 186 | ||https://tbaia.com^ 187 | ||https://ysxywj.com^ 188 | ||https://yjiaj.com^ 189 | ||https://just9229.cn^ 190 | ||https://tenh2.cn^ 191 | ||https://beijinglvyou.net.cn^ 192 | ||https://wcail.com^ 193 | ||https://aganj.com^ 194 | ||https://boyueguoji.com^ 195 | ||https://heizundg.cn^ 196 | ||https://themee.cn^ 197 | ||https://kcenu.com^ 198 | ||https://vkuay.com^ 199 | ||https://whshangsha.com^ 200 | ||https://shypqc.com^ 201 | ||https://afefw.com:5110/ 202 | ||https://c6z85.cn^ 203 | ||https://pqnlorg.cn^ 204 | ||https://gadhx.cn^ 205 | ||https://galaxyns.com^ 206 | ||https://rerwe.cn^ 207 | ||https://izouo.com^ 208 | ||https://979067.com^ 209 | ||https://idanmei.cn^ 210 | ||https://ni87.com^ 211 | ||https://hzuok.com^ 212 | ||https://baful.net:4459/ 213 | ||https://aishangcan.com^ 214 | ||https://spectram.pro^ 215 | ||https://nxh2h.cn^ 216 | ||https://vchim.com^ 217 | ||https://qdiut.com^ 218 | ||https://aliguojw.com^ 219 | ||https://qwertyuiopa.co^ 220 | ||https://boweineng.cn^ 221 | ||https://wvstatic.cn^ 222 | ||https://rtslgov.cn^ 223 | ||https://gjuet.com^ 224 | ||https://jscode.acg68.com^ 225 | ||https://fbieq.com^ 226 | ||https://zutodu.cn^ 227 | ||https://fanli.in^ 228 | ||https://ybaiu.com^ 229 | ||https://xng02.com/api.php?mod=ad& 230 | ||https://wp.com/fbcinema.com/wp-content/uploads/20*?w=450 231 | ||https://yootui19999.com^ 232 | ||https://phncdn.com/iframe 233 | ||https://dbeii.com^ 234 | ||https://dceni.com^ 235 | ||https://syxsa.cn^ 236 | ||https://69yll.cn^ 237 | ||https://yunsoka.com^ 238 | ||https://xhera.cn^ 239 | ||https://iyygzs.com^ 240 | ||https://dldsrs.com^ 241 | ||https://pkbrxja.cn^ 242 | ||https://emshx.cn^ 243 | ||https://ifengimg.com/*Couplet 244 | ||https://ifengimg.com/*adview_ 245 | ||https://mmpuh.cn 246 | ||https://ucstatic.cn^ 247 | ||https://mengheyu.com^ 248 | ||https://hduic.com^ 249 | ||https://991pao.com^ 250 | ||https://7ia9h.cn^ 251 | ||https://991pao.com^ 252 | ||https://sjaidu.com^ 253 | ||https://lguir.com^ 254 | ||https://ibaop.com^ 255 | ||https://zcand.com^ 256 | ||https://mdous.com^ 257 | ||https://tdoup.com^ 258 | ||https://h2pzh.cn^ 259 | ||https://wbanz.com^ 260 | ||https://lfhnkp.com^ 261 | ||https://1.ttxs123.net^ 262 | ||https://jdflower.cn^ 263 | ||https://baiduspider1.cn^ 264 | ||https://wcaos.com^ 265 | ||https://07kfh.cn^ 266 | ||https://ahuac.com^ 267 | ||https://fcunq.com^ 268 | ||https://juejin.im/graphql 269 | ||https://9pb0h.cn^ 270 | ||https://tjiaa.com^ 271 | ||https://vbanm.com^ 272 | ||https://hlhulu.com^ 273 | ||https://ifeng.com^*=YWRp 274 | ||https://deliver.ifeng.com^ 275 | ||https://izuis.com 276 | ||https://ifengimg.com/web/d/c_shichuang.js 277 | !|https://pan.baidu.com/feproxy/ad/list? 278 | !x ----------------------------------------------------------------------------------------------------------------- 279 | !|https://pan.baidu.com,yun.baidu.com##[id^="share-ad-"],A#share_ad_info_panl,div[id^="cpro_"],img.share-center,.ad-platform-tips,.banner-active 280 | @@@@|https://mobads.baidu.com 281 | !x ----------------------------------------------------------------------------------------------------------------- 282 | 283 | !x ----------------------------------------------------------------------------------------------------------------- 284 | www.freep.cn###divimg_2 285 | epinv.com##A[href*=".taobao.com"] 286 | vpansou.com##A[href*=".taobao.com"] 287 | dilidili.wang###newapp2018 288 | w1rl.xyz##A[href^="/htmm/"] 289 | zuanke8.com##DIV[style="padding:0px 0 10px 0;background-color:#F1F1F1;"],.zuanpw 290 | youxijpw.com##[id^="bn_con"] 291 | elecfans.com###MiddleLeaderboard,#company-ad,#new-adsm-berry,#adChannel,[id^="new-listAd"] 292 | lvse.cn###ad_banner_outer,[class^="fb_banner"] 293 | xmfish.com##.adv-760,[id^="adm_show_"],.wrapxy 294 | 58pic.com##.twelveModel,.feast,[id^="model-gift"],[id^="search_"]>*,.twelveFixedPage,.tallyActivity,div#ad.clearfix.w1200 295 | cnfol.com##.allAd.Mt10,.rightAd,[class^="wid595Ad"],[class^="wid390Ad"],.wid600Ad,[class^="wid325Ad"],.Ad310,[class^="NavTopAd"],.wid300,.Ad1000,.NewAdBox.Cf 296 | ali213.net##.ad1,[class^="ad_news_"] 297 | www.bt.cn##.btad 298 | ckck.vip##.alert_windows 299 | 9669.cn##.mt10[style="height:260px;"] 300 | bbs.hh010.com##[id$="_banadblock"],#fwin_banadblock_cover,.wp.a_hh_h 301 | sogou.com##.pz-widget-flash-container 302 | eryamishu.com##.post_tags 303 | xbooks.to##DIV[style="width:900px; height:250px; margin: -15px auto 15px auto;"],.movie-in-ad 304 | kpd80.com###wrapper_right_bg[target="_blank"],.topad 305 | zuowen.com##[class^="couplet_"] 306 | 360zuowen.com##[class^="guanggao"],.lew_tu 307 | eworldship.com###d1,#d2,A[href*="ad_click&"] 308 | kdnet.net##.c_spread 309 | bbs.zhiyoo.com##.a_p 310 | 52pk.com###bg_link,.tcgg.ggleft,.tcgg.ggright 311 | qmaile.com,wandhi.com##A[style="display: inline-block;position: relative"],#lovexin121 312 | zysj.com.cn###ad_pc_bottom 313 | pniao.com##img[src$="images/dianpu.png"] 314 | tom.com###body_right_banner 315 | isso.com.cn###wqd1519353145001serial 316 | itboth.com##ad_pop,.ad_pop_left 317 | hz66.com###hzhead + .column,.ad-line 318 | huarenjie.net##DIV[style*="top: 50px;"] 319 | 33am.cn##.bd_980_90 320 | m.9bbg.com##[class^="ndti"],[id^="ndt"] 321 | html-js.com##.module[style="padding:0;"],DIV[style="margin:10px auto;width:1000px;"] 322 | zimuzu.io##img[src^="http://tu.jstucdn.com/g3/ad-img/"] 323 | huaban.com##.extra 324 | henan100.com##.boxB 325 | so.com##.windisplayCell,.commercialCell 326 | gter.net##.ad1,.bottom,[class*="ad"] 327 | m.520boxtv.com##.logo_top 328 | |https://ditu.so.com##DIV[class^="index-adflag-"] + A,#imageSearch 329 | |https://bbs.instrument.com.cn##A[href*="/ad/"] 330 | |https://www.ggdoc.com.cn##.adDiv 331 | |https://hkitblog.com##.widget_text.widget.widget_custom_html,.widget widget_text,.widget.widget_text 332 | |https://www.backchina.com##DIV[style^="width:300px; min-height: 250px;"],div[id^="div-gpt-ad"],a[href*=".21usdeal.com"],.eis_subnav_area,.adsbygoogle,[style="width:300px; margin:0;"],.banner_ad,#eis_pad1,iframe[width="728"][height="90"],.trc-content-sponsored,.trc_related_container div[data-item-syndicated="true"],[style^="min-width:728px;min-height:90px;"] 333 | |https://www.91wii.com##.a_fr,.a_fl 334 | |https://www.rebooo.com###gong 335 | |https://www.iqshw.com###ZAML 336 | |https://www.howbuy.com##.topBigAd,a[href^="https://www.howbuy.com/advertisement/"] 337 | |https://99a18.com,https://99re.com,https://99re16.com##.dmcenter,.layui-layer-shade,img[class="half-img"] 338 | |https://99a18.com,https://99re.com,https://99re16.com##.spots,#_iframe_content 339 | |https://www.keyunzhan.com###AdLayer2 340 | |https://www.toolfk.com##.ad-container,.adsbygoogle 341 | |https://www.pangzi.ca###pop 342 | |https://cc.dety.men##.tips,#footer > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1) 343 | |https://cc.dety.men##DIV > A > IMG[src^="http://www.t66y.cc/img/"]:first-child,DIV.container > DIV > A[rel="nofollow"],blockquote img[onclick^="window.open('http://www.viidii.info/"],blockquote .f16 344 | |https://www.pangzi.ca##img[src*="/ads/images"] 345 | |https://lifanmoe.xyz##a[href^="http"]:not([href*="lifanmoe."]) > img[src*=".sinaimg."] 346 | |https://btring.com##.card[target="_blank"] 347 | |https://forum.xda-developers.com##.sponsor-banner,.leaderboard 348 | |https://finance.sina.com.cn##.m-s-tab + DIV 349 | |https://wenku.baidu.com##.ad-vip-close,.topicBox.search-topicBox-wrap 350 | |https://www.tom024.com###layui-layer1,.layui-layer-shade 351 | |https://www.china.com##.tonglan 352 | |https://www.bt.cn##.btad 353 | |https://www.myqqjd.com###advert_widget,.qz-box 354 | |https://xclient.info##.lim-ad 355 | |https://www.e-learn.cn###block-layui-ele,#block-tengxunyunshuang11 356 | |https://gaus.ee##.adsbygoogle 357 | |https://juejin.im##.sidebar-bd-entry 358 | |https://www.cnbeta.com##.trc_related_container div[data-item-syndicated="true"] 359 | ||https://css88.com##.spark-rm 360 | ||https://zhangxinxu.com###topRecomm 361 | ||https://fastadmin.net##.container > .d-lg-block:first-child 362 | ||https://renren101.com##.ad-flag-wrap 363 | ||https://xsool.com###diy1,#diynavtop 364 | ||https://appinn.com###ranshownow 365 | ||https://engadget.com###atwAdFrame2,#atwAdFrame1,#atwAdFrame2,#AdDiv,div[data-spotim-slot],div[data-nav-drawer-slide-panel] > aside[role="banner"] 366 | ||https://haha.mx##.joke-list-anecdote,.ad-2,.ad-6,.adsbygoogle 367 | ||https://huarenjie.net##DIV[style*="top: 50px;"] 368 | ||https://laomoit.com###sidebar A[target="_blank"] > IMG,.cboxElement + CENTER[style=" padding-top:10px; "] 369 | ||https://pornhub.com##body > .wrapper + div[class][-ext-has='> .removeAdLink'] 370 | ||https://pornhub.com##.realsex,.removeAdsStyle,.ad-link,#hAd 371 | 372 | |https://hao.360.cn###header-patch,#daily-hotwords,#top_activity,#top_hotsite,#activity,#iguess,.mbar-bd,#festival-logoskin,#plane > .plane-hd,.cangbao_redbags,#top-full-column-tips,#plane-ria,.ad-top 373 | !x ----------------------------------------------------------------------------------------------------------------- 374 | |http://bbs.hh010.com/$s@var freeaddon_banadblock = 0;@var freeaddon_banadblock = 30;@ 375 | |http://www.52movieba.com$s@var ua*@@ 376 | |http://vv.video.qq.com/getvinfo?$s@*@@ 377 | ||52pk.com/$s@function goto() {@function goto() { return;@ 378 | |https://cc.dety.men/*.html$s@/((!?function )[readS\w]+\(\) ?{)/@${1}return;@ 379 | |https://cc.dety.men/*.html$s@/(setTimeout\(function ?\(\) ?{)/@${1}return;@ 380 | |https://cc.dety.men/*.html$s@

@
@ 381 | |https://www.coolinet.com/$s@e.insert(c);@return 0;@ 382 | |https://currencyex.doitwell.tw/$s@setTimeout(function() {@setTimeout(function() { return;@ 383 | 384 | |https://console.bonuscloud.io/$r@/https:\/\/.*\.bonuscloud\.io\/.*/@https://kprules.b0.upaiyun.com/null/404.html@ 385 | !x ------------------------------------------ xiaoshuo TXT ADV ---------------------------------------------------- 386 | |http://js.passport.qihucdn.com/11 387 | |https://yihu.s06th.cn^ 388 | |https://m.zhenben.cc/2000/ 389 | ||https://mgsue.cn^ 390 | ||https://hjues.com^ 391 | |https://m.hjiec.com^ 392 | ||https://ffanq.com^ 393 | ||abfirst.cn^ 394 | ||https://mendoc.cn^ 395 | ||https://eshuy.com^ 396 | |http://*/haojio/images/KF-ZL.jpg 397 | |http://livep.l.qq.com/livemsg? 398 | |http://mtrace.qq.com/mkvcollect? 399 | |http://dp3.qq.com/ 400 | |http://news.l.qq.com/app? 401 | |https://1.bh5.com.cn^ 402 | |https://adman.henghost.com 403 | |https://abc.hkepc.net^ 404 | |https://www.toolfk.com/tools/images/vps/ 405 | |https://www.toolfk.com/common/cp.js 406 | |https://dp3.qq.com/ 407 | |https://news.l.qq.com/app? 408 | |https://union.591.com.tw/cpt? 409 | |https://vip.fengyelin.net:9595/ 410 | |https://m.eshuy.com^ 411 | |https://m.tingshuge.com/*/m 412 | |https://static.xiashu.la/*/js/read.js 413 | |https://static.xiashu.la/*/js/fx.js?0.4 414 | |http://m.wodexiaoshuo2.cc/js/zhangjie.js 415 | |https://m.xinshula.com/js/ziji 416 | |https://m.x81zw.com/x81.js 417 | |http://m.wodexiaoshuo2.cc/js/xialun 418 | |https://wap.txtduo.com/mtxtduo.js 419 | |https://m.txt2017.com/*/js/style.js 420 | |https://m.shuanshu.com/js/dipiao.js 421 | |https://m.booktxt.net/js/ym11111 422 | |https://m.bxwx9.org/mjs/newwap.js 423 | |https://m.shengyan.org/*/book.js 424 | |https://m.biduo.cc/scripts/common.js 425 | |https://m.qianrenge.cc/*/common.js 426 | |https://m.zhuaji.org/css/common.js 427 | |https://m.sjxs.la/js/comm.js 428 | |https://m.qianrenge.cc/*/true.js 429 | |https://m.liewen.cc/js/common.js 430 | |https://m.biqumo.com/baidu/newcn 431 | |http://m.biqugego.com/wap/dun.js 432 | |https://gg.dsxdn.com/duanwenxue/wapdwx.js 433 | |http://m.longtanxs.com/js/baisu.js 434 | |https://jiansuo.dsxdn.com^ 435 | |https://m.ttzw.com/*/true.js 436 | |https://m.ttzw.com/*/h.js 437 | |https://m.duanwenxue.com/js/tongji.js 438 | |https://m.dpcq1.net/*/s_wap_novelsearch_chapter_read.js 439 | |https://m.daizhuzai.com/*/s_wap_novelsearch_chapter_read.js 440 | |https://m.duanwenxue.com/functions/ 441 | |https://m.qu.la/*/true.js 442 | |https://m.qu.la/*/cp.js 443 | |http://m.xbiquge.la/js/wap.js 444 | |https://m.biqudao.com/js/wap.js 445 | |https://m.555zw.com/js/wap.js 446 | |https://m.aszw.org/js/wap.js 447 | |https://m.kewaishu.info/ad1/wap.js 448 | |https://m.ranwena.com/scripts/wap.js 449 | |https://m.sjxs.la/js/wap.js 450 | |https://m.zhenben.cc/js/wap.js 451 | |https://m.zhenben.cc/foot.js 452 | |https://m.yfxiaoshuod.com/js/foot.js 453 | |http://*/wap.js$domain=23wxx.com|chenhuixsd.com|cyxse.com|hfxiaoshuo.com|hlxiaoshuo.net|lwxiaoshuo.com|m.1200ksw.com|m.16kxsw.com|m.23sw.net|m.2kxs.com|m.31wxw8.com|m.360118.com|m.37zw.net|m.3dllc.cc|m.3kw.cc|m.50zw.co|m.50zw.la|m.50zww.com|m.52biquge.com|m.555zw.com|m.58xs.tw|m.5ccc.net|m.630book.la|m.67shu.com|m.69shu.org|m.6mao.com|m.80txt.com|m.83zw.com|m.88106.com|m.88dus.com|m.98xiaoshuo.com|m.99shumeng.net|m.aiquxs.com|m.amu520.com|m.aszw.org|m.b5200.net|m.baishulou8.com|m.baoliny.com|m.beijingaishu.net|m.bichi.me|m.biqudu.com|m.biquge.cm|m.biquge.com.tw|m.biquge.info|m.biqugego.com|m.biqugexsw.com|m.biqugezw.com|m.biqumo.com|m.biquwu.cc|m.boluoxs.com|m.book9.net|m.booktxt.net|m.bqg5.cc|m.bqg5200.com|m.bxwx9.org|m.daizhuzai.com|m.dashubao.cc|m.ddxsw.net|m.dhzw.org|m.diyibanzhu.xyz|m.dpcq1.net|m.duanwenxue.com|m.fhxiaoshuo.com|m.fhxsw.org|m.gsdaquan.com|m.gulizw.com|m.gxwztv.com|m.haotxt.com|m.haxwx2.com|m.heiyanwang.com|m.hkslg.net|m.jjxsw.org|m.kewaishu.info|m.konlan.org|m.kxs7.com|m.lanseshuba.com|m.lbxs.com|m.ldw.la|m.lewenxiaoshuo.com|m.liewen.cc|m.liushuba.com|m.lkshu.com|m.longtanxs.com|m.luoqiu.com|m.lwtxt.net|m.miaobige.com|m.miaoshufang.com|m.mishug.com|m.mpzw.com|m.panqis.cn|m.qianrenge.cc|m.qu.la|m.ranwena.com|m.sanjiangge.com|m.shengyan.org|m.shuanshu.com|m.shuketxt.net|m.shumil.com|m.shuqu8.com|m.shuquge.com|m.shushu8.com|m.silukeke.com|m.sjtxt.la|m.snwx8.com|m.sosoxiaoshuo.cc|m.sqsxs.com|m.suimeng.la|m.tingshuge.com|m.tmetb.net|m.tsxsw.com|m.ttzw.com|m.txt2017.com|m.txtduo.com|m.tywxw.la|m.vodtw.com|m.wanjuanba.com|m.wantxt.com|m.wenxue6.com|m.wenxuem.com|m.wenxuemi.com|m.wodeshucheng.com|m.wodexiaoshuo1.cc|m.x81zw.com|m.xbxwx.net|m.xiaoxiaoshuwu.net|m.xiashu.la|m.xinshula.com|m.xs.la|m.xs222.tw|m.xy48.net|m.yawenb.com|m.ybdu.com|m.yssm.org|m.yunlaige.com|m.yuyouge.com|m.zbzw.la|m.zhenben.cc|m.zhuaji.org|m.zhuishubang.com|qihaoqihao.com|wap.xxbiquge.com|wap.yb3.cc|xntk.net|yfxiaoshuoa.com|zhxiaoshuoa.com|zwdu.com|k.heiyanwang.com|3g.wenxuem.com|m.biquyun.com|dm530.net 454 | |https://m.52biquge.com/*/true.js 455 | |https://m.52biquge.com/*/h.js 456 | |https://wap.xbiquge6.com/js/script.js 457 | |https://m.chenhuixsg.com/js/foot.js 458 | |https://m.chenhuixsg.com/js/p.js 459 | |https://m.chenhuixsg.com/js/b.js 460 | |https://m.chenhuixsg.com/js/p.js 461 | |https://m.chenhuixsg.com/js/y.js 462 | |https://m.chenhuixsg.com/js/hfz 463 | |https://m.cyxsi.com/js/foot.js 464 | |https://m.cyxsi.com/js/p.js 465 | |https://m.cyxsi.com/js/b.js 466 | |https://m.cyxsi.com/js/hfz 467 | |https://m.yfxiaoshuod.com/js/hfz 468 | |https://m.hfxiaoshuoa.com/js/foot.js 469 | |https://m.hfxiaoshuoa.com/js/p.js 470 | |https://m.hfxiaoshuoa.com/js/b.js 471 | |https://m.hfxiaoshuoa.com/js/y.js 472 | |https://m.hfxiaoshuoa.com/js/hfz 473 | |https://m.hlxiaoshuoa.com/js/foot.js 474 | |https://m.hlxiaoshuoa.com/js/p.js 475 | |https://m.hlxiaoshuoa.com/js/b.js 476 | |https://m.hlxiaoshuoa.com/js/y.js 477 | |https://m.hlxiaoshuoa.com/js/hfz 478 | |https://m.bichi.me/hepu/nydj 479 | |https://m.bichi.me/hepu/xxf.js 480 | |https://m.88dush.com/mobile/css/m.js 481 | |https://www.qihaoqihao.com/script/book.js 482 | ||https://ienkdaccessible.cn^ 483 | |http://m.31wxw8.com/*/so.js 484 | ||https://edysn.cn^ 485 | |https://www.93vitui.com/svr/weixin.aspx? 486 | |http://m.kukudm.com/mg/show2.js 487 | ||https://18tzx.com^ 488 | ||https://uodoo.com^ 489 | |https://track.uc.cn/collect? 490 | |https://rescn.u3.ucweb.com^ 491 | |https://applog.uc.cn/collect? 492 | |https://m.cyxsi.com/js/m.js?$s@function _17mb_@function @ 493 | |https://m.hfxiaoshuoa.com/js/wap.js?$s@function _17mb_@function @ 494 | |https://m.hlxiaoshuoa.com/js/wap.js?$s@function _17mb_@function @ 495 | |https://m.23uu.org/*/script/wap.js$s@function _17mb_@function @ 496 | |https://m.fpzw.com/wap/wap.js$s@function style_@function @ 497 | |http://m.biquge.com.tw/*/style.js$s@function m_@function @ 498 | |https://m.x83zw.com/style/style.js$s@function yd_d@function @ 499 | |https://m.beijingaishu.net/*/wap.js$s@function qijixs_@function @ 500 | |https://m.bichi.me/wap/qijixs/wap.js$s@function xbaixs_@function @ 501 | |https://m.booktxt.net/js/read.js$s@function _17mb@function @ 502 | |https://m.bqg5.cc/js/main.js$s@function invoke1@function xxxx@ 503 | |https://m.dhzw.org/js/wap.js$s@function xuanfu@function xxxxxx@ 504 | |https://m.dhzw.org/js/wap.js$s@function yuedu@function xxxxxx@ 505 | |https://m.hkslg.net/js/wap.js$s@function yuedu@function xxxxx@ 506 | |https://m.lewenxiaoshuo.com/js/wap.js$s@function xuanfu@function xxxxxx@ 507 | |https://m.lewenxiaoshuo.com/js/wap.js$s@function yuedu@function xxxxxx@ 508 | |https://m.konlan.org/js/wap.js$s@function xuanfu@function xxxxxx@ 509 | |https://m.konlan.org/js/wap.js$s@function yuedu@function xxxxxx@ 510 | |https://m.sanjiangge.com/js/wap.js$s@function _17mb@function _xxxxx@ 511 | |https://m.sanjiangge.com/fs/style.js$s@function _17mb@function _xxxxx@ 512 | |https://m.snwx8.com/$s@function xuanxuan@function xxxxxx@ 513 | |https://m.snwx8.com/$s@function yuedu@function xxxxxx@ 514 | |https://m.sqsxs.com/js/wap.js$s@function xuanfu@function xxxxxx@ 515 | |https://m.sqsxs.com/js/wap.js$s@function yuedu@function xxxxxx@ 516 | |https://m.tmetb.net/js/wap.js$s@function xuanfu@function xxxxxx@ 517 | |https://m.tmetb.net/js/wap.js$s@function yuedu@function xxxxxx@ 518 | |https://m.wenxuemi6.com/js/common.js$s@function style_@function xxxxx_@ 519 | |https://m.zwdu.com/scripts/common.js$s@function app3@function xxxxx@ 520 | |http://m.biquge.com.tw/style/style.js$s@function middle(){*function uc_foot(){*}@@ 521 | |https://m.biqugexsw.com/js/common.js$s@eval(function(*});@@ 522 | !x ------------------------------------------ xiaoshuo TXT ADV ---------------------------------------------------- -------------------------------------------------------------------------------- /koolproxyR.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR.tar.gz -------------------------------------------------------------------------------- /koolproxyR/init.d/S93koolproxyR.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | # 3 | # Copyright (C) 2015 OpenWrt-dist 4 | # Copyright (C) 2016 fw867 5 | # Copyright (C) 2016 sadog 6 | # 7 | # This is free software, licensed under the GNU General Public License v3. 8 | # See /LICENSE for more information. 9 | # 10 | 11 | START=93 12 | STOP=15 13 | 14 | source /koolshare/scripts/base.sh 15 | eval `dbus export koolproxyR_` 16 | 17 | 18 | start(){ 19 | [ ! -L "/tmp/upload/user.txt" ] && ln -sf $KSROOT/koolproxyR/data/user.txt /tmp/upload/user.txt 20 | [[ "$koolproxyR_enable" == "1" ]] && sh /koolshare/koolproxyR/kpr_config.sh restart >> /tmp/upload/kpr_log.txt 21 | 22 | entropy_avail=`opkg list-installed |grep -i "haveged"` 23 | if [[ "$entropy_avail" == "" ]]; then 24 | # 离线安装包下载地址 https://downloads.openwrt.org/releases/packages-18.06/x86_64/packages/ 25 | opkg install /koolshare/variable/libhavege.ipk 26 | sleep 1 27 | opkg install /koolshare/variable/haveged.ipk 28 | fi 29 | } 30 | 31 | stop(){ 32 | sh /koolshare/koolproxyR/kpr_config.sh stop >> /tmp/upload/kpr_log.txt 33 | } -------------------------------------------------------------------------------- /koolproxyR/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export KSROOT=/koolshare 3 | source $KSROOT/scripts/base.sh 4 | eval `dbus export koolproxyR_` 5 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 6 | # mkdir -p /tmp/upload 7 | 8 | # 判断路由架构和平台 9 | case $(uname -m) in 10 | armv7l) 11 | echo_date 本KoolProxyR插件用于koolshare OpenWRT/LEDE x86_64固件平台,arm平台不能安装!!! 12 | echo_date 退出KoolProxyR安装! 13 | exit 1 14 | ;; 15 | mips) 16 | echo_date 本KoolProxyR插件用于koolshare OpenWRT/LEDE x86_64固件平台,mips平台不能安装!!! 17 | echo_date 退出KoolProxyR安装! 18 | exit 1 19 | ;; 20 | x86_64) 21 | fw867=`cat /etc/banner|grep fw867` 22 | if [ -d "/koolshare" ] && [ -n "$fw867" ]; then 23 | echo_date 固件平台【koolshare OpenWRT/LEDE x86_64】符合安装要求,开始安装插件! 24 | else 25 | echo_date 本KoolProxyR插件用于koolshare OpenWRT/LEDE x86_64固件平台,其它x86_64固件平台不能安装!!! 26 | echo_date 退出KoolProxyR安装! 27 | exit 1 28 | fi 29 | ;; 30 | *) 31 | echo_date 本KoolProxyR插件用于koolshare OpenWRT/LEDE x86_64固件平台,其它平台不能安装!!! 32 | echo_date 退出KoolProxyR安装! 33 | exit 1 34 | ;; 35 | esac 36 | # 感谢这位大佬的教程。 37 | # https://www.linuxquestions.org/questions/debian-26/debian-hangs-at-boot-with-random-crng-init-done-4175613405/#post5889997 38 | # 此举解决了kpr与v2ray冲突,与SS冲突,导致开机过慢的问题 39 | # haveged 项目的目的是提供一个易用、不可预测的随机数生成器,基于 HAVEGE 算法。 40 | 41 | # entropy_avail=`cat /proc/sys/kernel/random/entropy_avail` 42 | entropy_avail=`opkg list-installed |grep -i "haveged"` 43 | 44 | 45 | if [[ "$entropy_avail" == "" ]]; then 46 | # 离线安装包下载地址 https://downloads.openwrt.org/releases/packages-18.06/x86_64/packages/ 47 | echo_date 开始安装haveged,解决ss,v2ray冲突导致开机变慢的问题。 48 | opkg install /tmp/koolproxyR/variable/libhavege.ipk 49 | sleep 1 50 | opkg install /tmp/koolproxyR/variable/haveged.ipk 51 | entropy_avail1=`opkg list-installed |grep -i "haveged"` 52 | if [[ "$entropy_avail1" == "" ]]; then 53 | echo_date 离线安装haveged失败,正在尝试在线安装! 54 | opkg update && opkg install haveged 55 | entropy_avail2=`opkg list-installed |grep -i "haveged"` 56 | if [[ "$entropy_avail2" == "" ]]; then 57 | echo_date 离线,在线安装haveged失败请手动尝试,在ssh中执行如下命令,否则无法解决开机变慢的问题。 58 | echo_date opkg update && opkg install haveged 59 | fi 60 | fi 61 | else 62 | echo_date 你已安装haveged,不用担心与ss,v2ray冲突导致开机变慢的问题。 63 | fi 64 | # stop first 65 | KP_ENBALE=`dbus get koolproxy_enable` 66 | koolproxyR_enable=`dbus get koolproxyR_enable` 67 | 68 | if [[ "$KP_ENBALE" == "1" ]]; then 69 | if [ -f "$KSROOT/koolproxy/kp_config.sh" ]; then 70 | sh $KSROOT/koolproxy/kp_config.sh stop >> /tmp/upload/kpr_log.txt 71 | fi 72 | fi 73 | # 删除KP的二进制和核心配置文件。保留其他所有配置,避免小白两个都安装导致一些莫名其妙的问题。 74 | rm -rf $KSROOT/koolproxy/kp_config.sh >/dev/null 2>&1 75 | rm -rf $KSROOT/koolproxy/koolproxy >/dev/null 2>&1 76 | # 暂时关闭kpr进程。进行更新 77 | if [[ "$koolproxyR_enable" == "1" ]]; then 78 | echo_date 关闭koolproxyR主进程... 79 | kill -9 `pidof koolproxy` >/dev/null 2>&1 80 | killall koolproxy >/dev/null 2>&1 81 | fi 82 | # remove old files 83 | echo_date 移除koolproxyR旧文件... 84 | 85 | rm -rf $KSROOT/bin/koolproxy >/dev/null 2>&1 86 | # 自定义shell 移动,避免安装丢失 87 | if [ -f /koolshare/scripts/KoolProxyR_my_rule_diy.sh ]; then 88 | mv /koolshare/scripts/KoolProxyR_my_rule_diy.sh /tmp/KoolProxyR_my_rule_diy.sh.tmp 89 | fi 90 | rm -rf $KSROOT/scripts/KoolProxyR_* >/dev/null 2>&1 91 | rm -rf $KSROOT/webs/Module_koolproxyR.asp >/dev/null 2>&1 92 | rm -rf $KSROOT/koolproxyR/koolproxy >/dev/null 2>&1 93 | rm -rf $KSROOT/koolproxyR/*.sh >/dev/null 2>&1 94 | rm -rf $KSROOT/koolproxyR/data/gen_ca.sh >/dev/null 2>&1 95 | rm -rf $KSROOT/koolproxyR/data/source.list >/dev/null 2>&1 96 | rm -rf $KSROOT/koolproxyR/data/koolproxyR_ipset.conf >/dev/null 2>&1 97 | rm -rf $KSROOT/koolproxyR/data/openssl.cnf >/dev/null 2>&1 98 | rm -rf $KSROOT/koolproxyR/data/rules >/dev/null 2>&1 99 | # 移动 自定义规则 100 | if [ -f "$KSROOT/koolproxyR/data/rules/user.txt" ]; then 101 | mv $KSROOT/koolproxyR/data/rules/user.txt /tmp/user.txt.tmp 102 | fi 103 | rm -rf $KSROOT/koolproxyR/data/rules/* >/dev/null 2>&1 104 | 105 | # copy new files 106 | echo_date 复制koolproxyR新文件... 107 | cd /tmp 108 | mkdir -p $KSROOT/koolproxyR 109 | mkdir -p $KSROOT/init.d 110 | mkdir -p $KSROOT/koolproxyR/data 111 | cp -rf /tmp/koolproxyR/scripts/* $KSROOT/scripts/ 112 | cp -rf /tmp/koolproxyR/webs/* $KSROOT/webs/ 113 | cp -rf /tmp/koolproxyR/init.d/* $KSROOT/init.d/ 114 | # 自定义规则 判断 115 | if [ -f "/tmp/user.txt.tmp" ]; then 116 | cp -rf /tmp/koolproxyR/* $KSROOT/ 117 | rm -rf $KSROOT/koolproxyR/data/rules/user.txt 118 | mv /tmp/user.txt.tmp $KSROOT/koolproxyR/data/rules/user.txt 119 | else 120 | cp -rf /tmp/koolproxyR/* $KSROOT/ 121 | fi 122 | # 自定义shell 移动,避免安装丢失 123 | if [ -f /tmp/KoolProxyR_my_rule_diy.sh.tmp ]; then 124 | mv /tmp/KoolProxyR_my_rule_diy.sh.tmp /koolshare/scripts/KoolProxyR_my_rule_diy.sh 125 | fi 126 | 127 | cp -f /tmp/koolproxyR/uninstall.sh $KSROOT/scripts/uninstall_koolproxyR.sh 128 | rm -rf $KSROOT/install.sh 129 | rm -rf $KSROOT/uninstall.sh 130 | # rm -rf $KSROOT/libhavege*.ipk 131 | # rm -rf $KSROOT/haveged*.ipk 132 | [ ! -L "/tmp/upload/user.txt" ] && ln -sf $KSROOT/koolproxyR/data/rules/user.txt /tmp/upload/user.txt 133 | 134 | echo_date 赋予koolproxyR文件权限... 135 | 136 | cd / 137 | chmod 755 $KSROOT/koolproxyR/* 138 | chmod 755 $KSROOT/koolproxyR/data/* 139 | chmod 755 $KSROOT/scripts/* 140 | chmod 755 $KSROOT/init.d/* 141 | ln -sf $KSROOT/koolproxyR/koolproxy $KSROOT/bin/koolproxy 142 | 143 | # remove install tar 144 | echo_date 移除koolproxyR安装残留... 145 | rm -rf /tmp/koolproxy* >/dev/null 2>&1 146 | 147 | # remove old files if exist 148 | echo_date koolproxyR后续处理... 149 | find /etc/rc.d/ -name *koolproxyR.sh* | xargs rm -rf 150 | [ ! -L "/etc/rc.d/S93koolproxyR.sh" ] && ln -sf $KSROOT/init.d/S93koolproxyR.sh /etc/rc.d/S93koolproxyR.sh 151 | 152 | [ -z "$koolproxyR_mode" ] && dbus set koolproxyR_mode="1" 153 | [ -z "$koolproxyR_acl_default" ] && dbus set koolproxyR_acl_default="1" 154 | [ -z "$koolproxyR_acl_list" ] && dbus set koolproxyR_acl_list=" " 155 | [ -z "$koolproxyR_arp" ] && dbus set koolproxyR_arp=" " 156 | 157 | # add icon into softerware center 158 | # 酷软 插件首行 159 | dbus set softcenter_module_koolproxyR_title="KoolProxyR" 160 | # 酷软 插件次行 161 | dbus set softcenter_module_koolproxyR_description="至 善 至 美" 162 | dbus set softcenter_module_koolproxyR_install=1 163 | dbus set softcenter_module_koolproxyR_home_url="Module_koolproxyR.asp" 164 | dbus set softcenter_module_koolproxyR_name=koolproxyR 165 | dbus set softcenter_module_koolproxyR_version=2.8.8 166 | dbus set koolproxyR_version=2.8.8 167 | 168 | echo_date 安装koolproxyR完成,开始重启koolproxyR... 169 | 170 | [[ "$koolproxyR_enable" == "1" ]] && sh $KSROOT/koolproxyR/kpr_config.sh restart 171 | echo_date koolproxyR重启完成... 172 | 173 | # 首次安装/更新之后进行一次规则升级。避免规则过久。 174 | # sh /koolshare/scripts/KoolProxyR_rule_update.sh update 175 | 176 | # 修复离线安装失败的问题 TG sadog 177 | exit 0 -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/gen_ca.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | alias echo_date='echo $(date +%Y年%m月%d日\ %X):' 3 | KPR_DIY_CA=`dbus get koolproxy_diy_ca` 4 | # 本功能作为隐藏功能,使用dbus set koolproxy_diy_ca=xxxxyyyzzz 5 | # cd /koolshare/koolproxyR/data && sh gen_ca.sh 6 | if [ ! -f openssl.cnf ]; then 7 | echo_date "没有找到 openssl.cnf" 8 | exit 1 9 | fi 10 | if [[ "$KPR_DIY_CA" != "" ]]; then 11 | echo_date "生成自定义证书中..." 12 | rm -rf /koolshare/koolproxyR/data/private/*.pem 13 | rm -rf /koolshare/koolproxyR/data/certs/ca.crt 14 | #step 1, root ca 15 | mkdir -p certs private 16 | rm -f serial private/ca.key.pem 17 | chmod 700 private 18 | echo 1000 > serial 19 | openssl genrsa -aes256 -passout pass:koolshare -out private/ca.key.pem 2048 20 | chmod 400 private/ca.key.pem 21 | openssl req -config openssl.cnf -passin pass:koolshare \ 22 | -subj "/C=CN/ST=Beijing/L=KPR/O=KoolProxyR/CN=$KPR_DIY_CA" \ 23 | -key private/ca.key.pem \ 24 | -new -x509 -days 7300 -sha256 -extensions v3_ca \ 25 | -out certs/ca.crt 26 | 27 | #step 2, domain rsa key 28 | openssl genrsa -aes256 -passout pass:koolshare -out private/base.key.pem 2048 29 | # 生成完毕,移除dbus 避免重复生成 30 | dbus remove koolproxy_diy_ca 31 | echo_date "自定义证书生成完毕..." 32 | koolproxyR_enable=`dbus get koolproxyR_enable` 33 | [[ "$koolproxyR_enable" == "1" ]] && sh /koolshare/koolproxyR/kpr_config.sh restart 34 | echo_date "重新给设备安装证书,体验惊喜吧!" 35 | fi 36 | 37 | if [ -f /koolshare/koolproxyR/data/private/ca.key.pem ]; then 38 | echo_date "已经有证书了!" 39 | else 40 | echo_date "生成证书中..." 41 | 42 | #step 1, root ca 43 | mkdir -p certs private 44 | rm -f serial private/ca.key.pem 45 | chmod 700 private 46 | echo 1000 > serial 47 | openssl genrsa -aes256 -passout pass:koolshare -out private/ca.key.pem 2048 48 | chmod 400 private/ca.key.pem 49 | openssl req -config openssl.cnf -passin pass:koolshare \ 50 | -subj "/C=CN/ST=Beijing/L=KP/O=KoolProxy inc/CN=koolproxy.com" \ 51 | -key private/ca.key.pem \ 52 | -new -x509 -days 7300 -sha256 -extensions v3_ca \ 53 | -out certs/ca.crt 54 | 55 | #step 2, domain rsa key 56 | openssl genrsa -aes256 -passout pass:koolshare -out private/base.key.pem 2048 57 | echo_date "证书生成完毕..." 58 | fi 59 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/openssl.cnf: -------------------------------------------------------------------------------- 1 | # OpenSSL root CA configuration file. 2 | # Copy to `/root/ca/openssl.cnf`. 3 | 4 | [ ca ] 5 | # `man ca` 6 | default_ca = CA_default 7 | 8 | [ CA_default ] 9 | # Directory and file locations. 10 | dir = ./ca 11 | certs = $dir/certs 12 | crl_dir = $dir/crl 13 | new_certs_dir = $dir/newcerts 14 | database = $dir/index.txt 15 | serial = $dir/serial 16 | RANDFILE = $dir/private/.rand 17 | 18 | # The root key and root certificate. 19 | private_key = $dir/private/ca.key.pem 20 | certificate = $dir/certs/ca.cert.pem 21 | 22 | # For certificate revocation lists. 23 | crlnumber = $dir/crlnumber 24 | crl = $dir/crl/ca.crl.pem 25 | crl_extensions = crl_ext 26 | default_crl_days = 30 27 | 28 | # SHA-1 is deprecated, so use SHA-2 instead. 29 | default_md = sha256 30 | 31 | name_opt = ca_default 32 | cert_opt = ca_default 33 | default_days = 375 34 | preserve = no 35 | policy = policy_strict 36 | 37 | [ policy_strict ] 38 | # The root CA should only sign intermediate certificates that match. 39 | # See the POLICY FORMAT section of `man ca`. 40 | countryName = match 41 | stateOrProvinceName = match 42 | organizationName = match 43 | organizationalUnitName = optional 44 | commonName = supplied 45 | emailAddress = optional 46 | 47 | [ policy_loose ] 48 | # Allow the intermediate CA to sign a more diverse range of certificates. 49 | # See the POLICY FORMAT section of the `ca` man page. 50 | countryName = optional 51 | stateOrProvinceName = optional 52 | localityName = optional 53 | organizationName = optional 54 | organizationalUnitName = optional 55 | commonName = supplied 56 | emailAddress = optional 57 | 58 | [ req ] 59 | # Options for the `req` tool (`man req`). 60 | default_bits = 2048 61 | distinguished_name = req_distinguished_name 62 | string_mask = utf8only 63 | 64 | # SHA-1 is deprecated, so use SHA-2 instead. 65 | default_md = sha256 66 | 67 | # Extension to add when the -x509 option is used. 68 | x509_extensions = v3_ca 69 | 70 | [ req_distinguished_name ] 71 | # See . 72 | countryName = Country Name (2 letter code) 73 | stateOrProvinceName = State or Province Name 74 | localityName = Locality Name 75 | 0.organizationName = Organization Name 76 | organizationalUnitName = Organizational Unit Name 77 | commonName = Common Name 78 | emailAddress = Email Address 79 | 80 | # Optionally, specify some defaults. 81 | countryName_default = GB 82 | stateOrProvinceName_default = England 83 | localityName_default = 84 | 0.organizationName_default = Alice Ltd 85 | organizationalUnitName_default = 86 | emailAddress_default = 87 | 88 | [ v3_ca ] 89 | # Extensions for a typical CA (`man x509v3_config`). 90 | subjectKeyIdentifier = hash 91 | authorityKeyIdentifier = keyid:always,issuer 92 | basicConstraints = critical, CA:true 93 | keyUsage = critical, digitalSignature, cRLSign, keyCertSign 94 | 95 | [ v3_intermediate_ca ] 96 | # Extensions for a typical intermediate CA (`man x509v3_config`). 97 | subjectKeyIdentifier = hash 98 | authorityKeyIdentifier = keyid:always,issuer 99 | basicConstraints = critical, CA:true, pathlen:0 100 | keyUsage = critical, digitalSignature, cRLSign, keyCertSign 101 | 102 | [ usr_cert ] 103 | # Extensions for client certificates (`man x509v3_config`). 104 | basicConstraints = CA:FALSE 105 | nsCertType = client, email 106 | nsComment = "OpenSSL Generated Client Certificate" 107 | subjectKeyIdentifier = hash 108 | authorityKeyIdentifier = keyid,issuer 109 | keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment 110 | extendedKeyUsage = clientAuth, emailProtection 111 | 112 | [ server_cert ] 113 | # Extensions for server certificates (`man x509v3_config`). 114 | basicConstraints = CA:FALSE 115 | nsCertType = server 116 | nsComment = "OpenSSL Generated Server Certificate" 117 | subjectKeyIdentifier = hash 118 | authorityKeyIdentifier = keyid,issuer:always 119 | keyUsage = critical, digitalSignature, keyEncipherment 120 | extendedKeyUsage = serverAuth 121 | 122 | [ crl_ext ] 123 | # Extension for CRLs (`man x509v3_config`). 124 | authorityKeyIdentifier=keyid:always 125 | 126 | [ ocsp ] 127 | # Extension for OCSP signing certificates (`man ocsp`). 128 | basicConstraints = CA:FALSE 129 | subjectKeyIdentifier = hash 130 | authorityKeyIdentifier = keyid,issuer 131 | keyUsage = critical, digitalSignature 132 | extendedKeyUsage = critical, OCSPSigning 133 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/daily.txt: -------------------------------------------------------------------------------- 1 | !x ----------------------------------------------------------------------------------------------------------------- 2 | !x -----[KoolProxy 3.8.4] 3 | !x -----Thanks: From lvba Group 4 | !x -----Thanks for help: 5 | !x ----------------------------------------------------------------------------------------------------------------- 6 | ! ---- baidu union ---- 7 | |http://*/*mgkokpa.js 8 | |http://*/*rlptqpn.js 9 | ! ---- baidu union ---- 10 | ! ---- unsafe download ---- 11 | |http://*/*_*@*.exe 12 | |http://*/*@*_*.exe 13 | ! ---- unsafe download ---- 14 | ! ---- test rules ---- 15 | |https://www.right.com.cn/forum##img[src="https://www.right.com.cn/logo/zbz-1.gif"],#threadlisttableid > tbody:nth-child(10) 16 | |https://statics.woozooo.com/img/m*.js 17 | |http://livep.l.qq.com/livemsg 18 | !|http://*/moviets.tc.qq.com/ 19 | !|http://puui.qpic.cn/video_caps/ 20 | @@|http://ykugc.cp31.ott.cibntv.net/*.mp4?ccode= 21 | |https://js.tv.itc.cn/base/core/gg_ 22 | ||https://ggxt.net/ 23 | |https://www.baidu.com/s?$s@
@@ 24 | |https://www.baidu.com/s?$s@id="m??????????_canvas"@id="Fuck Ad" style="display:none"@ 25 | |https://www.baidu.com/s?$s@id="m????????"@id="Fuck Ad" style="display:none"@ 26 | |https://www.baidu.com/s?$s@id="ecomScript">*@id="Fuck Ad">@ 27 | |https://www.baidu.com/s?$s@id="?00?"@id="Fuck Ad" style="display:none"@ 28 | |https://m.baidu.com/$s@class="ec_r_????????????????"@id="ec_r_????????????????" style="display:none"@ 29 | |https://www.baidu.com/$s@class="ec_r_????????????????"@id="ec_r_????????????????" style="display:none"@ 30 | |https://m.baidu.com/$s@@@ 31 | |https://www.baidu.com/$s@@@ 32 | ! ---- test rules ---- 33 | !x ----------------------------------------------------------------------------------------------------------------- 34 | @@@@|https://pic.yefu365.com 35 | @@@@|https://crash.163.com 36 | @@|http://static.ws.126.net 37 | @@|http://img3.126.net 38 | @@|http://logstat.laosiji.com/index.html? 39 | @@||cnzz.com/q_stat.php$domain=qd.alibaba.com 40 | @@||mmstat.com/eg.js$domain=rjno1.com 41 | |http://*/adright.$domain=elecfans.com 42 | |http://d1.5h.com^ 43 | |http://www.52movieba.com/img/ad* 44 | |http://ad.* 45 | |http://*/adimg/* 46 | |http://*/adImg/* 47 | |https://media.trafficjunky.net/js/holiday-promo.js 48 | |https://smpop.icfcdn.com/smpop-stable.js 49 | |https://wxstatic.cn 50 | |https://qclcdn.cn^ 51 | |https://mc.tvzhe.com^ 52 | |https://www.toolnb.com/Public/aliyun/900x60.png 53 | |https://max.book118.com/statics/js2/ 54 | |https://max.book118.com/Public/book118/js/scz-zip/ 55 | |https://max.book118.com/Public/book118/js/picture-else/ 56 | |https://mgtv.djjca.cn/mgtv.php 57 | |https://hkitblog.com^*-banner 58 | |https://daima.huoche.net^ 59 | |https://pan.keyunzhan.com^ 60 | |https://static.hsbianma.com/Content/images/*-ad- 61 | |https://chequeconvert.hkcoding.com/img/ 62 | |https://o.aolcdn.com/ads/ 63 | |https://e.so.com/baike/ads? 64 | |https://v1.phb123.com^ 65 | |https://www.atyun.com/wp-content/themes/xmag/js/ad.js 66 | |https://ba.cydp5.com^ 67 | |https://js.jianbaimei.com^ 68 | |https://www.91wii.com/*/common/ad_ 69 | |https://www.91wii.com/data/ad/ 70 | |https://asianmedia.com/*/www/delivery/ 71 | |https://fzb01.qiushibaike.com^ 72 | |https://cdn1.tvzhe.com^ 73 | |https://ssl.bsriedu.cn:8004/ 74 | |https://ax.*.ifeng.com^ 75 | |https://emjs.mkzhan.com^ 76 | |https://d1.5h.com^ 77 | |https://www.danji6.com/style/style2016/js/gaosuxiazai.js 78 | |https://yy2018.jintonghua.com^ 79 | |https://www.dangdang.com/adall. 80 | |https://www.dandanzan.com/res/dan 81 | |https://kpshx.douguo.com 82 | |https://ftic.qifake.com^ 83 | |https://dd1.diymianmo.com^ 84 | |https://union*.365inews.com^ 85 | |https://union1.365inews.com^ 86 | |https://ads.exosrv.com/ads.js 87 | |https://rugncn.ifeng.com^ 88 | |https://jiejg.ifeng.com^ 89 | |https://bdjs.ixiumei.com^ 90 | |https://di.phncdn.com/www-static/js/ 91 | |https://ads.trafficjunky.net/ads? 92 | |https://www.google-analytics.com/analytics.js 93 | ||eryamishu.com/zb_system/image/logo/64060.png 94 | ||eryamishu.com/zb_users/upload/2016/04/201604061459908985564295.jpg 95 | ||gum.xbooks.to/js/pc/pc_*_ 96 | ||gum.xbooks.to/js/pc/pc_tsuibi 97 | ||meng.360zuowen.com^ 98 | ||jzb.com/website/fe/pub_js/dbclickshow.js 99 | ||cjjjs.com/script/ad.js 100 | ||int.w3tong.com^ 101 | ||fsdpp.cn/123.jpeg 102 | ||fsdpp.cn/skin/idea/images/hongbao.jpg 103 | ||52pk.com/style/files/images/beitou.jpg 104 | ||greenxf.com^$script 105 | ||91bg.xyz/Runtime/Js/ 106 | ||usxpic.com/btimg/upload/image/20180426/42600001974.gif 107 | ||aigou023.com^ 108 | ||ifengimg.com/static/news/js/newsAdvtrack_ 109 | ||dm530.net/js/ne/*.js*.js 110 | ||jrjimg.cn/common/foot/wxXcxTg.js 111 | ||beijinglvyou.net.cn^ 112 | ||76mao.com/52 113 | ||elecfans.com/skin-*ad_ 114 | ||mglvqian.com^ 115 | ||letvimg.com/*gugwl/*.swf 116 | ||emule.org.cn/km.gif 117 | ||emule.org.cn/templets/default/ 118 | ||ucstatic.cn^ 119 | ||mengheyu.com^ 120 | ||7ia9h.cn^ 121 | ||991pao.com^ 122 | ||lfhnkp.com^ 123 | ||1.ttxs123.net^ 124 | ||chinaz.com/zt/hanyi/images/ziyou.jpg 125 | ||cnfol.com/index_new.php?id= 126 | ||cnfol.com/pc/Js/as/ 127 | ||easypatent.net^ 128 | ||aliyuncs.com/img/aliyun/300x300.jpg 129 | ||aliyuncs.com/img/aliyun/560x260.png 130 | ||bdcode.qinglm.com^ 131 | ||hqcx.net/images/baidu.jpg 132 | ||159i.com/video/usr/uploads/1- 133 | ||159i.com/video/usr/uploads/bd/$image 134 | ||live173.com/AD/ 135 | ||baid1.okooo.com^ 136 | ||hqcx.net/index.php?m=poster& 137 | ||datas.tianqistatic.com^ 138 | ||tom.com/adsender/ 139 | ||gazoeft.cn^ 140 | ||lglady.cn^ 141 | ||cxslchkb.cn^ 142 | ||hxyl.net/js/tv.js 143 | ||yjoiunf.com:5656/ 144 | ||pniao.com/View/images/dianpu.png 145 | ||xcxzxc.cn 146 | ||https://7160.com/js/adweb 147 | ||https://7160.com/js/tiaozhuanquanju.js 148 | ||https://wdeie.com^ 149 | ||https://zxin131.cn^ 150 | ||https://yzaosite.com^ 151 | ||https://zencu.com.cn^ 152 | ||https://xn6ffc.com^ 153 | ||https://yefu365.com^ 154 | ||https://cojia.net:4457/ 155 | ||https://4006825178.com^ 156 | ||https://cwj2h.cn^ 157 | ||https://18dusun.com^ 158 | ||https://fjmailia.com^ 159 | ||https://6yush.cn^ 160 | ||https://15tianqi.com^ 161 | ||https://wanzhuang.com^ 162 | ||https://ybanj.com^ 163 | ||https://spot.im/yad/ 164 | ||https://atwola.com^ 165 | ||https://spot.im/yad/ 166 | ||https://adnxs.com^ 167 | ||https://spotxchange.com^ 168 | ||https://hnfxty.cn^ 169 | ||https://clmmw.com^ 170 | ||https://hchik.com^ 171 | ||https://wjier.com^ 172 | ||https://tinwong.cn^ 173 | ||https://ywadf.cn^ 174 | ||https://fastapi.net^ 175 | ||https://ynp0h.cn^ 176 | ||https://ejiur.com^ 177 | ||https://qgaot.com^ 178 | ||https://6nzev.cn^ 179 | ||https://kguaq.com^ 180 | ||https://nettsl.com^ 181 | ||https://chenyanjiao.cn^ 182 | ||https://ayues.com^ 183 | ||https://22pixx.xyz/l/ 184 | ||https://acv5e.cn^ 185 | ||https://cxfzw.cn^ 186 | ||https://tbaia.com^ 187 | ||https://ysxywj.com^ 188 | ||https://yjiaj.com^ 189 | ||https://just9229.cn^ 190 | ||https://tenh2.cn^ 191 | ||https://beijinglvyou.net.cn^ 192 | ||https://wcail.com^ 193 | ||https://aganj.com^ 194 | ||https://boyueguoji.com^ 195 | ||https://heizundg.cn^ 196 | ||https://themee.cn^ 197 | ||https://kcenu.com^ 198 | ||https://vkuay.com^ 199 | ||https://whshangsha.com^ 200 | ||https://shypqc.com^ 201 | ||https://afefw.com:5110/ 202 | ||https://c6z85.cn^ 203 | ||https://pqnlorg.cn^ 204 | ||https://gadhx.cn^ 205 | ||https://galaxyns.com^ 206 | ||https://rerwe.cn^ 207 | ||https://izouo.com^ 208 | ||https://979067.com^ 209 | ||https://idanmei.cn^ 210 | ||https://ni87.com^ 211 | ||https://hzuok.com^ 212 | ||https://baful.net:4459/ 213 | ||https://aishangcan.com^ 214 | ||https://spectram.pro^ 215 | ||https://nxh2h.cn^ 216 | ||https://vchim.com^ 217 | ||https://qdiut.com^ 218 | ||https://aliguojw.com^ 219 | ||https://qwertyuiopa.co^ 220 | ||https://boweineng.cn^ 221 | ||https://wvstatic.cn^ 222 | ||https://rtslgov.cn^ 223 | ||https://gjuet.com^ 224 | ||https://jscode.acg68.com^ 225 | ||https://fbieq.com^ 226 | ||https://zutodu.cn^ 227 | ||https://fanli.in^ 228 | ||https://ybaiu.com^ 229 | ||https://xng02.com/api.php?mod=ad& 230 | ||https://wp.com/fbcinema.com/wp-content/uploads/20*?w=450 231 | ||https://yootui19999.com^ 232 | ||https://phncdn.com/iframe 233 | ||https://dbeii.com^ 234 | ||https://dceni.com^ 235 | ||https://syxsa.cn^ 236 | ||https://69yll.cn^ 237 | ||https://yunsoka.com^ 238 | ||https://xhera.cn^ 239 | ||https://iyygzs.com^ 240 | ||https://dldsrs.com^ 241 | ||https://pkbrxja.cn^ 242 | ||https://emshx.cn^ 243 | ||https://ifengimg.com/*Couplet 244 | ||https://ifengimg.com/*adview_ 245 | ||https://mmpuh.cn 246 | ||https://ucstatic.cn^ 247 | ||https://mengheyu.com^ 248 | ||https://hduic.com^ 249 | ||https://991pao.com^ 250 | ||https://7ia9h.cn^ 251 | ||https://991pao.com^ 252 | ||https://sjaidu.com^ 253 | ||https://lguir.com^ 254 | ||https://ibaop.com^ 255 | ||https://zcand.com^ 256 | ||https://mdous.com^ 257 | ||https://tdoup.com^ 258 | ||https://h2pzh.cn^ 259 | ||https://wbanz.com^ 260 | ||https://lfhnkp.com^ 261 | ||https://1.ttxs123.net^ 262 | ||https://jdflower.cn^ 263 | ||https://baiduspider1.cn^ 264 | ||https://wcaos.com^ 265 | ||https://07kfh.cn^ 266 | ||https://ahuac.com^ 267 | ||https://fcunq.com^ 268 | ||https://juejin.im/graphql 269 | ||https://9pb0h.cn^ 270 | ||https://tjiaa.com^ 271 | ||https://vbanm.com^ 272 | ||https://hlhulu.com^ 273 | ||https://ifeng.com^*=YWRp 274 | ||https://deliver.ifeng.com^ 275 | ||https://izuis.com 276 | ||https://ifengimg.com/web/d/c_shichuang.js 277 | !|https://pan.baidu.com/feproxy/ad/list? 278 | !x ----------------------------------------------------------------------------------------------------------------- 279 | !|https://pan.baidu.com,yun.baidu.com##[id^="share-ad-"],A#share_ad_info_panl,div[id^="cpro_"],img.share-center,.ad-platform-tips,.banner-active 280 | @@@@|https://mobads.baidu.com 281 | !x ----------------------------------------------------------------------------------------------------------------- 282 | 283 | !x ----------------------------------------------------------------------------------------------------------------- 284 | www.freep.cn###divimg_2 285 | epinv.com##A[href*=".taobao.com"] 286 | vpansou.com##A[href*=".taobao.com"] 287 | dilidili.wang###newapp2018 288 | w1rl.xyz##A[href^="/htmm/"] 289 | zuanke8.com##DIV[style="padding:0px 0 10px 0;background-color:#F1F1F1;"],.zuanpw 290 | youxijpw.com##[id^="bn_con"] 291 | elecfans.com###MiddleLeaderboard,#company-ad,#new-adsm-berry,#adChannel,[id^="new-listAd"] 292 | lvse.cn###ad_banner_outer,[class^="fb_banner"] 293 | xmfish.com##.adv-760,[id^="adm_show_"],.wrapxy 294 | 58pic.com##.twelveModel,.feast,[id^="model-gift"],[id^="search_"]>*,.twelveFixedPage,.tallyActivity,div#ad.clearfix.w1200 295 | cnfol.com##.allAd.Mt10,.rightAd,[class^="wid595Ad"],[class^="wid390Ad"],.wid600Ad,[class^="wid325Ad"],.Ad310,[class^="NavTopAd"],.wid300,.Ad1000,.NewAdBox.Cf 296 | ali213.net##.ad1,[class^="ad_news_"] 297 | www.bt.cn##.btad 298 | ckck.vip##.alert_windows 299 | 9669.cn##.mt10[style="height:260px;"] 300 | bbs.hh010.com##[id$="_banadblock"],#fwin_banadblock_cover,.wp.a_hh_h 301 | sogou.com##.pz-widget-flash-container 302 | eryamishu.com##.post_tags 303 | xbooks.to##DIV[style="width:900px; height:250px; margin: -15px auto 15px auto;"],.movie-in-ad 304 | kpd80.com###wrapper_right_bg[target="_blank"],.topad 305 | zuowen.com##[class^="couplet_"] 306 | 360zuowen.com##[class^="guanggao"],.lew_tu 307 | eworldship.com###d1,#d2,A[href*="ad_click&"] 308 | kdnet.net##.c_spread 309 | bbs.zhiyoo.com##.a_p 310 | 52pk.com###bg_link,.tcgg.ggleft,.tcgg.ggright 311 | qmaile.com,wandhi.com##A[style="display: inline-block;position: relative"],#lovexin121 312 | zysj.com.cn###ad_pc_bottom 313 | pniao.com##img[src$="images/dianpu.png"] 314 | tom.com###body_right_banner 315 | isso.com.cn###wqd1519353145001serial 316 | itboth.com##ad_pop,.ad_pop_left 317 | hz66.com###hzhead + .column,.ad-line 318 | huarenjie.net##DIV[style*="top: 50px;"] 319 | 33am.cn##.bd_980_90 320 | m.9bbg.com##[class^="ndti"],[id^="ndt"] 321 | html-js.com##.module[style="padding:0;"],DIV[style="margin:10px auto;width:1000px;"] 322 | zimuzu.io##img[src^="http://tu.jstucdn.com/g3/ad-img/"] 323 | huaban.com##.extra 324 | henan100.com##.boxB 325 | so.com##.windisplayCell,.commercialCell 326 | gter.net##.ad1,.bottom,[class*="ad"] 327 | m.520boxtv.com##.logo_top 328 | |https://ditu.so.com##DIV[class^="index-adflag-"] + A,#imageSearch 329 | |https://bbs.instrument.com.cn##A[href*="/ad/"] 330 | |https://www.ggdoc.com.cn##.adDiv 331 | |https://hkitblog.com##.widget_text.widget.widget_custom_html,.widget widget_text,.widget.widget_text 332 | |https://www.backchina.com##DIV[style^="width:300px; min-height: 250px;"],div[id^="div-gpt-ad"],a[href*=".21usdeal.com"],.eis_subnav_area,.adsbygoogle,[style="width:300px; margin:0;"],.banner_ad,#eis_pad1,iframe[width="728"][height="90"],.trc-content-sponsored,.trc_related_container div[data-item-syndicated="true"],[style^="min-width:728px;min-height:90px;"] 333 | |https://www.91wii.com##.a_fr,.a_fl 334 | |https://www.rebooo.com###gong 335 | |https://www.iqshw.com###ZAML 336 | |https://www.howbuy.com##.topBigAd,a[href^="https://www.howbuy.com/advertisement/"] 337 | |https://99a18.com,https://99re.com,https://99re16.com##.dmcenter,.layui-layer-shade,img[class="half-img"] 338 | |https://99a18.com,https://99re.com,https://99re16.com##.spots,#_iframe_content 339 | |https://www.keyunzhan.com###AdLayer2 340 | |https://www.toolfk.com##.ad-container,.adsbygoogle 341 | |https://www.pangzi.ca###pop 342 | |https://cc.dety.men##.tips,#footer > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1) 343 | |https://cc.dety.men##DIV > A > IMG[src^="http://www.t66y.cc/img/"]:first-child,DIV.container > DIV > A[rel="nofollow"],blockquote img[onclick^="window.open('http://www.viidii.info/"],blockquote .f16 344 | |https://www.pangzi.ca##img[src*="/ads/images"] 345 | |https://lifanmoe.xyz##a[href^="http"]:not([href*="lifanmoe."]) > img[src*=".sinaimg."] 346 | |https://btring.com##.card[target="_blank"] 347 | |https://forum.xda-developers.com##.sponsor-banner,.leaderboard 348 | |https://finance.sina.com.cn##.m-s-tab + DIV 349 | |https://wenku.baidu.com##.ad-vip-close,.topicBox.search-topicBox-wrap 350 | |https://www.tom024.com###layui-layer1,.layui-layer-shade 351 | |https://www.china.com##.tonglan 352 | |https://www.bt.cn##.btad 353 | |https://www.myqqjd.com###advert_widget,.qz-box 354 | |https://xclient.info##.lim-ad 355 | |https://www.e-learn.cn###block-layui-ele,#block-tengxunyunshuang11 356 | |https://gaus.ee##.adsbygoogle 357 | |https://juejin.im##.sidebar-bd-entry 358 | |https://www.cnbeta.com##.trc_related_container div[data-item-syndicated="true"] 359 | ||https://css88.com##.spark-rm 360 | ||https://zhangxinxu.com###topRecomm 361 | ||https://fastadmin.net##.container > .d-lg-block:first-child 362 | ||https://renren101.com##.ad-flag-wrap 363 | ||https://xsool.com###diy1,#diynavtop 364 | ||https://appinn.com###ranshownow 365 | ||https://engadget.com###atwAdFrame2,#atwAdFrame1,#atwAdFrame2,#AdDiv,div[data-spotim-slot],div[data-nav-drawer-slide-panel] > aside[role="banner"] 366 | ||https://haha.mx##.joke-list-anecdote,.ad-2,.ad-6,.adsbygoogle 367 | ||https://huarenjie.net##DIV[style*="top: 50px;"] 368 | ||https://laomoit.com###sidebar A[target="_blank"] > IMG,.cboxElement + CENTER[style=" padding-top:10px; "] 369 | ||https://pornhub.com##body > .wrapper + div[class][-ext-has='> .removeAdLink'] 370 | ||https://pornhub.com##.realsex,.removeAdsStyle,.ad-link,#hAd 371 | 372 | |https://hao.360.cn###header-patch,#daily-hotwords,#top_activity,#top_hotsite,#activity,#iguess,.mbar-bd,#festival-logoskin,#plane > .plane-hd,.cangbao_redbags,#top-full-column-tips,#plane-ria,.ad-top 373 | !x ----------------------------------------------------------------------------------------------------------------- 374 | |http://bbs.hh010.com/$s@var freeaddon_banadblock = 0;@var freeaddon_banadblock = 30;@ 375 | |http://www.52movieba.com$s@var ua*@@ 376 | |http://vv.video.qq.com/getvinfo?$s@*@@ 377 | ||52pk.com/$s@function goto() {@function goto() { return;@ 378 | |https://cc.dety.men/*.html$s@/((!?function )[readS\w]+\(\) ?{)/@${1}return;@ 379 | |https://cc.dety.men/*.html$s@/(setTimeout\(function ?\(\) ?{)/@${1}return;@ 380 | |https://cc.dety.men/*.html$s@

@
@ 381 | |https://www.coolinet.com/$s@e.insert(c);@return 0;@ 382 | |https://currencyex.doitwell.tw/$s@setTimeout(function() {@setTimeout(function() { return;@ 383 | 384 | |https://console.bonuscloud.io/$r@/https:\/\/.*\.bonuscloud\.io\/.*/@https://kprules.b0.upaiyun.com/null/404.html@ 385 | !x ------------------------------------------ xiaoshuo TXT ADV ---------------------------------------------------- 386 | |http://js.passport.qihucdn.com/11 387 | |https://yihu.s06th.cn^ 388 | |https://m.zhenben.cc/2000/ 389 | ||https://mgsue.cn^ 390 | ||https://hjues.com^ 391 | |https://m.hjiec.com^ 392 | ||https://ffanq.com^ 393 | ||abfirst.cn^ 394 | ||https://mendoc.cn^ 395 | ||https://eshuy.com^ 396 | |http://*/haojio/images/KF-ZL.jpg 397 | |http://livep.l.qq.com/livemsg? 398 | |http://mtrace.qq.com/mkvcollect? 399 | |http://dp3.qq.com/ 400 | |http://news.l.qq.com/app? 401 | |https://1.bh5.com.cn^ 402 | |https://adman.henghost.com 403 | |https://abc.hkepc.net^ 404 | |https://www.toolfk.com/tools/images/vps/ 405 | |https://www.toolfk.com/common/cp.js 406 | |https://dp3.qq.com/ 407 | |https://news.l.qq.com/app? 408 | |https://union.591.com.tw/cpt? 409 | |https://vip.fengyelin.net:9595/ 410 | |https://m.eshuy.com^ 411 | |https://m.tingshuge.com/*/m 412 | |https://static.xiashu.la/*/js/read.js 413 | |https://static.xiashu.la/*/js/fx.js?0.4 414 | |http://m.wodexiaoshuo2.cc/js/zhangjie.js 415 | |https://m.xinshula.com/js/ziji 416 | |https://m.x81zw.com/x81.js 417 | |http://m.wodexiaoshuo2.cc/js/xialun 418 | |https://wap.txtduo.com/mtxtduo.js 419 | |https://m.txt2017.com/*/js/style.js 420 | |https://m.shuanshu.com/js/dipiao.js 421 | |https://m.booktxt.net/js/ym11111 422 | |https://m.bxwx9.org/mjs/newwap.js 423 | |https://m.shengyan.org/*/book.js 424 | |https://m.biduo.cc/scripts/common.js 425 | |https://m.qianrenge.cc/*/common.js 426 | |https://m.zhuaji.org/css/common.js 427 | |https://m.sjxs.la/js/comm.js 428 | |https://m.qianrenge.cc/*/true.js 429 | |https://m.liewen.cc/js/common.js 430 | |https://m.biqumo.com/baidu/newcn 431 | |http://m.biqugego.com/wap/dun.js 432 | |https://gg.dsxdn.com/duanwenxue/wapdwx.js 433 | |http://m.longtanxs.com/js/baisu.js 434 | |https://jiansuo.dsxdn.com^ 435 | |https://m.ttzw.com/*/true.js 436 | |https://m.ttzw.com/*/h.js 437 | |https://m.duanwenxue.com/js/tongji.js 438 | |https://m.dpcq1.net/*/s_wap_novelsearch_chapter_read.js 439 | |https://m.daizhuzai.com/*/s_wap_novelsearch_chapter_read.js 440 | |https://m.duanwenxue.com/functions/ 441 | |https://m.qu.la/*/true.js 442 | |https://m.qu.la/*/cp.js 443 | |http://m.xbiquge.la/js/wap.js 444 | |https://m.biqudao.com/js/wap.js 445 | |https://m.555zw.com/js/wap.js 446 | |https://m.aszw.org/js/wap.js 447 | |https://m.kewaishu.info/ad1/wap.js 448 | |https://m.ranwena.com/scripts/wap.js 449 | |https://m.sjxs.la/js/wap.js 450 | |https://m.zhenben.cc/js/wap.js 451 | |https://m.zhenben.cc/foot.js 452 | |https://m.yfxiaoshuod.com/js/foot.js 453 | |http://*/wap.js$domain=23wxx.com|chenhuixsd.com|cyxse.com|hfxiaoshuo.com|hlxiaoshuo.net|lwxiaoshuo.com|m.1200ksw.com|m.16kxsw.com|m.23sw.net|m.2kxs.com|m.31wxw8.com|m.360118.com|m.37zw.net|m.3dllc.cc|m.3kw.cc|m.50zw.co|m.50zw.la|m.50zww.com|m.52biquge.com|m.555zw.com|m.58xs.tw|m.5ccc.net|m.630book.la|m.67shu.com|m.69shu.org|m.6mao.com|m.80txt.com|m.83zw.com|m.88106.com|m.88dus.com|m.98xiaoshuo.com|m.99shumeng.net|m.aiquxs.com|m.amu520.com|m.aszw.org|m.b5200.net|m.baishulou8.com|m.baoliny.com|m.beijingaishu.net|m.bichi.me|m.biqudu.com|m.biquge.cm|m.biquge.com.tw|m.biquge.info|m.biqugego.com|m.biqugexsw.com|m.biqugezw.com|m.biqumo.com|m.biquwu.cc|m.boluoxs.com|m.book9.net|m.booktxt.net|m.bqg5.cc|m.bqg5200.com|m.bxwx9.org|m.daizhuzai.com|m.dashubao.cc|m.ddxsw.net|m.dhzw.org|m.diyibanzhu.xyz|m.dpcq1.net|m.duanwenxue.com|m.fhxiaoshuo.com|m.fhxsw.org|m.gsdaquan.com|m.gulizw.com|m.gxwztv.com|m.haotxt.com|m.haxwx2.com|m.heiyanwang.com|m.hkslg.net|m.jjxsw.org|m.kewaishu.info|m.konlan.org|m.kxs7.com|m.lanseshuba.com|m.lbxs.com|m.ldw.la|m.lewenxiaoshuo.com|m.liewen.cc|m.liushuba.com|m.lkshu.com|m.longtanxs.com|m.luoqiu.com|m.lwtxt.net|m.miaobige.com|m.miaoshufang.com|m.mishug.com|m.mpzw.com|m.panqis.cn|m.qianrenge.cc|m.qu.la|m.ranwena.com|m.sanjiangge.com|m.shengyan.org|m.shuanshu.com|m.shuketxt.net|m.shumil.com|m.shuqu8.com|m.shuquge.com|m.shushu8.com|m.silukeke.com|m.sjtxt.la|m.snwx8.com|m.sosoxiaoshuo.cc|m.sqsxs.com|m.suimeng.la|m.tingshuge.com|m.tmetb.net|m.tsxsw.com|m.ttzw.com|m.txt2017.com|m.txtduo.com|m.tywxw.la|m.vodtw.com|m.wanjuanba.com|m.wantxt.com|m.wenxue6.com|m.wenxuem.com|m.wenxuemi.com|m.wodeshucheng.com|m.wodexiaoshuo1.cc|m.x81zw.com|m.xbxwx.net|m.xiaoxiaoshuwu.net|m.xiashu.la|m.xinshula.com|m.xs.la|m.xs222.tw|m.xy48.net|m.yawenb.com|m.ybdu.com|m.yssm.org|m.yunlaige.com|m.yuyouge.com|m.zbzw.la|m.zhenben.cc|m.zhuaji.org|m.zhuishubang.com|qihaoqihao.com|wap.xxbiquge.com|wap.yb3.cc|xntk.net|yfxiaoshuoa.com|zhxiaoshuoa.com|zwdu.com|k.heiyanwang.com|3g.wenxuem.com|m.biquyun.com|dm530.net 454 | |https://m.52biquge.com/*/true.js 455 | |https://m.52biquge.com/*/h.js 456 | |https://wap.xbiquge6.com/js/script.js 457 | |https://m.chenhuixsg.com/js/foot.js 458 | |https://m.chenhuixsg.com/js/p.js 459 | |https://m.chenhuixsg.com/js/b.js 460 | |https://m.chenhuixsg.com/js/p.js 461 | |https://m.chenhuixsg.com/js/y.js 462 | |https://m.chenhuixsg.com/js/hfz 463 | |https://m.cyxsi.com/js/foot.js 464 | |https://m.cyxsi.com/js/p.js 465 | |https://m.cyxsi.com/js/b.js 466 | |https://m.cyxsi.com/js/hfz 467 | |https://m.yfxiaoshuod.com/js/hfz 468 | |https://m.hfxiaoshuoa.com/js/foot.js 469 | |https://m.hfxiaoshuoa.com/js/p.js 470 | |https://m.hfxiaoshuoa.com/js/b.js 471 | |https://m.hfxiaoshuoa.com/js/y.js 472 | |https://m.hfxiaoshuoa.com/js/hfz 473 | |https://m.hlxiaoshuoa.com/js/foot.js 474 | |https://m.hlxiaoshuoa.com/js/p.js 475 | |https://m.hlxiaoshuoa.com/js/b.js 476 | |https://m.hlxiaoshuoa.com/js/y.js 477 | |https://m.hlxiaoshuoa.com/js/hfz 478 | |https://m.bichi.me/hepu/nydj 479 | |https://m.bichi.me/hepu/xxf.js 480 | |https://m.88dush.com/mobile/css/m.js 481 | |https://www.qihaoqihao.com/script/book.js 482 | ||https://ienkdaccessible.cn^ 483 | |http://m.31wxw8.com/*/so.js 484 | ||https://edysn.cn^ 485 | |https://www.93vitui.com/svr/weixin.aspx? 486 | |http://m.kukudm.com/mg/show2.js 487 | ||https://18tzx.com^ 488 | ||https://uodoo.com^ 489 | |https://track.uc.cn/collect? 490 | |https://rescn.u3.ucweb.com^ 491 | |https://applog.uc.cn/collect? 492 | |https://m.cyxsi.com/js/m.js?$s@function _17mb_@function @ 493 | |https://m.hfxiaoshuoa.com/js/wap.js?$s@function _17mb_@function @ 494 | |https://m.hlxiaoshuoa.com/js/wap.js?$s@function _17mb_@function @ 495 | |https://m.23uu.org/*/script/wap.js$s@function _17mb_@function @ 496 | |https://m.fpzw.com/wap/wap.js$s@function style_@function @ 497 | |http://m.biquge.com.tw/*/style.js$s@function m_@function @ 498 | |https://m.x83zw.com/style/style.js$s@function yd_d@function @ 499 | |https://m.beijingaishu.net/*/wap.js$s@function qijixs_@function @ 500 | |https://m.bichi.me/wap/qijixs/wap.js$s@function xbaixs_@function @ 501 | |https://m.booktxt.net/js/read.js$s@function _17mb@function @ 502 | |https://m.bqg5.cc/js/main.js$s@function invoke1@function xxxx@ 503 | |https://m.dhzw.org/js/wap.js$s@function xuanfu@function xxxxxx@ 504 | |https://m.dhzw.org/js/wap.js$s@function yuedu@function xxxxxx@ 505 | |https://m.hkslg.net/js/wap.js$s@function yuedu@function xxxxx@ 506 | |https://m.lewenxiaoshuo.com/js/wap.js$s@function xuanfu@function xxxxxx@ 507 | |https://m.lewenxiaoshuo.com/js/wap.js$s@function yuedu@function xxxxxx@ 508 | |https://m.konlan.org/js/wap.js$s@function xuanfu@function xxxxxx@ 509 | |https://m.konlan.org/js/wap.js$s@function yuedu@function xxxxxx@ 510 | |https://m.sanjiangge.com/js/wap.js$s@function _17mb@function _xxxxx@ 511 | |https://m.sanjiangge.com/fs/style.js$s@function _17mb@function _xxxxx@ 512 | |https://m.snwx8.com/$s@function xuanxuan@function xxxxxx@ 513 | |https://m.snwx8.com/$s@function yuedu@function xxxxxx@ 514 | |https://m.sqsxs.com/js/wap.js$s@function xuanfu@function xxxxxx@ 515 | |https://m.sqsxs.com/js/wap.js$s@function yuedu@function xxxxxx@ 516 | |https://m.tmetb.net/js/wap.js$s@function xuanfu@function xxxxxx@ 517 | |https://m.tmetb.net/js/wap.js$s@function yuedu@function xxxxxx@ 518 | |https://m.wenxuemi6.com/js/common.js$s@function style_@function xxxxx_@ 519 | |https://m.zwdu.com/scripts/common.js$s@function app3@function xxxxx@ 520 | |http://m.biquge.com.tw/style/style.js$s@function middle(){*function uc_foot(){*}@@ 521 | |https://m.biqugexsw.com/js/common.js$s@eval(function(*});@@ 522 | !x ------------------------------------------ xiaoshuo TXT ADV ---------------------------------------------------- -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/easylistchina.txt.md5: -------------------------------------------------------------------------------- 1 | 3c4db078a4994c16f921f8634e115e15 2 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/fanboy-annoyance.txt.md5: -------------------------------------------------------------------------------- 1 | 712f0876ab63918e0ce6281122245d0b 2 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/kp.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/koolproxyR/data/rules/kp.dat -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/kp.dat.md5: -------------------------------------------------------------------------------- 1 | 48cdd7ed1e121aabf00b0884538e1cfe 2 | 2020年02月27日 23时07分18秒 3 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/user.txt: -------------------------------------------------------------------------------- 1 | ! ******************************* koolproxy 自定义过滤语法简表 ******************************* 2 | ! ------------------------ 规则基于adblock规则,并进行了语法部分的扩展 ------------------------ 3 | ! ABP规则请参考https://adblockplus.org/zh_CN/filters,下面为大致摘要 4 | ! "!" 为行注释符,注释行以该符号起始作为一行注释语义,用于规则描述 5 | ! "@@" 为白名单符,白名单具有最高优先级,放行过滤的网站,例如:@@||taobao.com 6 | ! "@@@@" 超级白名单,比白名单符拥有更高的优先级,主要用于放行https网站,例如:@@@@||https://taobao.com 7 | ! ------------------------------------------------------------------------------------------ 8 | ! "*" 为字符通配符,能够匹配0长度或任意长度的字符串,该通配符不能与正则语法混用。 9 | ! "^" 为分隔符,可以是除了字母、数字或者 _ - . % 之外的任何字符。 10 | ! "~" 为排除标识符,通配符能过滤大多数广告,但同时存在误杀, 可以通过排除标识符修正误杀链接。 11 | ! 注:通配符仅在 url 规则中支持,html 规则中不支持 12 | ! ------------------------------------------------------------------------------------------ 13 | ! "|" 为管线符号,来表示地址的最前端或最末端 14 | ! "||" 为子域通配符,方便匹配主域名下的所有子域 15 | ! 用法及例子如下:(以下等号表示等价于) 16 | ! ||xx.com/ad = http://xx.com/ad* || http://*.xx.com/ad* 17 | ! ||http://xx.com/ad = http://xx.com/ad* || http://*.xx.com/ad* 18 | ! ||https://xx.com/ad = https://xx.com/ad* || https://*.xx.com/ad* 19 | ! |xx.com/ad = http://xx.com/ad* 20 | ! |http://xx.com/ad = http://xx.com/ad* 21 | ! |https://xx.com/ad = https://xx.com/ad* 22 | ! ad = http://*ad* 23 | ! http://ad = http://*ad* 24 | ! https://ad = 不支持,需要指定域名,如下例 25 | ! https://xx.com/ad = |https://xx.com/ad = https://xx.com/ad* 26 | ! [同时可以表示两个以及两个以上的域名]如下例子 27 | ! https://xx.ad.com 和 https://xxx.xx.ad.com = ||https://ad.com (注意! 由于https的原因使用要非常谨慎,不可以大范围使用) 28 | ! ------------------------------------------------------------------------------------------ 29 | ! 兼容adblock规则的html规则语法,例如: 30 | ! fulldls.com,torrentzap.com##.tp_reccomend_banner 31 | ! 但是推荐写成以下标准写法: 32 | ! ||fulldls.com##.tp_reccomend_banner 33 | ! ||torrentzap.com##.tp_reccomend_banner 34 | ! 如果一个网站html规则有多条,可以合并为这样: 35 | ! ||torrentzap.com##.tp_reccomend_banner,.ad_top,[class="ad_right"]...... 36 | ! ------------------------------------------------------------------------------------------ 37 | ! 文本替换语法:$s@匹配内容@替换内容@ 38 | ! 非标准端口过滤语法:||abc.com:8081/ad.html或者|http://adb.com:8081/ 39 | ! 文本替换例子:|http://cdn.pcbeta.js.inimc.com/data/cache/common.js?$s@old@new@ 40 | ! 重定向语法:$r@匹配内容@替换内容@ 41 | ! 重定向例子:|http://koolshare.cn$r@http://koolshare.cn/*@http://www.qq.com@ 42 | ! 注:文本替换语法及重定向语法中的匹配内容不仅支持通配符功能,而且额外支持以下功能 43 | ! 支持通配符 * 和 ? 表示单个字符 44 | ! 支持全正则匹配,/正则内容/ 表示应用正则匹配 45 | ! 正则替换:替换内容支持 $1 $2 这样的符号 46 | ! 普通替换:替换内容支持 * 这样的符号,表示把命中的内容复制到替换的内容。(类似 $1 $2,但是 * 号会自动计算数字) 47 | ! ------------------------------------------------------------------------------------------ 48 | ! 未来将逐步添加相关语法,兼容adblock puls的更多语法,敬请期待。 49 | ! ****************************************************************************************** 50 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/user.txt.md5: -------------------------------------------------------------------------------- 1 | 715d8d892a7323346cf42d8d66cc96b7 2 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/rules/yhosts.txt.md5: -------------------------------------------------------------------------------- 1 | d9d3859fd473d278b8fd5afe2837ce48 2 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/data/source.list: -------------------------------------------------------------------------------- 1 | 0|easylistchina.txt|0|0 2 | 0|koolproxy.txt|0|0 3 | 0|yhosts.txt|0|0 4 | 0|fanboy-annoyance.txt|0|0 5 | 0|daily.txt|0|0 6 | 1|user.txt|0|0 7 | 0|kp.dat|0|0 8 | -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/koolproxy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/koolproxyR/koolproxy -------------------------------------------------------------------------------- /koolproxyR/koolproxyR/kpr_config.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | alias echo_date='echo $(date +%Y年%m月%d日\ %X):' 4 | export KSROOT=/koolshare 5 | source $KSROOT/scripts/base.sh 6 | eval `dbus export koolproxyR_` 7 | SOFT_DIR=/koolshare 8 | KP_DIR=$SOFT_DIR/koolproxyR 9 | LOCK_FILE=/var/lock/koolproxy.lock 10 | # 一定要按照source.list的排列顺序/我就不按照顺序。。。啦啦啦啦啦啦 11 | SOURCE_LIST=$KP_DIR/data/source.list 12 | # 关闭规则调试模式 13 | dbus set koolproxyR_debug_0=0 14 | 15 | 16 | write_user_txt(){ 17 | if [ -n "$koolproxyR_custom_rule" ]; then 18 | echo $koolproxyR_custom_rule | base64_decode | sed 's/\\n/\n/g' > $KP_DIR/data/rules/user.txt 19 | fi 20 | } 21 | 22 | load_rules(){ 23 | sed -i "s/1|/0|/g" $SOURCE_LIST 24 | sed -i "s/0|user/1|user/g" $SOURCE_LIST 25 | if [[ "$koolproxyR_easylist_rules" == "1" ]]; then 26 | echo_date 加载【KPR主规则】 27 | sed -i "s/0|easylistchina/1|easylistchina/g" $SOURCE_LIST 28 | fi 29 | if [[ "$koolproxyR_easylist_rules" == "2" ]]; then 30 | echo_date 加载【koolproxy主规则】 31 | sed -i "s/0|koolproxy/1|koolproxy/g" $SOURCE_LIST 32 | 33 | fi 34 | if [[ "$koolproxyR_easylist_rules" == "3" ]]; then 35 | echo_date 加载【koolproxy主规则+每日规则】 36 | sed -i "s/0|koolproxy/1|koolproxy/g" $SOURCE_LIST 37 | sed -i "s/0|daily/1|daily/g" $SOURCE_LIST 38 | 39 | fi 40 | if [[ "$koolproxyR_replenish_rules" == "1" ]]; then 41 | echo_date 加载【补充规则】 42 | sed -i "s/0|yhosts.txt/1|yhosts.txt/g" $SOURCE_LIST 43 | fi 44 | 45 | if [[ "$koolproxyR_video_rules" == "1" ]]; then 46 | echo_date 加载【KP视频规则】 47 | sed -i "s/0|kp.dat/1|kp.dat/g" $SOURCE_LIST 48 | fi 49 | if [[ "$koolproxyR_fanboy_rules" != "3" ]]; then 50 | echo_date 加载【Fanboy规则】 51 | sed -i "s/0|fanboy/1|fanboy/g" $SOURCE_LIST 52 | fi 53 | } 54 | 55 | start_koolproxy(){ 56 | write_user_txt 57 | kp_version=`koolproxy -h | head -n1 | awk '{print $6}'` 58 | dbus set koolproxyR_binary_version="koolproxy $kp_version " 59 | echo_date 开启koolproxyR主进程! 60 | load_rules 61 | [ -f "$KSROOT/bin/koolproxy" ] && rm -rf $KSROOT/bin/koolproxy 62 | [ ! -L "$KSROOT/bin/koolproxy" ] && ln -sf $KSROOT/koolproxyR/koolproxy $KSROOT/bin/koolproxy 63 | if [[ "$koolproxyR_mode_enable" == "1" ]]; then 64 | echo_date 开启【进阶模式】 65 | [ "$koolproxyR_mode" == "0" ] && echo_date 选择【不过滤】 66 | [ "$koolproxyR_mode" == "1" ] && echo_date 选择【HTTP过滤模式】 67 | [ "$koolproxyR_mode" == "2" ] && echo_date 选择【HTTP/HTTPS双过滤模式】 68 | [ "$koolproxyR_mode" == "3" ] && echo_date 选择【黑名单模式】 69 | [ "$koolproxyR_mode" == "4" ] && echo_date 选择【HTTP/HTTPS双黑名单模式】 70 | # [ "$koolproxyR_mode" == "5" ] && echo_date 选择【全端口模式】 71 | else 72 | [ "$koolproxyR_base_mode" == "0" ] && echo_date 选择【不过滤】 73 | [ "$koolproxyR_base_mode" == "1" ] && echo_date 选择【HTTP过滤模式】 74 | [ "$koolproxyR_base_mode" == "2" ] && echo_date 选择【黑名单模式】 75 | fi 76 | cd $KP_DIR && koolproxy -d --ttl 188 --ttlport 3001 --ipv6 77 | 78 | } 79 | 80 | stop_koolproxy(){ 81 | echo_date 关闭koolproxyR主进程... 82 | kill -9 `pidof koolproxy` >/dev/null 2>&1 83 | killall koolproxy >/dev/null 2>&1 84 | } 85 | 86 | creat_start_up(){ 87 | [ ! -L "/etc/rc.d/S93koolproxyR.sh" ] && { 88 | echo_date 加入开机自动启动... 89 | ln -sf $SOFT_DIR/init.d/S93koolproxyR.sh /etc/rc.d/S93koolproxyR.sh 90 | } 91 | } 92 | 93 | write_nat_start(){ 94 | echo_date 添加nat-start触发事件... 95 | uci -q batch <<-EOT 96 | delete firewall.ks_koolproxy 97 | set firewall.ks_koolproxy=include 98 | set firewall.ks_koolproxy.type=script 99 | set firewall.ks_koolproxy.path=/koolshare/koolproxyR/kpr_config.sh 100 | set firewall.ks_koolproxy.family=any 101 | set firewall.ks_koolproxy.reload=1 102 | commit firewall 103 | EOT 104 | } 105 | 106 | remove_nat_start(){ 107 | echo_date 删除nat-start触发... 108 | uci -q batch <<-EOT 109 | delete firewall.ks_koolproxy 110 | commit firewall 111 | EOT 112 | } 113 | # =============================== 114 | 115 | add_ipset_conf(){ 116 | if [[ "$koolproxyR_mode_enable" == "1" ]]; then 117 | if [[ "$koolproxyR_mode" == "3" ]]; then 118 | echo_date 添加黑名单软连接... 119 | rm -rf /tmp/dnsmasq.d/koolproxyR_ipset.conf 120 | ln -sf $KP_DIR/data/koolproxyR_ipset.conf /tmp/dnsmasq.d/koolproxyR_ipset.conf 121 | dnsmasq_restart=1 122 | fi 123 | else 124 | if [[ "$koolproxyR_base_mode" == "2" ]]; then 125 | echo_date 添加黑名单软连接... 126 | rm -rf /tmp/dnsmasq.d/koolproxyR_ipset.conf 127 | ln -sf $KP_DIR/data/koolproxyR_ipset.conf /tmp/dnsmasq.d/koolproxyR_ipset.conf 128 | dnsmasq_restart=1 129 | fi 130 | fi 131 | } 132 | 133 | remove_ipset_conf(){ 134 | if [ -L "/tmp/dnsmasq.d/koolproxyR_ipset.conf" ]; then 135 | echo_date 移除黑名单软连接... 136 | rm -rf /tmp/dnsmasq.d/koolproxyR_ipset.conf 137 | fi 138 | } 139 | 140 | del_dns_takeover(){ 141 | ss_enable=`iptables -t nat -L SHADOWSOCKS 2>/dev/null |wc -l` 142 | ss_chromecast=`dbus get ss_basic_chromecast` 143 | [ -z "$ss_chromecast" ] && ss_chromecast=0 144 | if [[ "$ss_enable" == "0" ]]; then 145 | chromecast_nu=`iptables -t nat -L PREROUTING -v -n --line-numbers|grep "dpt:53"|awk '{print $1}'` 146 | [ -n "$chromecast_nu" ] && iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 147 | else 148 | [ "$ss_chromecast" == "0" ] && [ -n "$chromecast_nu" ] && iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 149 | fi 150 | } 151 | 152 | restart_dnsmasq(){ 153 | if [[ "$dnsmasq_restart" == "1" ]]; then 154 | echo_date 重启dnsmasq进程... 155 | /etc/init.d/dnsmasq restart > /dev/null 2>&1 156 | fi 157 | } 158 | 159 | write_reboot_job(){ 160 | # start setvice 161 | [ ! -f "/etc/crontabs/root" ] && touch /etc/crontabs/root 162 | CRONTAB=`cat /etc/crontabs/root|grep KoolProxyR_check_chain.sh` 163 | KoolProxyR_rule_update=`cat /etc/crontabs/root|grep KoolProxyR_rule_update.sh\ update` 164 | 165 | [ -z "$KoolProxyR_rule_update" ] && echo_date 写入KPR规则自动更新... && echo "15 3 * * * /koolshare/scripts/KoolProxyR_rule_update.sh update" >> /etc/crontabs/root 166 | 167 | [ -z "$CRONTAB" ] && echo_date 写入KPR过滤代理链守护... && echo "*/30 * * * * $SOFT_DIR/scripts/KoolProxyR_check_chain.sh" >> /etc/crontabs/root 168 | # if [[ "1" == "$koolproxyR_reboot" ]]; then 169 | # [ -z "$CRONTAB" ] && echo_date 开启插件定时重启,每天"$koolproxyR_reboot_hour"时,自动重启插件... && echo "0 $koolproxyR_reboot_hour * * * $KP_DIR/kpr_config.sh restart" >> /etc/crontabs/root 170 | # elif [[ "2" == "$koolproxyR_reboot" ]]; then 171 | # [ -z "$CRONTAB" ] && echo_date 开启插件间隔重启,每隔"$koolproxyR_reboot_inter_hour"时,自动重启插件... && echo "0 */$koolproxyR_reboot_inter_hour * * * $KP_DIR/kpr_config.sh restart" >> /etc/crontabs/root 172 | # fi 173 | } 174 | 175 | remove_reboot_job(){ 176 | [ ! -f "/etc/crontabs/root" ] && touch /etc/crontabs/root 177 | jobexist=`cat /etc/crontabs/root|grep KoolProxyR` 178 | KP_ENBALE=`dbus get koolproxyR_enable` 179 | 180 | # kill crontab job 181 | if [[ ! "$KP_ENBALE" == "1" ]]; then 182 | if [ ! -z "$jobexist" ]; then 183 | echo_date 删除KPR规则自动更新... 184 | sed -i '/KoolProxyR_rule_update/d' /etc/crontabs/root >/dev/null 2>&1 185 | echo_date 删除KPR过滤代理链守护... 186 | sed -i '/koolproxyR_check_chain/d' /etc/crontabs/root >/dev/null 2>&1 187 | fi 188 | fi 189 | } 190 | 191 | creat_ipset(){ 192 | echo_date 创建ipset名单 193 | # Load ipset netfilter kernel modules and kernel modules 194 | ipset -! create white_kp_list nethash 195 | ipset -! create black_koolproxy iphash 196 | cat $KP_DIR/data/rules/user.txt | grep -Eo "(.\w+\:[1-9][0-9]{1,4})/" | grep -Eo "([0-9]{1,5})" | sort -un | sed -e '$a\80' -e '$a\443' | sed -e "s/^/-A kp_full_port &/g" -e "1 i\-N kp_full_port bitmap:port range 0-65535 " | ipset -R -! 197 | } 198 | 199 | gen_special_ip() { 200 | dhcp_mode_wan=`cat /etc/config/network | grep -oi "wan" | sed -n '1p' | cut -c 1-3` 201 | if [[ "$dhcp_mode_wan" != "" ]]; then 202 | ethernet=`ifconfig | grep eth | wc -l` 203 | if [[ "$ethernet" -ge "2" ]]; then 204 | dhcp_mode=`ubus call network.interface.$dhcp_mode_wan status | grep \"proto\" | sed -e 's/^[ \t]\"proto\": //g' -e 's/"//g' -e 's/,//g'` 205 | fi 206 | fi 207 | cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}" 208 | 0.0.0.0/8 209 | 10.0.0.0/8 210 | 100.64.0.0/10 211 | 127.0.0.0/8 212 | 169.254.0.0/16 213 | 172.16.0.0/12 214 | 192.0.0.0/24 215 | 192.0.2.0/24 216 | 192.31.196.0/24 217 | 192.52.193.0/24 218 | 192.88.99.0/24 219 | 192.168.0.0/16 220 | 192.175.48.0/24 221 | 198.18.0.0/15 222 | 198.51.100.0/24 223 | 203.0.113.0/24 224 | 224.0.0.0/4 225 | 240.0.0.0/4 226 | 255.255.255.255 227 | $([ "$dhcp_mode" == "pppoe" ] && ubus call network.interface.$dhcp_mode_wan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') 228 | EOF 229 | } 230 | 231 | add_white_black_ip(){ 232 | echo_date 添加ipset名单 233 | ipset -! restore <<-EOF || return 1 234 | create white_kp_list hash:net hashsize 64 235 | $(gen_special_ip | sed -e "s/^/add white_kp_list /") 236 | EOF 237 | ipset -A black_koolproxy 110.110.110.110 >/dev/null 2>&1 238 | return 0 239 | } 240 | 241 | get_mode_name() { 242 | case "$1" in 243 | 0) 244 | echo "不过滤" 245 | ;; 246 | 1) 247 | echo "HTTP过滤模式" 248 | ;; 249 | 2) 250 | echo "HTTP/HTTPS双过滤模式" 251 | ;; 252 | 3) 253 | echo "黑名单模式" 254 | ;; 255 | 4) 256 | echo "HTTP/HTTPS双黑名单模式" 257 | ;; 258 | 5) 259 | echo "全端口模式" 260 | ;; 261 | esac 262 | } 263 | 264 | get_base_mode_name() { 265 | case "$1" in 266 | 0) 267 | echo "不过滤" 268 | ;; 269 | 1) 270 | echo "HTTP过滤模式" 271 | ;; 272 | 2) 273 | echo "黑名单模式" 274 | ;; 275 | esac 276 | } 277 | 278 | get_jump_mode(){ 279 | case "$1" in 280 | 0) 281 | echo "-j" 282 | ;; 283 | *) 284 | echo "-g" 285 | ;; 286 | esac 287 | } 288 | 289 | get_action_chain() { 290 | case "$1" in 291 | 0) 292 | echo "RETURN" 293 | ;; 294 | 1) 295 | echo "KP_HTTP" 296 | ;; 297 | 2) 298 | echo "KP_HTTPS" 299 | ;; 300 | 3) 301 | echo "KP_BLOCK_HTTP" 302 | ;; 303 | 4) 304 | echo "KP_BLOCK_HTTPS" 305 | ;; 306 | 5) 307 | echo "KP_ALL_PORT" 308 | ;; 309 | esac 310 | } 311 | 312 | get_base_mode() { 313 | case "$1" in 314 | 0) 315 | echo "RETURN" 316 | ;; 317 | 1) 318 | echo "KP_HTTP" 319 | ;; 320 | 2) 321 | echo "KP_BLOCK_HTTP" 322 | ;; 323 | esac 324 | } 325 | 326 | factor(){ 327 | if [ -z "$1" ] || [ -z "$2" ]; then 328 | echo "" 329 | else 330 | echo "$2 $1" 331 | fi 332 | } 333 | 334 | flush_nat(){ 335 | echo_date 移除nat规则... 336 | cd /tmp 337 | iptables -t nat -S | grep -E "KOOLPROXY|KOOLPROXY_ACT|KP_HTTP|KP_HTTPS|KP_BLOCK_HTTP|KP_BLOCK_HTTPS|KP_ALL_PORT" | sed 's/-A/iptables -t nat -D/g'|sed 1,7d > clean.sh && chmod 777 clean.sh && ./clean.sh 338 | iptables -t nat -X KOOLPROXY > /dev/null 2>&1 339 | iptables -t nat -X KOOLPROXY_ACT > /dev/null 2>&1 340 | iptables -t nat -X KP_HTTP > /dev/null 2>&1 341 | iptables -t nat -X KP_HTTPS > /dev/null 2>&1 342 | iptables -t nat -X KP_BLOCK_HTTP > /dev/null 2>&1 343 | iptables -t nat -X KP_BLOCK_HTTPS > /dev/null 2>&1 344 | iptables -t nat -X KP_ALL_PORT > /dev/null 2>&1 345 | ipset -F black_koolproxy > /dev/null 2>&1 && ipset -X black_koolproxy > /dev/null 2>&1 346 | ipset -F white_kp_list > /dev/null 2>&1 && ipset -X white_kp_list > /dev/null 2>&1 347 | ipset -F kp_full_port > /dev/null 2>&1 && ipset -X kp_full_port > /dev/null 2>&1 348 | } 349 | 350 | get_acl_para(){ 351 | echo `dbus get koolproxyR_acl_list|sed 's/>/\n/g'|sed '/^$/d'|awk NR==$1{print}|cut -d "<" -f "$2"` 352 | } 353 | 354 | lan_acess_control(){ 355 | # lan access control 356 | # [ -z "$koolproxyR_acl_default" ] && koolproxyR_acl_default=1 357 | acl_nu=`dbus get koolproxyR_acl_list|sed 's/>/\n/g'|sed '/^$/d'|sed '/^ /d'|wc -l` 358 | if [ -n "$acl_nu" ]; then 359 | min="1" 360 | max="$acl_nu" 361 | while [ $min -le $max ] 362 | do 363 | #echo_date $min $max 364 | proxy_name=`get_acl_para $min 1` 365 | ipaddr=`get_acl_para $min 2` 366 | mac=`get_acl_para $min 3` 367 | proxy_mode=`get_acl_para $min 4` 368 | 369 | [ -n "$ipaddr" ] && [ -z "$mac" ] && echo_date 加载ACL规则:【$ipaddr】模式为:$(get_mode_name $proxy_mode) 370 | [ -z "$ipaddr" ] && [ -n "$mac" ] && echo_date 加载ACL规则:【$mac】模式为:$(get_mode_name $proxy_mode) 371 | [ -n "$ipaddr" ] && [ -n "$mac" ] && echo_date 加载ACL规则:【$ipaddr】【$mac】模式为:$(get_mode_name $proxy_mode) 372 | #echo iptables -t nat -A KOOLPROXY $(factor $ipaddr "-s") $(factor $mac "-m mac --mac-source") -p tcp $(get_jump_mode $proxy_mode) $(get_action_chain $proxy_mode) 373 | iptables -t nat -A KOOLPROXY $(factor $ipaddr "-s") $(factor $mac "-m mac --mac-source") -p tcp $(get_jump_mode $proxy_mode) $(get_action_chain $proxy_mode) 374 | min=`expr $min + 1` 375 | done 376 | if [[ "$koolproxyR_mode_enable" == "1" ]]; then 377 | echo_date 加载ACL规则:其余主机模式为:$(get_mode_name $koolproxyR_mode) 378 | else 379 | echo_date 加载ACL规则:其余主机模式为:$(get_base_mode_name $koolproxyR_base_mode) 380 | fi 381 | else 382 | if [[ "$koolproxyR_mode_enable" == "1" ]]; then 383 | echo_date 加载ACL规则:所有模式为:$(get_mode_name $koolproxyR_mode) 384 | else 385 | echo_date 加载ACL规则:所有模式为:$(get_base_mode_name $koolproxyR_base_mode) 386 | fi 387 | fi 388 | } 389 | 390 | load_nat(){ 391 | echo_date 加载nat规则! 392 | #----------------------BASIC RULES--------------------- 393 | echo_date 写入iptables规则到nat表中... 394 | # 创建KOOLPROXY nat rule 395 | iptables -t nat -N KOOLPROXY 396 | # 创建KOOLPROXY_ACT nat rule 397 | iptables -t nat -N KOOLPROXY_ACT 398 | # 匹配TTL走TTL Port 399 | iptables -t nat -A KOOLPROXY_ACT -p tcp -m ttl --ttl-eq 188 -j REDIRECT --to 3001 400 | # 不匹配TTL走正常Port 401 | iptables -t nat -A KOOLPROXY_ACT -p tcp -j REDIRECT --to 3000 402 | # 局域网地址不走KP 403 | iptables -t nat -A KOOLPROXY -m set --match-set white_kp_list dst -j RETURN 404 | # 生成对应CHAIN 405 | iptables -t nat -N KP_HTTP 406 | iptables -t nat -A KP_HTTP -p tcp -m multiport --dport 80 -j KOOLPROXY_ACT 407 | iptables -t nat -N KP_HTTPS 408 | iptables -t nat -A KP_HTTPS -p tcp -m multiport --dport 80,443 -j KOOLPROXY_ACT 409 | iptables -t nat -N KP_BLOCK_HTTP 410 | iptables -t nat -A KP_BLOCK_HTTP -p tcp -m multiport --dport 80 -m set --match-set black_koolproxy dst -j KOOLPROXY_ACT 411 | iptables -t nat -N KP_BLOCK_HTTPS 412 | iptables -t nat -A KP_BLOCK_HTTPS -p tcp -m multiport --dport 80,443 -m set --match-set black_koolproxy dst -j KOOLPROXY_ACT 413 | iptables -t nat -N KP_ALL_PORT 414 | iptables -t nat -A KP_ALL_PORT -p tcp -j KOOLPROXY_ACT 415 | # 局域网控制 416 | lan_acess_control 417 | # 剩余流量转发到缺省规则定义的链中 418 | [ "$koolproxyR_mode_enable" == "1" ] && iptables -t nat -A KOOLPROXY -p tcp -j $(get_action_chain $koolproxyR_mode) 419 | [ ! "$koolproxyR_mode_enable" == "1" ] && iptables -t nat -A KOOLPROXY -p tcp -j $(get_base_mode $koolproxyR_base_mode) 420 | # 重定所有流量到 KOOLPROXY 421 | # HTTP过滤模式和视频模式 422 | PR_NU=`iptables -nvL PREROUTING -t nat |sed 1,2d | sed -n '/prerouting_rule/='` 423 | if [[ "$PR_NU" == "" ]]; then 424 | PR_NU=1 425 | else 426 | let PR_NU+=1 427 | fi 428 | # [ "$koolproxyR_mode" == "1" ] || [ "$koolproxyR_mode" == "3" ] && iptables -t nat -I PREROUTING "$PR_NU" -p tcp -j KOOLPROXY 429 | iptables -t nat -I PREROUTING "$PR_NU" -p tcp -j KOOLPROXY 430 | # ipset 黑名单模式 431 | # [ "$koolproxyR_mode" == "2" ] && iptables -t nat -I PREROUTING "$PR_NU" -p tcp -m set --match-set black_koolproxy dst -j KOOLPROXY 432 | } 433 | 434 | 435 | dns_takeover(){ 436 | ss_chromecast=`uci -q get shadowsocks.@global[0].dns_53` 437 | ss_enable=`iptables -t nat -L PREROUTING | grep SHADOWSOCKS |wc -l` 438 | [ -z "$ss_chromecast" ] && ss_chromecast=0 439 | lan_ipaddr=`uci get network.lan.ipaddr` 440 | #chromecast=`iptables -t nat -L PREROUTING -v -n|grep "dpt:53"` 441 | chromecast_nu=`iptables -t nat -L PREROUTING -v -n --line-numbers|grep "dpt:53"|awk '{print $1}'` 442 | is_right_lanip=`iptables -t nat -L PREROUTING -v -n --line-numbers|grep "dpt:53" |grep "$lan_ipaddr"` 443 | if [[ "$koolproxyR_mode_enable" == "1" ]]; then 444 | if [[ "$koolproxyR_mode" == "3" ]]; then 445 | if [ -z "$chromecast_nu" ]; then 446 | echo_date 黑名单模式开启DNS劫持 447 | iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to $lan_ipaddr >/dev/null 2>&1 448 | else 449 | if [ -z "$is_right_lanip" ]; then 450 | echo_date 黑名单模式开启DNS劫持 451 | iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 452 | iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to $lan_ipaddr >/dev/null 2>&1 453 | else 454 | echo_date DNS劫持规则已经添加,跳过~ 455 | fi 456 | fi 457 | else 458 | if [[ "$ss_chromecast" != "1" ]] || [["$ss_enable" -eq 0 ]]; then 459 | if [ -n "$chromecast_nu" ]; then 460 | echo_date 全局过滤模式下删除DNS劫持 461 | iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 462 | fi 463 | fi 464 | fi 465 | else 466 | if [[ "$koolproxyR_base_mode" == "2" ]]; then 467 | if [ -z "$chromecast_nu" ]; then 468 | echo_date 黑名单模式开启DNS劫持 469 | iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to $lan_ipaddr >/dev/null 2>&1 470 | else 471 | if [ -z "$is_right_lanip" ]; then 472 | echo_date 黑名单模式开启DNS劫持 473 | iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 474 | iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to $lan_ipaddr >/dev/null 2>&1 475 | else 476 | echo_date DNS劫持规则已经添加,跳过~ 477 | fi 478 | fi 479 | else 480 | if [[ "$ss_chromecast" != "1" ]] || [["$ss_enable" -eq 0 ]]; then 481 | if [ -n "$chromecast_nu" ]; then 482 | echo_date 全局过滤模式下删除DNS劫持 483 | iptables -t nat -D PREROUTING $chromecast_nu >/dev/null 2>&1 484 | fi 485 | fi 486 | fi 487 | fi 488 | } 489 | 490 | detect_cert(){ 491 | if [ ! -f $KP_DIR/data/private/ca.key.pem -o ! -f $KP_DIR/data/certs/ca.crt ]; then 492 | echo_date 开始生成koolproxyR证书,用于https过滤! 493 | cd $KP_DIR/data && sh gen_ca.sh 494 | fi 495 | } 496 | 497 | set_lock(){ 498 | exec 1000>"$LOCK_FILE" 499 | flock -x 1000 500 | } 501 | 502 | unset_lock(){ 503 | flock -u 1000 504 | rm -rf "$LOCK_FILE" 505 | } 506 | 507 | my_rule_diy(){ 508 | if [ -f /koolshare/scripts/KoolProxyR_my_rule_diy.sh ]; then 509 | chmod 777 /koolshare/scripts/KoolProxyR_my_rule_diy.sh 510 | sh /koolshare/scripts/KoolProxyR_my_rule_diy.sh mydiy 511 | fi 512 | } 513 | 514 | new_kpr_version(){ 515 | url_version="https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/version" 516 | wget --no-check-certificate --timeout=8 -qO - $url_version > /tmp/version 517 | koolproxyR_installing_version=`cat /tmp/version | sed -n '1p'` 518 | echo_date 获取到最新在线版本为:$koolproxyR_installing_version! 519 | dbus set koolproxyR_new_install_version=$koolproxyR_installing_version 520 | rm -rf /tmp/version 521 | echo_date 请和koolproxy二选一,因为我会打开koolproxy开关来,骗过V2RAY 522 | } 523 | 524 | ss_v2ray_game_restrt(){ 525 | SS_ENABLE=`dbus get ss_basic_enable` 526 | V2_ENABLE=`dbus get v2ray_basic_enable` 527 | KG_ENABLE=`dbus get koolgame_basic_enable` 528 | koolclash_ENABLE=`dbus get koolclash_enable` 529 | if [[ "$SS_ENABLE" == "1" ]]; then 530 | echo_date ================== 以下为SS日志 ================= 531 | /koolshare/ss/ssstart.sh restart >> /tmp/upload/kpr_log.txt 532 | echo_date ================== 以上为SS日志 ================= 533 | echo_date 检测到SS开启,重启了你的SS插件以适应KPR的开启与关闭! 534 | fi 535 | if [[ "$V2_ENABLE" == "1" ]]; then 536 | # 顺带检查到,自启服务脚本写错了,干脆我写成控制文件 537 | echo_date ================== 以下为V2RAY日志 ================= 538 | /koolshare/scripts/v2ray_config.sh restart 539 | echo_date ================== 以上为V2RAY日志 ================= 540 | echo_date 检测到V2RAY开启,重启了你的V2RAY插件以适应KPR的开启与关闭! 541 | fi 542 | if [[ "$KG_ENABLE" == "1" ]]; then 543 | # 顺带检查到,自启服务脚本写错了,干脆我写成控制文件 544 | echo_date ================== 以下为koolgame日志 ================= 545 | /koolshare/scripts/koolgame_config.sh restart 546 | echo_date ================== 以上为koolgame日志 ================= 547 | echo_date 检测到koolgame开启,重启了你的koolgame插件以适应KPR的开启与关闭! 548 | fi 549 | if [[ "$koolclash_ENABLE" == "1" ]]; then 550 | # echo_date ================== 以下为koolclash日志 ================= 551 | # /koolshare/scripts/koolclash_control.sh stop 552 | # dbus set koolclash_enable=1 553 | # /koolshare/scripts/koolclash_control.sh start 554 | # echo_date ================== 以上为koolclash日志 ================= 555 | # echo_date 检测到koolclash开启,重启了你的koolclash插件以适应KPR的开启与关闭! 556 | echo_date 检测到koolclash开启,等koolclash兼容KP后开放此功能! 557 | fi 558 | } 559 | 560 | case $1 in 561 | start) 562 | set_lock 563 | echo_date ================== koolproxyR启用 ================= 564 | rm -rf /tmp/upload/user.txt && ln -sf $KSROOT/koolproxyR/data/rules/user.txt /tmp/upload/user.txt 565 | my_rule_diy 566 | detect_cert 567 | start_koolproxy 568 | add_ipset_conf && restart_dnsmasq 569 | creat_ipset 570 | add_white_black_ip 571 | load_nat 572 | dns_takeover 573 | write_nat_start 574 | write_reboot_job 575 | echo_date ================================================= 576 | unset_lock 577 | new_kpr_version 578 | # 伪装KP的开启,骗过V2RAY 579 | dbus set koolproxy_enable=1 580 | ss_v2ray_game_restrt 581 | ;; 582 | restart) 583 | set_lock 584 | # now stop 585 | echo_date ================== 关闭 ================= 586 | rm -rf /tmp/upload/user.txt && ln -sf $KSROOT/koolproxyR/data/rules/user.txt /tmp/upload/user.txt 587 | remove_reboot_job 588 | del_dns_takeover 589 | remove_ipset_conf 590 | remove_nat_start 591 | flush_nat 592 | stop_koolproxy 593 | # now start 594 | echo_date ================== koolproxyR启用 ================= 595 | my_rule_diy 596 | detect_cert 597 | start_koolproxy 598 | add_ipset_conf && restart_dnsmasq 599 | creat_ipset 600 | add_white_black_ip 601 | load_nat 602 | dns_takeover 603 | creat_start_up 604 | write_nat_start 605 | write_reboot_job 606 | echo_date koolproxyR启用成功,请等待日志窗口自动关闭,页面会自动刷新... 607 | echo_date ================================================= 608 | unset_lock 609 | new_kpr_version 610 | # 伪装KP的开启,骗过V2RAY 611 | dbus set koolproxy_enable=1 612 | ss_v2ray_game_restrt 613 | ;; 614 | stop) 615 | set_lock 616 | remove_reboot_job 617 | del_dns_takeover 618 | remove_ipset_conf && restart_dnsmasq 619 | remove_nat_start 620 | flush_nat 621 | stop_koolproxy 622 | unset_lock 623 | new_kpr_version 624 | # 伪装KP的关闭,骗过V2RAY 625 | dbus set koolproxy_enable=0 626 | ss_v2ray_game_restrt 627 | ;; 628 | *) 629 | set_lock 630 | flush_nat 631 | creat_ipset 632 | add_white_black_ip 633 | load_nat 634 | dns_takeover 635 | unset_lock 636 | new_kpr_version 637 | ss_v2ray_game_restrt 638 | ;; 639 | esac 640 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_cert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export KSROOT=/koolshare 4 | source $KSROOT/scripts/base.sh 5 | eval `dbus export koolproxyR_` 6 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 7 | LOG_FILE=/tmp/upload/kpr_log.txt 8 | CA_DIR=/tmp/upload/CA/ 9 | echo "" > $LOG_FILE 10 | 11 | backup() { 12 | echo_date "开始备份证书!" 13 | mkdir -p $KSROOT/webs/files 14 | 15 | if [ ! -f $KSROOT/koolproxyR/data/private/ca.key.pem ]; then 16 | echo_date "证书文件:$KSROOT/koolproxyR/data/private/ca.key.pem 不存在!" 17 | file_found=0 18 | fi 19 | if [ ! -f $KSROOT/koolproxyR/data/private/base.key.pem ]; then 20 | echo_date "证书文件:$KSROOT/koolproxyR/data/private/base.key.pem 不存在!" 21 | file_found=0 22 | fi 23 | if [ ! -f $KSROOT/koolproxyR/data/certs/ca.crt ]; then 24 | echo_date "$KSROOT/koolproxyR/data/certs/ca.crt 不存在!" 25 | file_found=0 26 | fi 27 | 28 | if [[ "$file_found" == "0" ]]; then 29 | echo_date "退出备份!" 30 | echo XU6J03M6 31 | exit 1 32 | fi 33 | 34 | cd $KSROOT/koolproxyR/data 35 | tar czf /tmp/upload/koolproxyca.tar.gz private/ca.key.pem private/base.key.pem certs/ca.crt 36 | cp /tmp/upload/koolproxyca.tar.gz $KSROOT/webs/files/koolproxyca.tar.gz 37 | echo_date "证书备份完毕" 38 | } 39 | 40 | backup_0() { 41 | echo_date "开始生成 .0 证书!" 42 | mkdir -p $KSROOT/webs/files 43 | 44 | if [ ! -f $KSROOT/koolproxyR/data/certs/ca.crt ]; then 45 | echo_date "$KSROOT/koolproxyR/data/certs/ca.crt 不存在!" 46 | file_found=0 47 | fi 48 | 49 | if [[ "$file_found" == "0" ]]; then 50 | echo_date "退出生成 .0 根证书!" 51 | echo XU6J03M6 52 | exit 1 53 | fi 54 | # 生成证书的hash名字 55 | ca_0_hash=$(openssl x509 -subject_hash_old -in $KSROOT/koolproxyR/data/certs/ca.crt|head -1).0 56 | cp $KSROOT/koolproxyR/data/certs/ca.crt $KSROOT/webs/files/$ca_0_hash 57 | # 生成.0根证书 58 | openssl x509 -text -in cp $KSROOT/koolproxyR/data/certs/ca.crt -out /dev/null >> $KSROOT/webs/files/$ca_0_hash 59 | cd $KSROOT/webs/files 60 | tar czf ca_0.tar.gz $ca_0_hash 61 | # zip ca_0.zip $ca_0_hash >/dev/null 62 | echo_date " .0根证书生成成功,名字为 $ca_0_hash" 63 | } 64 | 65 | stop_koolproxy(){ 66 | echo_date 关闭koolproxy主进程... 67 | kill -9 `pidof koolproxy` >/dev/null 2>&1 68 | killall koolproxy >/dev/null 2>&1 69 | } 70 | 71 | restart_koolproxy(){ 72 | 73 | echo_date 重启koolproxy主进程! 74 | [ "$koolproxyR_mode" == "3" ] && EXT_ARG="-e" || EXT_ARG="" 75 | cd $KSROOT/koolproxyR && koolproxyR $EXT_ARG --mark -d 76 | } 77 | 78 | restore() { 79 | if [ -f /tmp/upload/koolproxyCA.tar.gz ]; then 80 | echo_date "开始恢复证书!" 81 | mkdir -p $CA_DIR 82 | cp /tmp/upload/koolproxyCA.tar.gz $CA_DIR 83 | cd $CA_DIR 84 | tar xzf $CA_DIR/koolproxyCA.tar.gz 85 | else 86 | echo_date "没有找到上传的证书备份文件!退出恢复!" 87 | echo XU6J03M6 88 | exit 1 89 | fi 90 | 91 | cp -rf $CA_DIR/* $KSROOT/koolproxyR/data 92 | rm -rf $CA_DIR 93 | rm -f /tmp/upload/koolproxyCA.tar.gz 94 | rm -rf /tmp/upload/koolproxyca.tar.gz 95 | rm -rf $KSROOT/koolproxyR/data/koolproxyCA.tar.gz 96 | 97 | stop_koolproxy 98 | sleep 1 99 | restart_koolproxy 100 | echo_date "证书恢复成功!" 101 | } 102 | 103 | case $2 in 104 | 1) 105 | #备份证书 106 | backup >> $LOG_FILE 107 | http_response "$1" 108 | echo XU6J03M6 >> $LOG_FILE 109 | sleep 10 110 | rm -rf /koolshare/webs/files/koolproxyca.tar.gz 111 | rm -rf /tmp/upload/koolproxyca.tar.gz 112 | ;; 113 | 2) 114 | #恢复证书 115 | restore >> $LOG_FILE 116 | $KSROOT/koolproxyR/kpr_config.sh restart 117 | http_response "$1" 118 | echo XU6J03M6 >> $LOG_FILE 119 | ;; 120 | 3) 121 | #生成.0根证书 122 | backup_0 >> $LOG_FILE 123 | http_response "$1" 124 | echo XU6J03M6 >> $LOG_FILE 125 | sleep 10 126 | rm -rf $KSROOT/webs/files/$ca_0_hash 127 | rm -rf $KSROOT/webs/files/ca_0.tar.gz 128 | ;; 129 | esac 130 | 131 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_check_chain.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2015 OpenWrt-dist 4 | # Copyright (C) 2018 houzi- 5 | # 6 | # This is free software, licensed under the GNU General Public License v3. 7 | # See /LICENSE for more information. 8 | # 9 | 10 | export KSROOT=/koolshare 11 | source $KSROOT/scripts/base.sh 12 | source $KSROOT/bin/helper.sh 13 | 14 | KPR_ENABLE=`dbus get koolproxyR_enable` 15 | SS_ENABLE=`dbus get ss_basic_enable` 16 | V2_ENABLE=`dbus get v2ray_basic_enable` 17 | KG_ENABLE=`dbus get koolgame_basic_enable` 18 | 19 | KP_NUMBER=`iptables -t nat -L PREROUTING | sed -e '1,2d' | sed -n '/KOOLPROXY/=' | sed -n '1p'` 20 | 21 | SS_DUPLICATE=`iptables -t nat -L PREROUTING | sed -e '1,2d' | grep SHADOWSOCKS | wc -l` 22 | SS_NUMBER=`iptables -t nat -L PREROUTING | sed -e '1,2d' | sed -n '/SHADOWSOCKS/=' | sed -n '1p'` 23 | [ "$SS_ENABLE" == "1" ] && export number="1" 24 | 25 | V2_DUPLICATE=`iptables -t nat -L PREROUTING | sed -e '1,2d' | grep V2RAY | wc -l` 26 | V2_NUMBER=`iptables -t nat -L PREROUTING | sed -e '1,2d' | sed -n '/V2RAY/=' | sed -n '1p'` 27 | [ "$V2_ENABLE" == "1" ] && export number="2" 28 | 29 | KG_DUPLICATE=`iptables -t nat -L PREROUTING | sed -e '1,2d' | grep KOOLGAME | wc -l` 30 | KG_NUMBER=`iptables -t nat -L PREROUTING | sed -e '1,2d' | sed -n '/KOOLGAME/=' | sed -n '1p'` 31 | [ "$KG_ENABLE" == "1" ] && export number="3" 32 | 33 | # kpr运行状态判断 34 | status=`ps | grep koolproxy | grep -v grep | wc -l` 35 | if [[ "$status" == "0" ]]; then 36 | KPR_NOT_RUNNING=1 37 | export number="4" 38 | fi 39 | 40 | [ ! "$KPR_ENABLE" == "1" ] && return 0 || continue 41 | 42 | case $number in 43 | 1) 44 | [ "$KP_NUMBER" -gt "$SS_NUMBER" -o "$SS_DUPLICATE" -ge "2" ] && /koolshare/ss/ssstart.sh restart >> /tmp/upload/kpr_log.txt 2>&1 45 | ;; 46 | 2) 47 | [ "$KP_NUMBER" -gt "$V2_NUMBER" -o "$V2_DUPLICATE" -ge "2" ] && /koolshare/scripts/v2ray_config.sh restart 48 | ;; 49 | 3) 50 | [ "$KP_NUMBER" -gt "$KG_NUMBER" -o "$KG_DUPLICATE" -ge "2" ] && /koolshare/scripts/koolgame_config.sh restart 51 | ;; 52 | 4) 53 | [ "$KPR_ENABLE" == "1" -a "$KPR_NOT_RUNNING" == "1" ] && sh $KSROOT/koolproxyR/kpr_config.sh restart 54 | ;; 55 | esac 56 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | alias echo_date1='echo $(date +%Y年%m月%d日\ %X)' 4 | export KSROOT=/koolshare 5 | source $KSROOT/scripts/base.sh 6 | eval `dbus export koolproxyR_` 7 | 8 | echo "" > /tmp/upload/kpr_log.txt 9 | sleep 1 10 | case $2 in 11 | restart) 12 | if [[ "$koolproxyR_enable" == "1" ]]; then 13 | sh /koolshare/koolproxyR/kpr_config.sh restart >> /tmp/upload/kpr_log.txt 2>&1 14 | else 15 | sh /koolshare/koolproxyR/kpr_config.sh stop >> /tmp/upload/kpr_log.txt 2>&1 16 | fi 17 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 18 | http_response "$1" 19 | ;; 20 | esac -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_debug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export KSROOT=/koolshare 4 | source $KSROOT/scripts/base.sh 5 | SOFT_DIR=/koolshare 6 | KP_DIR=$SOFT_DIR/koolproxyR 7 | eval `dbus export koolproxyR_` 8 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 9 | LOG_FILE=/tmp/upload/kpr_log.txt 10 | echo "" > $LOG_FILE 11 | 12 | kill_kpr() { 13 | echo_date 关闭koolproxyR主进程... 14 | kill -9 `pidof koolproxy` >/dev/null 2>&1 15 | killall koolproxy >/dev/null 2>&1 16 | kpr_status 17 | } 18 | 19 | kpr_status() { 20 | # kpr运行状态判断 21 | sleep 1 22 | status=`ps | grep koolproxy | grep -v grep | wc -l` 23 | if [[ "$status" == "0" ]]; then 24 | echo_date koolproxyR主进程已关闭... 25 | else 26 | echo_date koolproxyR主进程已启动... 27 | fi 28 | } 29 | 30 | kpr_debug_0() { 31 | dbus set koolproxyR_debug_0=1 32 | koolproxyR_debug_status=`ps | grep koolproxy | grep 3001 | cut -d S -f2 | sed -n '1p'` 33 | if [[ "$koolproxyR_debug_status" == "" ]]; then 34 | echo_date "检测到kpr未运行,退出调试" 35 | exit 3 36 | fi 37 | echo "$koolproxyR_debug_status >> /tmp/upload/kpr_log.txt" > /tmp/upload/kpr_status.sh 38 | koolproxyR_debug_0=`dbus get koolproxyR_debug_0` 39 | while [ $koolproxyR_debug_0 = 1 ];do 40 | user_txt_md5_new=`md5sum /koolshare/koolproxyR/data/rules/user.txt | cut -d \ -f1` 41 | if [[ "$user_txt_md5_new" != "$user_txt_md5_old" ]]; then 42 | echo_date 关闭koolproxyR主进程... 43 | kill -9 `pidof koolproxy` >/dev/null 2>&1 44 | killall koolproxy >/dev/null 2>&1 45 | kpr_status 46 | cd $KP_DIR 47 | nohup sh /tmp/upload/kpr_status.sh >/dev/null 2>&1 48 | echo_date "检测到user.txt规则已改变,已重启kpr" 49 | dbus set koolproxyR_custom_rule=`cat /koolshare/koolproxyR//data/rules/user.txt | base64_encode` 50 | user_txt_md5_old=`md5sum /koolshare/koolproxyR/data/rules/user.txt | cut -d \ -f1` 51 | kpr_status 52 | fi 53 | koolproxyR_debug_0=`dbus get koolproxyR_debug_0` 54 | done 55 | } 56 | 57 | kpr_debug_1() { 58 | dbus set koolproxyR_debug_0=0 59 | kill_kpr 60 | echo_date "kpr debug-info模式启动" 61 | koolproxy -l 1 --ttl 188 --ttlport 3001 --ipv6 62 | echo_date "如果您需要查看https流量,请在【访问控制】中指定【HTTP/HTTPS双过滤模式】" 63 | kpr_status 64 | } 65 | 66 | kpr_debug_2() { 67 | dbus set koolproxyR_debug_0=0 68 | kill_kpr 69 | echo_date "kpr debug-ad模式启动" 70 | koolproxy -l 2 --ttl 188 --ttlport 3001 --ipv6 71 | kpr_status 72 | } 73 | 74 | kpr_debug_3() { 75 | dbus set koolproxyR_debug_0=0 76 | kill_kpr 77 | echo_date "kpr debug-全调试模式启动" 78 | koolproxy -l 0 --ttl 188 --ttlport 3001 --ipv6 79 | kpr_status 80 | } 81 | 82 | kpr_debug_4() { 83 | dbus set koolproxyR_debug_0=0 84 | kill_kpr 85 | echo_date "关闭dbug调试" 86 | cd $KP_DIR && koolproxy -d --ttl 188 --ttlport 3001 --ipv6 87 | kpr_status 88 | } 89 | 90 | # $2 表示传入的第2个参数 例如 debug.sh abc 123 中的123 $1 就是 abc 91 | case $2 in 92 | 0) 93 | kpr_debug_0 >> $LOG_FILE 94 | http_response "$1" 95 | ;; 96 | 1) 97 | kpr_debug_1 >> $LOG_FILE 98 | http_response "$1" 99 | ;; 100 | 2) 101 | kpr_debug_2 >> $LOG_FILE 102 | http_response "$1" 103 | ;; 104 | 3) 105 | kpr_debug_3 >> $LOG_FILE 106 | http_response "$1" 107 | ;; 108 | 4) 109 | kpr_debug_4 >> $LOG_FILE 110 | http_response "$1" 111 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 112 | ;; 113 | esac 114 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_getarp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export KSROOT=/koolshare 4 | source $KSROOT/scripts/base.sh 5 | arp=`arp | grep br-lan | grep -v ? |sed 's// /g'| sed 's/ (/#g'` 6 | 7 | if [ -n "$arp" ]; then 8 | dbus set koolproxyR_arp="$arp" 9 | fi 10 | 11 | http_response "$arp" 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_rule_update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export KSROOT=/koolshare 3 | source $KSROOT/scripts/base.sh 4 | eval `dbus export koolproxyR_` 5 | alias echo_date='echo $(date +%Y年%m月%d日\ %X):' 6 | 7 | url_cjx="https://shaoxia1991.coding.net/p/cjxlist/d/cjxlist/git/raw/master/cjx-annoyance.txt" 8 | url_kp="https://houzi-.coding.net/p/my_dream/d/my_dream/git/raw/master/kp.dat" 9 | url_kp_md5="https://houzi-.coding.net/p/my_dream/d/my_dream/git/raw/master/kp.dat.md5" 10 | url_koolproxy="https://houzi-.coding.net/p/my_dream/d/my_dream/git/raw/master/koolproxy.txt" 11 | url_daily="https://houzi-.coding.net/p/my_dream/d/my_dream/git/raw/master/daily.txt" 12 | # 原网址跳转到https://kprule.com/koolproxy.txt跳转到又拍云,为了节省时间,还是直接去又拍云下载吧!避免某些时候跳转不过去 13 | url_easylist="https://easylist-downloads.adblockplus.org/easylistchina.txt" 14 | url_yhosts="https://shaoxia1991.coding.net/p/yhosts/d/yhosts/git/raw/master/hosts" 15 | url_yhosts1="https://shaoxia1991.coding.net/p/yhosts/d/yhosts/git/raw/master/data/tvbox.txt" 16 | kpr_our_rule="https://shaoxia1991.coding.net/p/koolproxyR_rule_list/d/koolproxyR_rule_list/git/raw/master/kpr_our_rule.txt" 17 | kp_our_rule="https://kt-wong.coding.net/p/KPR/d/KPR/git/raw/master/kpr_rule.txt" 18 | # 检测是否开启fanboy全功能版本 19 | if [[ "$koolproxyR_fanboy_rules" == "1" ]]; then 20 | 21 | 22 | url_fanboy="https://secure.fanboy.co.nz/fanboy-annoyance.txt" 23 | fi 24 | if [[ "$koolproxyR_fanboy_rules" == "2" ]]; then 25 | url_fanboy="https://secure.fanboy.co.nz/r/fanboy-complete.txt" 26 | 27 | fi 28 | update_rule(){ 29 | echo_date ======================================================================================================= 30 | echo_date 开始更新koolproxyR的规则,请等待... 31 | # 赋予文件夹权限 32 | chmod -R 777 /koolshare/koolproxyR/data/rules 33 | # update 中国简易列表 2.0 34 | if [[ "$koolproxyR_basic_easylist_update" == "1" ]]; then 35 | if [[ "$koolproxyR_easylist_rules" == "1" ]]; then 36 | echo_date " ---------------------------------------------------------------------------------------" 37 | # wget --no-check-certificate --timeout=8 -qO - $url_easylist > /tmp/easylistchina.txt 38 | for i in {1..5}; do 39 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/easylistchina.txt $url_easylist 40 | easylistchina_rule_nu_local=`grep -E -v "^!" /tmp/easylistchina.txt | wc -l` 41 | if [[ "$easylistchina_rule_nu_local" -gt 5000 ]]; then 42 | break 43 | else 44 | echo_date easylistchina规则文件下载失败 45 | koolproxyR_basic_easylist_failed=1 46 | fi 47 | done 48 | for i in {1..5}; do 49 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/cjx-annoyance.txt $url_cjx 50 | cjx_rule_nu_local=`grep -E -v "^!" /tmp/cjx-annoyance.txt | wc -l` 51 | if [[ "$cjx_rule_nu_local" -gt 500 ]]; then 52 | break 53 | else 54 | echo_date cjx-annoyance规则文件下载失败 55 | koolproxyR_basic_easylist_failed=1 56 | fi 57 | done 58 | for i in {1..5}; do 59 | wget -4 -a /tmp/upload/kpr_log.txt -O $KSROOT/koolproxyR/data/rules/kpr_our_rule.txt $kpr_our_rule 60 | kpr_our_rule_nu_local=`grep -E -v "^!" $KSROOT/koolproxyR/data/rules/kpr_our_rule.txt | wc -l` 61 | if [[ "$kpr_our_rule_nu_local" -gt 500 ]]; then 62 | break 63 | else 64 | echo_date kpr_our_rule规则文件下载失败 65 | koolproxyR_basic_easylist_failed=1 66 | fi 67 | done 68 | # expr 进行运算,将统计到的规则条数相加 如果条数大于 10000 条就说明下载完毕 69 | easylistchina_rule_local=`expr $kpr_our_rule_nu_local + $cjx_rule_nu_local + $easylistchina_rule_nu_local` 70 | cat /tmp/cjx-annoyance.txt >> /tmp/easylistchina.txt 71 | rm /tmp/cjx-annoyance.txt 72 | easylist_rules_local=`cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | sed -n '3p'|awk '{print $3,$4}'` 73 | easylist_rules_local1=`cat /tmp/easylistchina.txt | sed -n '3p'|awk '{print $3,$4}'` 74 | 75 | echo_date KPR主规则的本地版本号: $easylist_rules_local 76 | echo_date KPR主规则的在线版本号: $easylist_rules_local1 77 | if [[ "$koolproxyR_basic_easylist_failed" != "1" ]]; then 78 | if [[ "$easylistchina_rule_local" -gt 10000 ]]; then 79 | if [[ "$easylist_rules_local" != "$easylist_rules_local1" ]]; then 80 | echo_date 检测到 KPR主规则 已更新,现在开始更新... 81 | echo_date 将临时的KPR主规则文件移动到指定位置 82 | mv /tmp/easylistchina.txt $KSROOT/koolproxyR/data/rules/easylistchina.txt 83 | koolproxyR_https_ChinaList=1 84 | else 85 | echo_date 检测到 KPR主规则本地版本号和在线版本号相同,那还更新个毛啊! 86 | fi 87 | fi 88 | else 89 | echo_date KPR主规则文件下载失败! 90 | fi 91 | fi 92 | else 93 | echo_date 未打开 KPR主规则 的更新开关! 94 | fi 95 | if [[ "$koolproxyR_basic_easylist_update" == "1" ]]; then 96 | if [[ "$koolproxyR_easylist_rules" == "2" -o "$koolproxyR_easylist_rules" == "3" ]]; then 97 | echo_date " ---------------------------------------------------------------------------------------" 98 | # wget --no-check-certificate --timeout=8 -qO - $url_easylist > /tmp/easylistchina.txt 99 | for i in {1..5}; do 100 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/koolproxy.txt $url_koolproxy 101 | easylistchina_rule_nu_local=`grep -E -v "^!" /tmp/koolproxy.txt | wc -l` 102 | if [[ "$easylistchina_rule_nu_local" -gt 5000 ]]; then 103 | break 104 | else 105 | echo_date koolporxy规则文件下载失败 106 | koolproxyR_basic_easylist_failed=1 107 | fi 108 | done 109 | for i in {1..5}; do 110 | wget -4 -a /tmp/upload/kpr_log.txt -O $KSROOT/koolproxyR/data/rules/daily.txt $url_daily 111 | cjx_rule_nu_local=`grep -E -v "^!" $KSROOT/koolproxyR/data/rules/daily.txt | wc -l` 112 | if [[ "$cjx_rule_nu_local" -gt 200 ]]; then 113 | break 114 | else 115 | echo_date daily规则文件下载失败 116 | koolproxyR_basic_easylist_failed=1 117 | fi 118 | done 119 | for i in {1..5}; do 120 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/kp_our_rule.txt $kp_our_rule 121 | kpr_our_rule_nu_local=`grep -E -v "^!" /tmp/kp_our_rule.txt | wc -l` 122 | if [[ "$kpr_our_rule_nu_local" -gt 50 ]]; then 123 | break 124 | else 125 | echo_date kp_our_rule规则文件下载失败 126 | koolproxyR_basic_easylist_failed=1 127 | fi 128 | done 129 | # expr 进行运算,将统计到的规则条数相加 如果条数大于 10000 条就说明下载完毕 130 | easylistchina_rule_local=`expr $kpr_our_rule_nu_local + $cjx_rule_nu_local + $easylistchina_rule_nu_local` 131 | cat /tmp/kp_our_rule.txt >> /tmp/koolproxy.txt 132 | rm /tmp/kp_our_rule.txt 133 | easylist_rules_local=`cat $KSROOT/koolproxyR/data/rules/koolproxy.txt | sed -n '3p'|awk '{print $3,$4}'` 134 | easylist_rules_local1=`cat /tmp/koolproxy.txt | sed -n '3p'|awk '{print $3,$4}'` 135 | 136 | echo_date KP主规则的本地版本号: $easylist_rules_local 137 | echo_date KP主规则的在线版本号: $easylist_rules_local1 138 | if [[ "$koolproxyR_basic_easylist_failed" != "1" ]]; then 139 | if [[ "$easylistchina_rule_local" -gt 6000 ]]; then 140 | if [[ "$easylist_rules_local" != "$easylist_rules_local1" ]]; then 141 | echo_date 检测到 KP主规则 已更新,现在开始更新... 142 | echo_date 将临时的KP主规则文件移动到指定位置 143 | mv /tmp/koolproxy.txt $KSROOT/koolproxyR/data/rules/koolproxy.txt 144 | 145 | else 146 | echo_date 检测到 KP主规则本地版本号和在线版本号相同,那还更新个毛啊! 147 | fi 148 | fi 149 | else 150 | echo_date KP主规则文件下载失败! 151 | fi 152 | fi 153 | else 154 | echo_date 未打开 KP主规则 的更新开关! 155 | fi 156 | 157 | # update 补充规则 158 | if [[ "$koolproxyR_basic_replenish_update" == "1" ]]; then 159 | echo_date " ---------------------------------------------------------------------------------------" 160 | for i in {1..5}; do 161 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/yhosts.txt $url_yhosts 162 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/tvbox.txt $url_yhosts1 163 | cat /tmp/tvbox.txt >> /tmp/yhosts.txt 164 | replenish_rules_local=`cat $KSROOT/koolproxyR/data/rules/yhosts.txt | sed -n '2p' | cut -d "=" -f2` 165 | replenish_rules_local1=`cat /tmp/yhosts.txt | sed -n '2p' | cut -d "=" -f2` 166 | mobile_nu_local=`grep -E -v "^!" /tmp/yhosts.txt | wc -l` 167 | echo_date 补充规则本地版本号: $replenish_rules_local 168 | echo_date 补充规则在线版本号: $replenish_rules_local1 169 | if [[ "$mobile_nu_local" -gt 5000 ]]; then 170 | if [[ "$replenish_rules_local" != "$replenish_rules_local1" ]]; then 171 | echo_date 将临时文件覆盖到原始 补充规则 文件 172 | mv /tmp/yhosts.txt $KSROOT/koolproxyR/data/rules/yhosts.txt 173 | koolproxyR_https_mobile=1 174 | break 175 | else 176 | echo_date 检测到 补充规则 本地版本号和在线版本号相同,那还更新个毛啊! 177 | fi 178 | else 179 | echo_date 补充规则文件下载失败! 180 | fi 181 | done 182 | else 183 | echo_date 未打开 补充规则 的更新开关! 184 | fi 185 | 186 | # update 视频规则 187 | if [[ "$koolproxyR_basic_video_update" == "1" ]] || [[ -n "$1" ]]; then 188 | echo_date " ---------------------------------------------------------------------------------------" 189 | for i in {1..5}; do 190 | kpr_video_md5=`md5sum $KSROOT/koolproxyR/data/rules/kp.dat | awk '{print $1}'` 191 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/kp.dat.md5 $url_kp_md5 192 | kpr_video_new_md5=`cat /tmp/kp.dat.md5 | sed -n '1p'` 193 | echo_date 远程视频规则md5:$kpr_video_new_md5 194 | echo_date 您本地视频规则md5:$kpr_video_md5 195 | 196 | if [[ "$kpr_video_md5" != "$kpr_video_new_md5" ]]; then 197 | echo_date 检测到新版视频规则.开始更新.......... 198 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/kp.dat $url_kp 199 | kpr_video_download_md5=`md5sum /tmp/kp.dat | awk '{print $1}'` 200 | echo_date 您下载的视频规则md5:$kpr_video_download_md5 201 | if [[ "$kpr_video_download_md5" == "$kpr_video_new_md5" ]]; then 202 | echo_date 将临时文件覆盖到原始 视频规则 文件 203 | mv /tmp/kp.dat $KSROOT/koolproxyR/data/rules/kp.dat 204 | mv /tmp/kp.dat.md5 $KSROOT/koolproxyR/data/rules/kp.dat.md5 205 | 206 | video_rules_local=`cat $KSROOT/koolproxyR/data/rules/kp.dat.md5 | sed -n '2p'` 207 | if [[ "$video_rules_local" == "" ]]; then 208 | # 当本地md5 没有时间戳的时候就更新更新时间戳 209 | video_rules_online=`curl https://houzi-.coding.net/api/user/houzi-/project/my_dream/depot/my_dream/git/blob/master%2Fkp.dat | jq '.data.file.lastCommitDate'` 210 | date -d @`echo ${video_rules_online:0:10}` +%Y年%m月%d日\ %X >> $KSROOT/koolproxyR/data/rules/kp.dat.md5 211 | fi 212 | break 213 | else 214 | echo_date 视频规则md5校验不通过... 215 | fi 216 | else 217 | echo_date 检测到 视频规则 本地版本号和在线版本号相同,那还更新个毛啊! 218 | fi 219 | done 220 | else 221 | echo_date 未打开 视频规则 的更新开关! 222 | fi 223 | 224 | # update fanboy规则 225 | if [[ "$koolproxyR_basic_fanboy_update" == "1" ]]; then 226 | echo_date " ---------------------------------------------------------------------------------------" 227 | for i in {1..5}; do 228 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/fanboy-annoyance.txt $url_fanboy 229 | # wget --no-check-certificate --timeout=8 -qO - $url_fanboy > /tmp/fanboy-annoyance.txt 230 | # 检测是否开启fanboy 全规则版本 231 | if [[ "$koolproxyR_fanboy_all_rules" == "1" ]]; then 232 | fanboy_rules_local=`cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | sed -n '4p'|awk '{print $3,$4}'` 233 | fanboy_rules_local1=`cat /tmp/fanboy-annoyance.txt | sed -n '4p'|awk '{print $3,$4}'` 234 | else 235 | fanboy_rules_local=`cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | sed -n '3p'|awk '{print $3,$4}'` 236 | fanboy_rules_local1=`cat /tmp/fanboy-annoyance.txt | sed -n '3p'|awk '{print $3,$4}'` 237 | fi 238 | fanboy_nu_local=`grep -E -v "^!" /tmp/fanboy-annoyance.txt | wc -l` 239 | 240 | echo_date fanboy规则本地版本号: $fanboy_rules_local 241 | echo_date fanboy规则在线版本号: $fanboy_rules_local1 242 | if [[ "$fanboy_nu_local" -gt 15000 ]]; then 243 | if [[ "$fanboy_rules_local" != "$fanboy_rules_local1" ]]; then 244 | echo_date 检测到新版本 fanboy规则 列表,开始更新... 245 | echo_date 将临时文件覆盖到原始 fanboy规则 文件 246 | mv /tmp/fanboy-annoyance.txt $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 247 | koolproxyR_https_fanboy=1 248 | break 249 | else 250 | echo_date 检测到 fanboy规则 本地版本号和在线版本号相同,那还更新个毛啊! 251 | fi 252 | else 253 | echo_date fanboy规则 文件下载失败! 254 | fi 255 | done 256 | else 257 | echo_date 未打开 fanboy规则 的更新开关! 258 | fi 259 | 260 | rm -rf /tmp/fanboy-annoyance.txt 261 | rm -rf /tmp/yhosts.txt 262 | rm -rf /tmp/easylistchina.txt 263 | 264 | if [[ "$koolproxyR_https_fanboy" == "1" ]]; then 265 | echo_date 正在优化 fanboy规则。。。。。 266 | # 删除导致KP崩溃的规则 267 | # 听说高手?都打的很多、这样才能体现技术 268 | sed -i '/^\$/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 269 | sed -i '/\*\$/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 270 | # 给三大视频网站放行 由kp.dat负责 271 | sed -i '/youku.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 272 | sed -i '/iqiyi.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 273 | sed -i '/qq.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 274 | sed -i '/g.alicdn.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 275 | sed -i '/tudou.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 276 | sed -i '/gtimg.cn/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 277 | # 给知乎放行 278 | sed -i '/zhihu.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 279 | 280 | 281 | # 将规则转化成kp能识别的https 282 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep "^||" | sed 's#^||#||https://#g' >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 283 | # 移出https不支持规则domain= 284 | sed -i 's/\(,domain=\).*//g' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 285 | sed -i 's/\(\$domain=\).*//g' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 286 | sed -i 's/\(domain=\).*//g' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 287 | sed -i '/\^$/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 288 | sed -i '/\^\*\.gif/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 289 | sed -i '/\^\*\.jpg/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 290 | 291 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep "^||" | sed 's#^||#||http://#g' >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 292 | 293 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#https://#g' >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 294 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#http://#g' >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 295 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep -i '^[0-9a-z]'| grep -i '^http' >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 296 | 297 | 298 | # 给github放行 299 | sed -i '/github/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 300 | # 给api.twitter.com的https放行 301 | sed -i '/twitter.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 302 | # 给facebook.com的https放行 303 | sed -i '/facebook.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 304 | sed -i '/fbcdn.net/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 305 | # 给 instagram.com 放行 306 | sed -i '/instagram.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 307 | # 给 twitch.tv 放行 308 | sed -i '/twitch.tv/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 309 | # 删除可能导致卡顿的HTTPS规则 310 | sed -i '/\.\*\//d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 311 | # 给国内三大电商平台放行 312 | sed -i '/jd.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 313 | sed -i '/taobao.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 314 | sed -i '/tmall.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt 315 | 316 | # 删除不必要信息重新打包 15 表示从第15行开始 $表示结束 317 | sed -i '15,$d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 318 | # 合二归一 319 | cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance_https.txt >> $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 320 | # 删除可能导致kpr卡死的神奇规则 321 | sed -i '/https:\/\/\*/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 322 | # 给 netflix.com 放行 323 | sed -i '/netflix.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 324 | # 给 tvbs.com 放行 325 | sed -i '/tvbs.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 326 | sed -i '/googletagmanager.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 327 | # 给 microsoft.com 放行 328 | sed -i '/microsoft.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 329 | # 给apple的https放行 330 | sed -i '/apple.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 331 | sed -i '/mzstatic.com/d' $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 332 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 333 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 334 | koolproxyR_del_rule=1 335 | while [ $koolproxyR_del_rule = 1 ];do 336 | del_rule=`cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 337 | if [[ "$del_rule" != "" ]]; then 338 | sed -i "${del_rule}d" $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt 339 | else 340 | koolproxyR_del_rule=0 341 | fi 342 | done 343 | 344 | 345 | else 346 | echo_date 跳过优化 fanboy规则。。。。。 347 | fi 348 | 349 | 350 | 351 | if [[ "$koolproxyR_https_ChinaList" == "1" ]]; then 352 | echo_date 正在优化 KPR主规则。。。。。 353 | sed -i '/^\$/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 354 | sed -i '/\*\$/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 355 | # 给btbtt.替换过滤规则。 356 | sed -i 's#btbtt.\*#\*btbtt.\*#g' $KSROOT/koolproxyR/data/rules/easylistchina.txt 357 | # 给手机百度图片放行 358 | sed -i '/baidu.com\/it\/u/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 359 | # # 给手机百度放行 360 | # sed -i '/mbd.baidu.comd' $KSROOT/koolproxyR/data/rules/easylistchina.txt 361 | # 给知乎放行 362 | sed -i '/zhihu.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 363 | # 给apple的https放行 364 | sed -i '/apple.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 365 | sed -i '/mzstatic.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 366 | 367 | 368 | 369 | # 将规则转化成kp能识别的https 370 | cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep "^||" | sed 's#^||#||https://#g' >> $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 371 | # 移出https不支持规则domain= 372 | sed -i 's/\(,domain=\).*//g' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 373 | sed -i 's/\(\$domain=\).*//g' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 374 | sed -i 's/\(domain=\).*//g' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 375 | sed -i '/\^$/d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 376 | sed -i '/\^\*\.gif/d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 377 | sed -i '/\^\*\.jpg/d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 378 | 379 | 380 | 381 | cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep "^||" | sed 's#^||#||http://#g' >> $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 382 | 383 | cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#https://#g' >> $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 384 | cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep -i '^[0-9a-z]'| grep -v '^http'| sed 's#^#http://#g' >> $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 385 | cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep -i '^[0-9a-z]'| grep -i '^http' >> $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 386 | # 给facebook.com的https放行 387 | sed -i '/facebook.com/d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 388 | sed -i '/fbcdn.net/d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 389 | # 删除可能导致卡顿的HTTPS规则 390 | sed -i '/\.\*\//d' $KSROOT/koolproxyR/data/rules/easylistchina_https.txt 391 | 392 | 393 | 394 | # 删除不必要信息重新打包 15 表示从第15行开始 $表示结束 395 | sed -i '6,$d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 396 | # 合二归一 397 | cat $KSROOT/koolproxyR/data/rules/easylistchina_https.txt >> $KSROOT/koolproxyR/data/rules/easylistchina.txt 398 | # 给三大视频网站放行 由kp.dat负责 399 | sed -i '/youku.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 400 | sed -i '/iqiyi.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 401 | sed -i '/g.alicdn.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 402 | sed -i '/tudou.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 403 | sed -i '/gtimg.cn/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 404 | # 给https://qq.com的html规则放行 405 | sed -i '/qq.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 406 | # 删除可能导致kpr卡死的神奇规则 407 | sed -i '/https:\/\/\*/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 408 | # 给国内三大电商平台放行 409 | sed -i '/jd.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 410 | sed -i '/taobao.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 411 | sed -i '/tmall.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 412 | # 给 netflix.com 放行 413 | sed -i '/netflix.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 414 | # 给 tvbs.com 放行 415 | sed -i '/tvbs.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 416 | sed -i '/googletagmanager.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 417 | # 给 microsoft.com 放行 418 | sed -i '/microsoft.com/d' $KSROOT/koolproxyR/data/rules/easylistchina.txt 419 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 420 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 421 | koolproxyR_del_rule=1 422 | while [ $koolproxyR_del_rule = 1 ];do 423 | del_rule=`cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 424 | if [[ "$del_rule" != "" ]]; then 425 | sed -i "${del_rule}d" $KSROOT/koolproxyR/data/rules/easylistchina.txt 426 | else 427 | koolproxyR_del_rule=0 428 | fi 429 | done 430 | cat $KSROOT/koolproxyR/data/rules/kpr_our_rule.txt >> $KSROOT/koolproxyR/data/rules/easylistchina.txt 431 | 432 | else 433 | echo_date 跳过优化 KPR主规则。。。。。 434 | fi 435 | 436 | 437 | if [[ "$koolproxyR_https_mobile" == "1" ]]; then 438 | # 删除不必要信息重新打包 0-11行 表示从第15行开始 $表示结束 439 | # sed -i '1,11d' $KSROOT/koolproxyR/data/rules/yhosts.txt 440 | echo_date 正在优化 补充规则yhosts。。。。。 441 | 442 | # 开始Kpr规则化处理 443 | cat $KSROOT/koolproxyR/data/rules/yhosts.txt > $KSROOT/koolproxyR/data/rules/yhosts_https.txt 444 | sed -i 's/^127.0.0.1\ /||https:\/\//g' $KSROOT/koolproxyR/data/rules/yhosts_https.txt 445 | cat $KSROOT/koolproxyR/data/rules/yhosts.txt >> $KSROOT/koolproxyR/data/rules/yhosts_https.txt 446 | sed -i 's/^127.0.0.1\ /||http:\/\//g' $KSROOT/koolproxyR/data/rules/yhosts_https.txt 447 | # 处理tvbox.txt本身规则。 448 | sed -i 's/^127.0.0.1\ /||/g' /tmp/tvbox.txt 449 | # 合二归一 450 | cat $KSROOT/koolproxyR/data/rules/yhosts_https.txt > $KSROOT/koolproxyR/data/rules/yhosts.txt 451 | cat /tmp/tvbox.txt >> $KSROOT/koolproxyR/data/rules/yhosts.txt 452 | rm -rf /tmp/tvbox.txt 453 | 454 | 455 | # 此处对yhosts进行单独处理 456 | sed -i 's/^@/!/g' $KSROOT/koolproxyR/data/rules/yhosts.txt 457 | sed -i 's/^#/!/g' $KSROOT/koolproxyR/data/rules/yhosts.txt 458 | sed -i '/localhost/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 459 | sed -i '/broadcasthost/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 460 | sed -i '/broadcasthost/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 461 | sed -i '/cn.bing.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 462 | # 给三大视频网站放行 由kp.dat负责 463 | sed -i '/youku.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 464 | sed -i '/iqiyi.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 465 | sed -i '/g.alicdn.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 466 | sed -i '/tudou.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 467 | sed -i '/gtimg.cn/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 468 | 469 | 470 | # 给知乎放行 471 | sed -i '/zhihu.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 472 | # 给https://qq.com的html规则放行 473 | sed -i '/qq.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 474 | # 给github的https放行 475 | sed -i '/github/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 476 | # 给apple的https放行 477 | sed -i '/apple.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 478 | sed -i '/mzstatic.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 479 | # 给api.twitter.com的https放行 480 | sed -i '/twitter.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 481 | # 给facebook.com的https放行 482 | sed -i '/facebook.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 483 | sed -i '/fbcdn.net/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 484 | # 给 instagram.com 放行 485 | sed -i '/instagram.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 486 | # 删除可能导致kpr卡死的神奇规则 487 | sed -i '/https:\/\/\*/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 488 | # 给国内三大电商平台放行 489 | sed -i '/jd.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 490 | sed -i '/taobao.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 491 | sed -i '/tmall.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 492 | # 给 netflix.com 放行 493 | sed -i '/netflix.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 494 | # 给 tvbs.com 放行 495 | sed -i '/tvbs.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 496 | sed -i '/googletagmanager.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 497 | # 给 microsoft.com 放行 498 | sed -i '/microsoft.com/d' $KSROOT/koolproxyR/data/rules/yhosts.txt 499 | # 终极 https 卡顿优化 grep -n 显示行号 awk -F 分割数据 sed -i "${del_rule}d" 需要""" 和{}引用变量 500 | # 当 koolproxyR_del_rule 是1的时候就一直循环,除非 del_rule 变量为空了。 501 | koolproxyR_del_rule=1 502 | while [ $koolproxyR_del_rule = 1 ];do 503 | del_rule=`cat $KSROOT/koolproxyR/data/rules/yhosts.txt | grep -n 'https://' | grep '\*' | grep -v '/\*'| grep -v '\^\*' | grep -v '\*\=' | grep -v '\$s\@' | grep -v '\$r\@'| awk -F":" '{print $1}' | sed -n '1p'` 504 | if [[ "$del_rule" != "" ]]; then 505 | sed -i "${del_rule}d" $KSROOT/koolproxyR/data/rules/yhosts.txt 506 | else 507 | koolproxyR_del_rule=0 508 | fi 509 | done 510 | 511 | 512 | else 513 | echo_date 跳过优化 补充规则yhosts。。。。。 514 | fi 515 | # 删除临时文件 516 | rm $KSROOT/koolproxyR/data/rules/*_https.txt 517 | rm $KSROOT/koolproxyR/data/rules/kpr_our_rule.txt 518 | 519 | 520 | 521 | echo_date 所有规则更新并优化完毕! 522 | 523 | echo_date 自动重启koolproxyR,以应用新的规则文件!请稍后! 524 | sh $KSROOT/koolproxyR/kpr_config.sh restart 525 | echo_date ======================================================================================================= 526 | } 527 | 528 | 529 | case $2 in 530 | 5) 531 | update_rule "$1" > /tmp/upload/kpr_log.txt 532 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 533 | http_response "$1" 534 | ;; 535 | *) 536 | # 此次由于定时任务无法产生随机Id,所以直接判断$1. 537 | if [[ "$1" == "update" ]]; then 538 | # 此处生产随机的三位数 用来缓解瞬间产生大量请求导致服务器拒绝的情况。 539 | sleep_time=`tr -cd 0-9 /tmp/upload/kpr_log.txt 542 | echo_date "本次自动更新等待了 $sleep_time 秒" >> /tmp/upload/kpr_log.txt 543 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 544 | http_response "$1" 545 | fi 546 | ;; 547 | esac 548 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_rules_status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | alias echo_date1='echo $(date +%Y年%m月%d日\ %X)' 4 | export KSROOT=/koolshare 5 | source $KSROOT/scripts/base.sh 6 | eval `dbus export koolproxyR_` 7 | 8 | version=`koolproxy -v` 9 | status=`ps|grep -w koolproxy | grep -cv grep` 10 | date=`echo_date1` 11 | pid=`pidof koolproxy` 12 | 13 | 14 | if [[ "$koolproxyR_easylist_rules" == "1" ]]; then 15 | easylist_rules_local=`cat $KSROOT/koolproxyR/data/rules/easylistchina.txt | sed -n '3p'|awk '{print $3,$4}'` 16 | fi 17 | if [[ "$koolproxyR_easylist_rules" == "2" -o "$koolproxyR_easylist_rules" == "3" ]]; then 18 | easylist_rules_local=`cat $KSROOT/koolproxyR/data/rules/koolproxy.txt | sed -n '3p'|awk '{print $3,$4}'` 19 | fi 20 | easylist_nu_local=`grep -E -v "^!" $KSROOT/koolproxyR/data/rules/easylistchina.txt | wc -l` 21 | # 补充规则版本号暂时没有 22 | replenish_rules_local=`cat $KSROOT/koolproxyR/data/rules/yhosts.txt | sed -n '2p' | cut -d "=" -f2` 23 | replenish_nu_local=`grep -E -v "^!" $KSROOT/koolproxyR/data/rules/yhosts.txt | wc -l` 24 | fanboy_nu_local=`grep -E -v "^!" $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | wc -l` 25 | # 检测是否开启fanboy 全规则版本 26 | if [ "$koolproxyR_fanboy_rules" == "2" ]; then 27 | fanboy_rules_local=`cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | sed -n '4p'|awk '{print $3,$4}'` 28 | 29 | 30 | fi 31 | # 加载普通fanboy规则 32 | if [ "$koolproxyR_fanboy_rules" != "3" ]; then 33 | 34 | 35 | fanboy_rules_local=`cat $KSROOT/koolproxyR/data/rules/fanboy-annoyance.txt | sed -n '3p'|awk '{print $3,$4}'` 36 | fi 37 | # 从此由kpr自己更新视频规则 38 | video_rules_local=`cat $KSROOT/koolproxyR/data/rules/kp.dat.md5 | sed -n '2p'` 39 | # video_nu_local=`cat $KSROOT/koolproxyR/data/rules/kp.dat.md5 | sed -n '3p'` 40 | 41 | if [ "$koolproxyR_enable" == "1" ]; then 42 | if [ "$koolproxyR_easylist_rules" != "4" -o "$koolproxyR_video_rules" == "1" -o "$koolproxyR_replenish_rules" == "1" -o "$koolproxyR_fanboy_rules" != "3" ]; then 43 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_video_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 44 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    视频规则版本号:$video_rules_local     Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 45 | return 0 46 | fi 47 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_video_rules" == "1" ]; then 48 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    视频规则版本号:$video_rules_local     " 49 | return 0 50 | fi 51 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 52 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 53 | return 0 54 | fi 55 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_video_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 56 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    视频规则版本号:$video_rules_local     Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 57 | return 0 58 | fi 59 | if [ "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_video_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 60 | http_response "补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    视频规则版本号:$video_rules_local     Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 61 | return 0 62 | fi 63 | 64 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_replenish_rules" == "1" ]; then 65 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条" 66 | return 0 67 | fi 68 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_video_rules" == "1" ]; then 69 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    视频规则版本号:$video_rules_local " 70 | return 0 71 | fi 72 | if [ "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_video_rules" == "1" ]; then 73 | http_response "补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    视频规则版本号:$video_rules_local " 74 | return 0 75 | fi 76 | if [ "$koolproxyR_replenish_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 77 | http_response "补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条    Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 78 | return 0 79 | fi 80 | 81 | if [ "$koolproxyR_easylist_rules" != "4" -a "$koolproxyR_fanboy_rules" != "3" ]; then 82 | http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条    Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 83 | return 0 84 | fi 85 | if [ "$koolproxyR_video_rules" == "1" -a "$koolproxyR_fanboy_rules" != "3" ]; then 86 | http_response "视频规则已加载    Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 87 | return 0 88 | fi 89 | [ "$koolproxyR_replenish_rules" == "1" ] && http_response "补充规则版本号:$replenish_rules_local /合计 $replenish_nu_local条" 90 | [ "$koolproxyR_easylist_rules" != "4" ] && http_response "主规则版本号:$easylist_rules_local /合计 $easylist_nu_local条" 91 | [ "$koolproxyR_video_rules" == "1" ] && http_response "视频规则已加载" 92 | [ "$koolproxyR_fanboy_rules" != "3" ] && http_response "Fanboy规则版本号:$fanboy_rules_local /合计 $fanboy_nu_local条" 93 | else 94 | http_response "未加载!" 95 | fi 96 | else 97 | http_response "KoolProxyR未开启...." 98 | fi 99 | 100 | 101 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | alias echo_date1='echo $(date +%Y年%m月%d日\ %X)' 3 | export KSROOT=/koolshare 4 | source $KSROOT/scripts/base.sh 5 | eval `dbus export koolproxyR_` 6 | date=`echo_date1` 7 | version=`dbus get koolproxyR_version` 8 | status=`ps | grep koolproxy | grep -v grep | wc -l` 9 | koolproxyR_installing_version=`dbus get koolproxyR_new_install_version` 10 | 11 | if [[ "$status" -ge "1" ]]; then 12 | http_response " 【$date】 正在运行KoolProxyR $version / 线上最新版本为: $koolproxyR_installing_version @@绿坝规则:$rules_date_local / $rules_nu_local条" 13 | else 14 | http_response "【警告】:KoolProxyR未运行! @@未加载!" 15 | fi 16 | 17 | -------------------------------------------------------------------------------- /koolproxyR/scripts/KoolProxyR_update_now.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export soft_name=koolproxyR.tar.gz 3 | alias echo_date1='echo $(date +%Y年%m月%d日\ %X)' 4 | 5 | 6 | update_kpr(){ 7 | echo_date1 ====================== 开始检查更新 =========================== 8 | url_version="https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/version" 9 | wget --no-check-certificate --timeout=8 -qO - $url_version > /tmp/koolproxyR_version 10 | koolproxyR_installing_md5=`cat /tmp/koolproxyR_version | sed -n '2p'` 11 | koolproxyR_installing_version=`cat /tmp/koolproxyR_version | sed -n '1p'` 12 | koolproxyR_version_now=`dbus get koolproxyR_version` 13 | dbus set koolproxyR_new_install_version=$koolproxyR_installing_version 14 | echo_date1 当前本地版本:$koolproxyR_version_now ,当前最新版本为: $koolproxyR_installing_version 15 | rm -rf /tmp/version 16 | echo_date1 ====================== 判断更新 =========================== 17 | if [[ "$koolproxyR_installing_version" != "$koolproxyR_version_now" ]]; then 18 | echo_date1 检查到与线上版本不一致,开始更新..... 19 | echo_date1 请耐心等待更新完成..... 20 | for i in {1..5}; do 21 | echo_date1 这是第 $i 次下载共 5 次下载koolproxyR 22 | wget -4 -a /tmp/upload/kpr_log.txt -O /tmp/upload/koolproxyR.tar.gz https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/koolproxyR.tar.gz 23 | koolproxyR_download_md5=`md5sum /tmp/upload/koolproxyR.tar.gz|awk '{print $1}'` 24 | echo_date1 远程版本md5:$koolproxyR_installing_md5 25 | echo_date1 您下载版本md5:$koolproxyR_download_md5 26 | if [[ "$koolproxyR_installing_md5" == "$koolproxyR_download_md5" ]]; then 27 | wget -4 -a /tmp/upload/kpr_log.txt -O /koolshare/scripts/kpr_tar_install.sh https://shaoxia1991.coding.net/p/koolproxyr/d/koolproxyr/git/raw/master/kpr_tar_install.sh && chmod 777 /koolshare/scripts/kpr_tar_install.sh 28 | sh /koolshare/scripts/kpr_tar_install.sh 29 | break 30 | fi 31 | if [[ $i == 5 ]]; then 32 | echo_date1 一个悲伤的故事,MD5多次校验不通过,勇士请重新来过吧! 33 | rm -rf /tmp/upload/koolproxyR.tar.gz 34 | fi 35 | done 36 | else 37 | echo_date1 并没有更新,下次再来看吧! 38 | fi 39 | 40 | echo_date1 ========================================================== 41 | } 42 | if [ -n "$1" ]; then 43 | update_kpr "$1" > /tmp/upload/kpr_log.txt 44 | http_response "$1" 45 | # 软件中心通知已完成代码 XU6J03M6 46 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 47 | else 48 | update_kpr > /tmp/upload/kpr_log.txt 49 | echo XU6J03M6 >> /tmp/upload/kpr_log.txt 50 | fi 51 | -------------------------------------------------------------------------------- /koolproxyR/uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export KSROOT=/koolshare 3 | source $KSROOT/scripts/base.sh 4 | 5 | sh $KSROOT/koolproxyR/kpr_config.sh stop 6 | rm -rf $KSROOT/bin/koolproxy >/dev/null 2>&1 7 | rm -rf $KSROOT/scripts/KoolProxyR_* >/dev/null 2>&1 8 | rm -rf $KSROOT/scripts/KoolproxyR_* >/dev/null 2>&1 9 | rm -rf $KSROOT/webs/module_KoolproxyR.asp >/dev/null 2>&1 10 | rm -rf $KSROOT/koolproxyR >/dev/null 2>&1 11 | rm -rf $KSROOT/init.d/S93koolproxyR.sh >/dev/null 2>&1 12 | rm -rf /etc/rc.d/S93koolproxyR.sh >/dev/null 2>&1 13 | rm -rf $KSROOT/variable/libhavege*.ipk 14 | rm -rf $KSROOT/variable/haveged*.ipk 15 | 16 | # 取消dbus注册 TG sadog 17 | cd /tmp 18 | dbus list koolproxyR|cut -d "=" -f1|sed 's/^/dbus remove /g' > clean.sh 19 | dbus list softcenter_module_|grep koolproxyR|cut -d "=" -f1|sed 's/^/dbus remove /g' >> clean.sh 20 | chmod 777 clean.sh 21 | sh ./clean.sh > /dev/null 2>&1 22 | rm clean.sh 23 | 24 | # 清楚 定时任务 25 | [ ! -f "/etc/crontabs/root" ] && touch /etc/crontabs/root 26 | jobexist=`cat /etc/crontabs/root|grep KoolProxyR` 27 | 28 | if [ ! -z "$jobexist" ]; then 29 | sed -i '/KoolProxyR/d' /etc/crontabs/root >/dev/null 2>&1 30 | fi 31 | 32 | 33 | exit 0 34 | -------------------------------------------------------------------------------- /koolproxyR/variable/haveged.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/variable/haveged.ipk -------------------------------------------------------------------------------- /koolproxyR/variable/libhavege.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/variable/libhavege.ipk -------------------------------------------------------------------------------- /koolproxyR/webs/res/icon-koolproxyR-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/webs/res/icon-koolproxyR-bg.png -------------------------------------------------------------------------------- /koolproxyR/webs/res/icon-koolproxyR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/webs/res/icon-koolproxyR.png -------------------------------------------------------------------------------- /koolproxyR/webs/res/icon_koolproxyR-v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/user1121114685/koolproxyR/0113a62cebac3b5f056beba0713aa950acb372ae/koolproxyR/webs/res/icon_koolproxyR-v.png -------------------------------------------------------------------------------- /kpr_tar_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # for lede x64 by fw867 4 | 5 | export KSROOT=/koolshare 6 | source $KSROOT/scripts/base.sh 7 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 8 | eval `dbus export soft` 9 | TARGET_DIR=/tmp/upload 10 | 11 | clean(){ 12 | rm -rf /tmp/$name >/dev/null 2>&1 13 | rm -rf /tmp/$MODULE_NAME >/dev/null 2>&1 14 | rm -rf /tmp/$soft_name >/dev/null 2>&1 15 | find /tmp -name "*.tar.gz"|xargs rm -rf >/dev/null 2>&1 16 | } 17 | 18 | install_tar(){ 19 | name=`echo "$soft_name"|sed 's/.tar.gz//g'|awk -F "_" '{print $1}'|awk -F "-" '{print $1}'` 20 | INSTALL_SUFFIX=_install 21 | VER_SUFFIX=_version 22 | NAME_SUFFIX=_name 23 | cd /tmp 24 | echo_date ====================== step 1 =========================== 25 | echo_date 即将开始在线更新! 26 | sleep 1 27 | if [ -f $TARGET_DIR/$soft_name ]; then 28 | echo_date $TARGET_DIR目录下检测到在线更新包$soft_name 29 | mv /tmp/upload/$soft_name /tmp 30 | sleep 1 31 | echo_date 尝试解压在线更新包 32 | sleep 1 33 | tar -zxvf $soft_name >/dev/null 2>&1 34 | echo_date 解压完成! 35 | sleep 1 36 | cd /tmp 37 | 38 | if [ -f /tmp/$name/install.sh ]; then 39 | INSTALL_SCRIPT=/tmp/$name/install.sh 40 | else 41 | INSTALL_SCRIPT_NU=`find /tmp -name "install.sh"|wc -l` 2>/dev/null 42 | [ "$INSTALL_SCRIPT_NU" == "1" ] && INSTALL_SCRIPT=`find /tmp -name "install.sh"` || INSTALL_SCRIPT="" 43 | fi 44 | 45 | if [ -n "$INSTALL_SCRIPT" -a -f "$INSTALL_SCRIPT" ]; then 46 | SCRIPT_AB_DIR=`dirname $INSTALL_SCRIPT` 47 | MODULE_NAME=${SCRIPT_AB_DIR##*/} 48 | echo_date 准备安装$MODULE_NAME插件! 49 | echo_date 找到安装脚本! 50 | chmod +x $INSTALL_SCRIPT >/dev/null 2>&1 51 | echo_date 运行安装脚本... 52 | echo_date ====================== step 2 =========================== 53 | sleep 1 54 | start-stop-daemon -S -q -x $INSTALL_SCRIPT 2>&1 55 | # sh /tmp/$name/install.sh 2>&1 56 | if [[ "$?" != "0" ]]; then 57 | echo_date 因为$MODULE_NAME安装失败!退出在线更新! 58 | clean 59 | dbus remove "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX" 60 | echo jobdown 61 | exit 62 | fi 63 | echo_date ====================== step 3 =========================== 64 | dbus set "softcenter_module_$MODULE_NAME$NAME_SUFFIX=$MODULE_NAME" 65 | dbus set "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX=1" 66 | #dbus set "softcenter_module_$name$VER_SUFFIX=$soft_install_version" 67 | if [ -n "$soft_install_version" ]; then 68 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=$soft_install_version" 69 | echo_date "从插件文件名中获取到了版本号:$soft_install_version" 70 | else 71 | #已经在插件安装中设置了 72 | if [ -z "`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" ]; then 73 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=0.1" 74 | echo_date "插件安装脚本里没有找到版本号,设置默认版本号为0.1" 75 | else 76 | echo_date "插件安装脚本已经设置了插件版本号为:`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" 77 | fi 78 | fi 79 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 80 | i=120 81 | until [ -z "$install_pid" ] 82 | do 83 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 84 | i=$(($i-1)) 85 | if [[ "$i" -lt 1 ]]; then 86 | echo_date "Could not load nat rules!" 87 | echo_date 安装似乎出了点问题,请手动重启路由器后重新尝试... 88 | echo_date 删除相关文件并退出... 89 | sleep 1 90 | clean 91 | dbus remove "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX" 92 | echo jobdown 93 | exit 94 | fi 95 | sleep 1 96 | done 97 | echo_date 离线包安装完成! 98 | sleep 1 99 | echo_date 一点点清理工作... 100 | sleep 1 101 | clean 102 | echo_date 完成!在线更新插件成功,现在你可以退出本页面~ 103 | sleep 1 104 | else 105 | echo_date 没有找到安装脚本! 106 | echo_date 删除相关文件并退出... 107 | clean 108 | fi 109 | else 110 | echo_date 没有找到在线更新包! 111 | echo_date 删除相关文件并退出... 112 | clean 113 | fi 114 | sleep 1 115 | dbus remove soft_install_version 116 | dbus remove soft_name 117 | echo jobdown 118 | clean 119 | } 120 | 121 | # 将 install_tar 的第一个参数 echo_date 传入log 122 | install_tar "$1" > /tmp/upload/kpr_log.txt 123 | # 顺带给 网页反馈下 第一个参数 124 | http_response "$1" -------------------------------------------------------------------------------- /ks_tar_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # for lede x64 by fw867 4 | 5 | export KSROOT=/koolshare 6 | source $KSROOT/scripts/base.sh 7 | alias echo_date='echo 【$(date +%Y年%m月%d日\ %X)】:' 8 | eval `dbus export soft` 9 | TARGET_DIR=/tmp/upload 10 | 11 | clean(){ 12 | rm -rf /tmp/$name >/dev/null 2>&1 13 | rm -rf /tmp/$MODULE_NAME >/dev/null 2>&1 14 | rm -rf /tmp/$soft_name >/dev/null 2>&1 15 | find /tmp -name "*.tar.gz"|xargs rm -rf >/dev/null 2>&1 16 | } 17 | 18 | install_tar(){ 19 | name=`echo "$soft_name"|sed 's/.tar.gz//g'|awk -F "_" '{print $1}'|awk -F "-" '{print $1}'` 20 | INSTALL_SUFFIX=_install 21 | VER_SUFFIX=_version 22 | NAME_SUFFIX=_name 23 | cd /tmp 24 | echo_date ====================== step 1 =========================== 25 | echo_date 开启软件离线安装! 26 | sleep 1 27 | if [ -f $TARGET_DIR/$soft_name ]; then 28 | echo_date $TARGET_DIR目录下检测到上传的离线安装包$soft_name 29 | mv /tmp/upload/$soft_name /tmp 30 | sleep 1 31 | echo_date 尝试解压离线安装包离线安装包 32 | sleep 1 33 | tar -zxvf $soft_name >/dev/null 2>&1 34 | echo_date 解压完成! 35 | sleep 1 36 | cd /tmp 37 | 38 | if [ -f /tmp/$name/install.sh ]; then 39 | INSTALL_SCRIPT=/tmp/$name/install.sh 40 | else 41 | INSTALL_SCRIPT_NU=`find /tmp -name "install.sh"|wc -l` 2>/dev/null 42 | [ "$INSTALL_SCRIPT_NU" == "1" ] && INSTALL_SCRIPT=`find /tmp -name "install.sh"` || INSTALL_SCRIPT="" 43 | fi 44 | 45 | if [ -n "$INSTALL_SCRIPT" -a -f "$INSTALL_SCRIPT" ]; then 46 | SCRIPT_AB_DIR=`dirname $INSTALL_SCRIPT` 47 | MODULE_NAME=${SCRIPT_AB_DIR##*/} 48 | echo_date 准备安装$MODULE_NAME插件! 49 | echo_date 找到安装脚本! 50 | chmod +x $INSTALL_SCRIPT >/dev/null 2>&1 51 | echo_date 运行安装脚本... 52 | echo_date ====================== step 2 =========================== 53 | sleep 1 54 | # start-stop-daemon -S -q -x $INSTALL_SCRIPT 2>&1 55 | sh /tmp/$name/install.sh 2>&1 56 | # if [[ "$?" != "0" ]]; then 57 | # echo_date 因为$MODULE_NAME插件安装失败!退出离线安装! 58 | # clean 59 | # dbus remove "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX" 60 | # echo jobdown 61 | # exit 62 | # fi 63 | echo_date ====================== step 3 =========================== 64 | dbus set "softcenter_module_$MODULE_NAME$NAME_SUFFIX=$MODULE_NAME" 65 | dbus set "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX=1" 66 | #dbus set "softcenter_module_$name$VER_SUFFIX=$soft_install_version" 67 | if [ -n "$soft_install_version" ]; then 68 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=$soft_install_version" 69 | echo_date "从插件文件名中获取到了版本号:$soft_install_version" 70 | else 71 | #已经在插件安装中设置了 72 | if [ -z "`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" ]; then 73 | dbus set "softcenter_module_$MODULE_NAME$VER_SUFFIX=0.1" 74 | echo_date "插件安装脚本里没有找到版本号,设置默认版本号为0.1" 75 | else 76 | echo_date "插件安装脚本已经设置了插件版本号为:`dbus get softcenter_module_$MODULE_NAME$VER_SUFFIX`" 77 | fi 78 | fi 79 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 80 | i=120 81 | until [ -z "$install_pid" ] 82 | do 83 | install_pid=`ps | grep -w install.sh | grep -v grep | awk '{print $1}'` 84 | i=$(($i-1)) 85 | if [[ "$i" -lt 1 ]]; then 86 | echo_date "Could not load nat rules!" 87 | echo_date 安装似乎出了点问题,请手动重启路由器后重新尝试... 88 | echo_date 删除相关文件并退出... 89 | sleep 1 90 | clean 91 | dbus remove "softcenter_module_$MODULE_NAME$INSTALL_SUFFIX" 92 | echo jobdown 93 | exit 94 | fi 95 | sleep 1 96 | done 97 | echo_date 离线包安装完成! 98 | sleep 1 99 | echo_date 一点点清理工作... 100 | sleep 1 101 | clean 102 | echo_date 完成!离线安装插件成功,现在你可以退出本页面~ 103 | sleep 1 104 | else 105 | echo_date 没有找到安装脚本! 106 | echo_date 删除相关文件并退出... 107 | clean 108 | fi 109 | else 110 | echo_date 没有找到离线安装包! 111 | echo_date 删除相关文件并退出... 112 | clean 113 | fi 114 | sleep 1 115 | dbus remove soft_install_version 116 | dbus remove soft_name 117 | echo jobdown 118 | clean 119 | } 120 | 121 | echo " " > /tmp/upload/soft_log.txt 122 | #http_response "$1" 123 | install_tar > /tmp/upload/soft_log.txt 124 | -------------------------------------------------------------------------------- /md5.txt: -------------------------------------------------------------------------------- 1 | 1015c072c72d49e247c8ce0d34ff428c ./koolproxyR/scripts/KoolProxyR_cert.sh 2 | 1067c565ad6fbcfc714f715a7351d04b ./koolproxyR/scripts/KoolProxyR_debug.sh 3 | 114d417614b329f7d0fe5ac21c16bf29 ./koolproxyR/koolproxyR/data/rules/easylistchina.txt 4 | 160940858e671141f9dc64a004921100 ./koolproxyR/variable/libhavege.ipk 5 | 17b4e1073061ed8b56af4a6ece33c37d ./koolproxyR/webs/Module_koolproxyR.asp 6 | 1c7cbb356ecce21fd7f1a5b9aeea371c ./koolproxyR/koolproxyR/data/gen_ca.sh 7 | 1e6f195b17438a8f4fcbedeb3f611cc1 ./koolproxyR/koolproxyR/data/koolproxyR_ipset.conf 8 | 1ecdb8171fd854b1db3d374e2b7ef0a5 ./koolproxyR/scripts/KoolProxyR_status.sh 9 | 205ecd57522e65a7a8b37b4f8ce93314 ./koolproxyR/koolproxyR/data/rules/fanboy-annoyance.txt.md5 10 | 25cfaf8b56552b9599a6f55f871dd96f ./koolproxyR/koolproxyR/data/source.list 11 | 455585ce97167804afe58d141448bcac ./koolproxyR/scripts/KoolProxyR_rules_status.sh 12 | 461fc90d2031d159bf341c474952d3a5 ./koolproxyR/koolproxyR/koolproxy 13 | 4abd4eb1ec1986817541c0fd8f5778cb ./koolproxyR/scripts/KoolProxyR_getarp.sh 14 | 4e385f50bdb65b2b4c0737c5ca8457e3 ./koolproxyR/webs/res/icon-koolproxyR-bg.png 15 | 543b7dcbe5a1b43e152db9dcc949a2c4 ./koolproxyR/scripts/KoolProxyR_update_now.sh 16 | 58b317ac23d53f09684875001dc614d4 ./koolproxyR/koolproxyR/data/rules/yhosts.txt.md5 17 | 5e90e878d8c400cd6b515e85ff3b9f6a ./koolproxyR/scripts/KoolProxyR_check_chain.sh 18 | 715d8d892a7323346cf42d8d66cc96b7 ./koolproxyR/koolproxyR/data/rules/user.txt 19 | 7cbd39af3bef575390ee687930bd8e4e ./koolproxyR/webs/res/icon_koolproxyR-v.png 20 | 84faf06c2ba563781cf51f9f1e874ca8 ./koolproxyR/uninstall.sh 21 | 87539babfae10ac3e760c4e288418582 ./koolproxyR/webs/res/icon-koolproxyR.png 22 | 96859a5f16051299937443532e42bd10 ./koolproxyR/koolproxyR/data/rules/kp.dat.md5 23 | a5e453330cf06e456a48d41d55228906 ./koolproxyR/install.sh 24 | ac12d0ad90d576433314c817e67bb49f ./koolproxyR/init.d/S93koolproxyR.sh 25 | ad1264f809bc7eb1aac0babf625afe0f ./koolproxyR/scripts/KoolProxyR_config.sh 26 | bd417430e1ac3984d91364eefb18061d ./koolproxyR/koolproxyR/data/rules/kp.dat 27 | c288ed0a039141881b6c11dca4242ea1 ./koolproxyR/variable/haveged.ipk 28 | d45e76dfd8ca50c4ede26cd4eeec3753 ./koolproxyR/koolproxyR/kpr_config.sh 29 | e3db0d6ce96c4f3f8a03101ddcb6cfad ./koolproxyR/koolproxyR/data/rules/easylistchina.txt.md5 30 | e93e64cf91f5ec9e38d1cd80226cd418 ./koolproxyR/koolproxyR/data/rules/user.txt.md5 31 | ee36732f967e4ce9ffae0b4e03fd7612 ./koolproxyR/koolproxyR/data/rules/fanboy-annoyance.txt 32 | f2dd2bc02c5c0a230ba58011c58415b8 ./koolproxyR/scripts/KoolProxyR_rule_update.sh 33 | fa2b9d98dd3affb0a727c64eae87a643 ./koolproxyR/koolproxyR/data/rules/yhosts.txt 34 | ff61df84fcdb61c1c8aa6f6ff9253512 ./koolproxyR/koolproxyR/data/openssl.cnf 35 | -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | 2.8.8 2 | be08cf6dbe9ae92ae4972db6cf2e4df9 3 | --------------------------------------------------------------------------------