├── Ceshi.js ├── Fimm.js ├── Qxconf └── qxLanR.conf ├── README.md ├── caiyun_svip.js ├── ccjt.js ├── gear.js ├── jiesuovip.js ├── jj.js ├── klx.js ├── kmh.js ├── mgtv.js ├── mh.js ├── mumu.js ├── mumu02.js ├── myxj.js ├── sdsc.js ├── sorte.js ├── ssa.js ├── syjz.js ├── wf.js ├── ybd.js ├── yiya.js └── ykb.js /Ceshi.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 公众号:木木IOS分享 3 | 关注了解更多新科技!!! 4 | 木木测试脚本 5 | 脚本名称:木木测试脚本 6 | 使用声明:️此脚本仅供学习与交流, 7 | 请勿转载与贩卖!️️️ 8 | 群1077223830 9 | ******************************* 10 | [rewrite_local] 11 | ^http[s]?:\/\/uu.tuanyougou.com\/\/video\/registryUser.+$ url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/Ceshi.js 12 | [mitm] 13 | hostname = *.tuanyougou.* 14 | ******************************* 15 | Surge 16 | 17 | [Script] 18 | ^http[s]?:\/\/uu.tuanyougou.com\/\/video\/registryUser.+$ requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/hhse/Mul4hong/master/Ceshi.js 19 | 20 | [MITM] 21 | hostname = *.tuanyougou.* 22 | 23 | *******************************/ 24 | var obj = JSON.parse($response.body); 25 | obj.data.userId = 9999; 26 | obj.data.endTime = "脚本成功啦"; 27 | $done({body: JSON.stringify(obj)}); 28 | -------------------------------------------------------------------------------- /Fimm.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | ⚠️如果放远程,请把Fimm.js替换成运程链接⚠️ 3 | 🧚🏻‍♂️作者:🍡木木🍡 4 | wx交流群:1077223830 5 | 🫧脚本名称:Fido 6 | 🫧建议配合working copy一起食用 7 | ✈️working copy下载地址https://apps.apple.com/app/id896694807✈️ 8 | ******************************* 9 | 10 | [rewrite_local] 11 | ^https?:\/\/server\.yoyiapp\.com\/fimo-common\/film*? url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/Fimm.js 12 | 13 | 14 | [mitm] 15 | hostname = server.yoyiapp.com 16 | 17 | *******************************/ 18 | var body=$response.body; 19 | body = body.replace(/isPurchase\":\d+/g,'isPurchase":0'); 20 | body = body.replace(/price\": "\d+"/g,'price": "0"'); 21 | body = body.replace(/special\":".*?\"/g,'special":""'); 22 | $done(body); 23 | -------------------------------------------------------------------------------- /Qxconf/qxLanR.conf: -------------------------------------------------------------------------------- 1 | # 以 “;” 或 “#” 或 “//“ 开头的行为注释行。 2 | //微信公众号:木木IOS分享 3 | [general] 4 | # QuantumultX会对server_check_url指定的网址进行相应测试,以确认节点的可用性 5 | server_check_url=http://captive.apple.com/ 6 | 7 | # list中的域名将不使用fake-ip方式, 多个域名用“, ”连接。其它域名则全部采用 fake-ip及远程解析的模式 8 | dns_exclusion_list = *.cmbchina.com, *.cmpassport.com, *.jegotrip.com.cn, *.icitymobile.mobi, *.pingan.com.cn, id6.me 9 | 10 | # 下列表中内容将不经过QuantumultX的处理 11 | excluded_routes=10.0.0.0/8, 127.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 192.168.0.0/16, 198.51.100.0/24, 224.0.0.0/4 12 | 13 | # IP_bili_cn js-用于获取、展示节点信息 14 | geo_location_checker=http://ip-api.com/json/?lang=zh-CN, https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/IP_API.js 15 | 16 | # 资源解析器,自定义各类远程资源的转换、如节点、规则、filter、复写、rewrite等 17 | resource_parser_url=https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/resource-parser.js 18 | 19 | # 配置文件路径显示头像 20 | profile_img_url=https://raw.githubusercontent.com/Orz-3/mini/none/Zero.png 21 | 22 | [dns] 23 | # 指定的 dns服务器 24 | server=119.29.29.29 25 | server=223.5.5.5 26 | server=1.0.0.1 27 | server=8.8.4.4 28 | server=114.114.114.114 29 | server=202.141.176.93 30 | server=202.141.178.13 31 | server=117.50.10.10 32 | server=223.5.5.5 33 | server=119.29.29.29:53 34 | server=119.28.28.28 35 | # 指定域名解析dns 36 | server=/*.taobao.com/223.5.5.5 37 | server=/*.tmall.com/223.5.5.5 38 | server=/*.alipay.com/223.5.5.5 39 | server=/*.alicdn.com/223.5.5.5 40 | server=/*.aliyun.com/223.5.5.5 41 | server=/*.jd.com/119.28.28.28 42 | server=/*.qq.com/119.28.28.28 43 | server=/*.tencent.com/119.28.28.28 44 | server=/*.weixin.com/119.28.28.28 45 | server=/*.bilibili.com/119.29.29.29 46 | server=/hdslb.com/119.29.29.29 47 | #server=/*.163.com/119.29.29.29 48 | #server=/*.126.com/119.29.29.29 49 | #server=/*.126.net/119.29.29.29 50 | #server=/*.127.net/119.29.29.29 51 | #server=/*.netease.com/119.29.29.29 52 | #server=/*.mi.com/119.29.29.29 53 | #server=/*.xiaomi.com/119.29.29.29 54 | 55 | [policy] 56 | #策略 57 | 58 | ;static=🐟 漏网之鱼, direct, proxy, 健康检测, 🐳 SSID策略, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Final.png 59 | 60 | ;ssid=🐳 SSID策略, proxy, proxy, 一般路由器(自己修改WiFi名称): proxy, 翻墙路由器(自己修改WiFi名称): direct, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/SSID.png 61 | 62 | ;available=健康检测, 无用节点1, 无用节点2, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Available.png 63 | 64 | ;round-robin=负载均衡, 无用节点1, 无用节点2, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Round_Robin.png 65 | 66 | static=节点选择, direct, 手动选择, 延迟最低, proxy, img-url=https://raw.githubusercontent.com/Orz-3/face/master/China.png 67 | 68 | static=手动选择, server-tag-regex=^((?!网易).)*$, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Bili.png 69 | 70 | url-latency-benchmark=延迟最低, server-tag-regex=^((?!网易云).)*$, check-interval=900, tolerance=0, img-url=https://raw.githubusercontent.com/Orz-3/face/master/YouTube.png 71 | 72 | static=国外网站, 节点选择, direct, 手动选择, 延迟最低, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Global.png 73 | 74 | static=国外影视, 节点选择, direct, 手动选择, 延迟最低, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Global.png 75 | 76 | static=Netflix, 节点选择, direct, 手动选择, 延迟最低, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Netflix.png 77 | 78 | static=Apple服务, direct, 节点选择, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Apple.png 79 | 80 | static=网易云解锁, direct, 节点选择, reject,木木解锁 81 | 82 | static=广告拦截, reject, direct, img-url=https://raw.githubusercontent.com/Orz-3/face/master/Music.png 83 | 84 | # 远程分流规则订阅 85 | # 将网络请求进行分流,网络请求的走向由匹配到的策略组决定 86 | # 部分规则有先后顺序要求,调整顺序可能失效 87 | 88 | [filter_remote] 89 | #分流订阅 90 | https://ghproxy.com/https://raw.githubusercontent.com/GeQ1an/Rules/master/QuantumultX/Filter/Optional/Netease%20Music.list, tag=网易云解锁, force-policy=网易云解锁, update-interval=172800, opt-parser=true, enabled=true 91 | # 超过4万条广告规则, 阻止常见的APP广告/隐私/行为/数据/流量/劫持的统计和追踪 92 | https://raw.githubusercontent.com/NobyDa/ND-AD/master/QuantumultX/AD_Block.txt, tag=AD_Block(4万条去广告规则), force-policy=广告拦截, update-interval=86400, opt-parser=true, enabled=true 93 | 94 | # 超过6万条国内外广告规则, 可以与"AD_Block.txt"一起使用, 注: 可能有一些误杀, 请谨慎使用 95 | https://raw.githubusercontent.com/NobyDa/ND-AD/master/QuantumultX/AD_Block_Plus.txt, tag=AD_Block_plus(6万条去广告规则), force-policy=广告拦截, update-interval=86400, opt-parser=true, enabled=true 96 | 97 | # 广告拦截 98 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Guard/Advertising.list, tag=广告拦截, force-policy=广告拦截, update-interval=86400, opt-parser=false, enabled=true 99 | 100 | # 隐私保护 101 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Guard/Privacy.list, tag=隐私保护, force-policy=广告拦截, update-interval=86400, opt-parser=false, enabled=true 102 | 103 | # 运营商劫持或恶意网站 104 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Guard/Hijacking.list, tag=运营商劫持, force-policy=广告拦截, update-interval=86400, opt-parser=false, enabled=true 105 | 106 | 107 | 108 | 109 | # 屏蔽系统更新 110 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Extra/Apple/BlockiOSUpdate.list, tag=屏蔽系统更新, force-policy=reject, update-interval=86400, opt-parser=true, enabled=true 111 | 112 | # 国内视频策略使用:国内视频App时选direct(直连),港台视频App时选节点选择(Proxy) 113 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/StreamingMedia/StreamingCN.list, tag=国内视频, force-policy=direct, update-interval=86400, opt-parser=true, enabled=true 114 | 115 | # 国内网站 116 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/China.list, tag=国内网站, force-policy=direct, update-interval=86400, opt-parser=true, enabled=true 117 | 118 | # 规则修正,无需设置策略偏好,保持启用即可 119 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Unbreak.list, tag=规则修正, update-interval=86400, opt-parser=true, enabled=true 120 | 121 | # Netflix 122 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/StreamingMedia/Video/Netflix.list, tag=Netflix, force-policy=Netflix, update-interval=86400, opt-parser=true, enabled=true 123 | 124 | #Apple服务 125 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Ruleset/Extra/Apple/AppStore.list, tag=AppStore, force-policy=Apple服务, update-interval=86400, opt-parser=true, enabled=true 126 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Ruleset/Extra/Apple/AppStoreConnect.list, tag=AppStoreConnect, force-policy=Apple服务, update-interval=86400, opt-parser=true, enabled=true 127 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Ruleset/Extra/Apple/TestFlight.list, tag=Testflight, force-policy=Apple服务, update-interval=86400, opt-parser=true, enabled=true 128 | 129 | # 国外视频 130 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/StreamingMedia/Streaming.list, tag=国际视频, force-policy=节点选择, update-interval=86400, opt-parser=true, enabled=true 131 | 132 | # 国外网站 133 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/Global.list, tag=国外网站, force-policy=节点选择, update-interval=86400, opt-parser=true, enabled=true 134 | 135 | [rewrite_remote] 136 | #远程重写 137 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/Advertising.conf, tag=神机去广告, update-interval=86400, opt-parser=true, enabled=true 138 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/General.conf, tag=神机重定向, update-interval=86400, opt-parser=true, enabled=true 139 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/AdvertisingPlus.conf, tag=神机去广告Plus, update-interval=86400, opt-parser=true, enabled=true 140 | https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/YouTubeAds.conf, tag=YouTube去广告, update-interval=86400, opt-parser=true, enabled=true 141 | https://github.pengym.workers.dev/https://raw.githubusercontent.com/app2smile/rules/master/module/baidu-no-redirect.sgmodule, tag=优化百度跳转, update-interval=172800, opt-parser=true, enabled=true 142 | https://raw.githubusercontent.com/elecV2/QuantumultX-Tools/master/betterweb/csdn.conf, tag=csdn浏览优化, update-interval=172800, opt-parser=false, enabled=true 143 | 144 | 145 | [server_local] 146 | #本地节点 147 | shadowsocks=one.hmbiplc-01.com:53011, method=chacha20-ietf-poly1305, password=y552gATTP54tw1#kEXx, fast-open=false, udp-relay=false, tag=Tokyo [JP] - 194 148 | http=124.223.189.117:7978, fast-open=false, udp-relay=false, tag=木木解锁 149 | 150 | [server_remote] 151 | #节点订阅 152 | 153 | [task_local] 154 | 155 | 156 | 157 | [rewrite_local] 158 | #本地重写 159 | 160 | 161 | 162 | [filter_local] 163 | host, img.kuaibozy.net, 广告拦截 164 | host, img.kuaibozy.net, reject 165 | host, api.revenuecat.com, direct 166 | host, api.revenuecat.com, 节点选择 167 | host, xp.apple.com, direct 168 | host, amp-api-edge.apps.apple.com, direct 169 | host, xp.apple.com, Apple服务 170 | host, amp-api-edge.apps.apple.com, Apple服务 171 | 172 | # Netease Music Advertising 173 | host,admusicpic.music.126.net,reject 174 | host,iadmat.nosdn.127.net,reject 175 | host,iadmusicmat.music.126.net,reject 176 | host,iadmusicmatvideo.music.126.net,reject 177 | 178 | #广告域名 179 | host,qzs.qq.com,reject 180 | 181 | 182 | host, gateway.icloud.com.cn, direct 183 | host, bag.itunes.apple.com, direct 184 | 185 | # 绕过企业证书过期 186 | host, ocsp.apple.com, reject 187 | 188 | # Local Area Network 局域网 189 | host-suffix, local, direct 190 | ip-cidr, 10.0.0.0/8, direct 191 | ip-cidr, 127.0.0.0/8, direct 192 | ip-cidr, 172.16.0.0/12, direct 193 | ip-cidr, 192.168.0.0/16, direct 194 | ip-cidr, 224.0.0.0/24, direct 195 | 196 | # GeoIP China 197 | geoip, cn, direct 198 | 199 | #Final:不在规则中的剩余请求,按照自己的需求选择direct(直连)或节点选择(Proxy) 200 | final, 节点选择 201 | 202 | [mitm] 203 | passphrase = 37234FB7 204 | p12 = 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 205 | hostname = 206 | ;skip_validating_cert = false 207 | ;force_sni_domain_name = false 208 | ;empty_sni_enabled = false 209 | 210 | #如果是YouTube Premium请删掉googlevideo主机名,否则无法加载视频 211 | #如不需要淘宝比价请删掉taobao主机名 212 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 欢迎光临木木的仓库 2 | 3 | 4 | ![来源于网络](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F0H320121044%2F200H3121044-2-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663486749&t=232b159a47414a1905c6322ce7d46202) 5 | 6 | 7 | 8 | 9 | # **免责声明** 10 | 11 | * **本网站内容收集于互联网,砸壳安装包有任何问题请自行解决;** 12 | * **请勿通过下载内容参与非法活动,所产生的一切法律及连带责任与本网站无关;** 13 | * **在使用下载本站app之前,你应了解并承担相应的风险,一律问题与本站无关;** 14 | * **仅供用于学习和交流, 请勿用于商业用途, 如有侵权请通过下侧联系方式联系本人处理,会及时处理。** 15 | * **网站分享内容为免费。** 16 | ### **温馨提示: 本仓库所有资源仅供逆向学习交流,严禁以任何形式贩卖本仓库内应用,请于下载后24小时内删除,否则产生的一切后果将由使用者本人承担,仓库所有者不对仓库内任何资源负法律责任! 关注微信公众号:‘木木IOS分享’ 发现更多精彩。** 17 | 18 | 19 | # 交流群 20 | #### **[进群点击我](https://jq.qq.com/?_wv=1027&k=XHuncmY2)** 21 | -------------------------------------------------------------------------------- /caiyun_svip.js: -------------------------------------------------------------------------------- 1 | /** 2 | *转载自墨鱼 3 | *[MITM] 4 | * hostname = biz.caiyunapp.com 5 | * 6 | * Quantumult X 7 | * [rewrite_local] 8 | * ^https?:\/\/biz\.caiyunapp\.com\/(membership_rights|v2\/user) url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/caiyun_svip.js 9 | * 10 | * 11 | * 12 | */ 13 | 14 | const SCRIPT_NAME = '彩云天气'; 15 | const USER_REGEX = /https?:\/\/biz\.caiyunapp\.com\/v2\/user/; 16 | const RIGHTS_REGEX = /https?:\/\/biz\.caiyunapp\.com\/membership_rights/; 17 | const RESULT = { 18 | is_vip: true, 19 | vip_type: "s", 20 | svip_expired_at: 4102396768.9452950954, 21 | } 22 | const RESULT_WT = { 23 | vip: { 24 | enable: true, 25 | svip_expired_at: 4102396768.9452950954 26 | } 27 | } 28 | const RIGHTS = { 29 | "result": [ 30 | { 31 | "name": "\u514d\u5e7f\u544a", 32 | "enabled": true, 33 | "vip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/vip-ads-free.png", 34 | "vip": true, 35 | "svip": true, 36 | "_id": "5ee5eb091d28d2634a2ee08f", 37 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-ads-free.png" 38 | }, 39 | { 40 | "name": "\u591a\u5730\u5929\u6c14\u63a8\u9001", 41 | "enabled": true, 42 | "vip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/vip-custom-push.png", 43 | "vip": true, 44 | "svip": true, 45 | "_id": "5ee5eb091d28d2634a2ee090", 46 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-custom-push.png" 47 | }, 48 | { 49 | "name": "\u964d\u6c34\u63d0\u9192", 50 | "enabled": true, 51 | "vip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/vip-rain-notification.png", 52 | "vip": true, 53 | "svip": true, 54 | "_id": "5ee5eb091d28d2634a2ee091", 55 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-rain-notification.png" 56 | }, 57 | { 58 | "name": "\u536b\u661f\u4e91\u56fe", 59 | "enabled": true, 60 | "vip_icon": null, 61 | "vip": false, 62 | "svip": true, 63 | "_id": "5ee5eb091d28d2634a2ee092", 64 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-satellite-clouds.png" 65 | }, 66 | { 67 | "name": "\u4e91\u91cf", 68 | "enabled": true, 69 | "vip_icon": null, 70 | "vip": false, 71 | "svip": true, 72 | "_id": "5ee5eb091d28d2634a2ee093", 73 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-cloud-cover.png" 74 | }, 75 | { 76 | "name": "\u6c14\u6e29\u9884\u62a5", 77 | "enabled": true, 78 | "vip_icon": null, 79 | "vip": false, 80 | "svip": true, 81 | "_id": "5ee5eb091d28d2634a2ee094", 82 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-tmp-forecast.png" 83 | }, 84 | { 85 | "name": "\u9732\u70b9\u6e29\u5ea6\u9884\u62a5", 86 | "enabled": true, 87 | "vip_icon": null, 88 | "vip": false, 89 | "svip": true, 90 | "_id": "5ee5eb091d28d2634a2ee095", 91 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-dew-point-tmp-forecast.png" 92 | }, 93 | { 94 | "name": "\u77ed\u6ce2\u8f90\u5c04\u901a\u91cf", 95 | "enabled": true, 96 | "vip_icon": null, 97 | "vip": false, 98 | "svip": true, 99 | "_id": "5ee5eb091d28d2634a2ee096", 100 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-short-wave-radiation.png" 101 | }, 102 | { 103 | "name": "\u6c14\u538b", 104 | "enabled": true, 105 | "vip_icon": null, 106 | "vip": false, 107 | "svip": true, 108 | "_id": "5ee5eb091d28d2634a2ee097", 109 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-pressure.png" 110 | }, 111 | { 112 | "name": "\u80fd\u89c1\u5ea6", 113 | "enabled": true, 114 | "vip_icon": null, 115 | "vip": false, 116 | "svip": true, 117 | "_id": "5ee5eb091d28d2634a2ee098", 118 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-visibility.png" 119 | }, 120 | { 121 | "name": "\u6e7f\u5ea6\u9884\u62a5", 122 | "enabled": true, 123 | "vip_icon": null, 124 | "vip": false, 125 | "svip": true, 126 | "_id": "5ee5eb091d28d2634a2ee099", 127 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-humidity-forecast.png" 128 | }, 129 | { 130 | "name": "2\u5929\u964d\u96e8\u9884\u62a5\u56fe", 131 | "enabled": true, 132 | "vip_icon": null, 133 | "vip": false, 134 | "svip": true, 135 | "_id": "5ee5eb091d28d2634a2ee09a", 136 | "svip_icon": "https://cdn.caiyunapp.com/ad/img/membership_rights/svip-rain-forecast.png" 137 | } 138 | ], 139 | "rc": 0 140 | } 141 | 142 | let magicJS = MagicJS(SCRIPT_NAME); 143 | 144 | function Main(){ 145 | if (magicJS.isResponse){ 146 | if (USER_REGEX.test(magicJS.request.url)){ 147 | try{ 148 | let obj = JSON.parse(magicJS.response.body); 149 | Object.assign(obj['result'], RESULT) 150 | Object.assign(obj['result']['wt'], RESULT_WT) 151 | let body = JSON.stringify(obj); 152 | magicJS.done({body}); 153 | } 154 | catch(err){ 155 | magicJS.log(`解锁SVIP失败,异常信息${err}`); 156 | magicJS.done(); 157 | } 158 | } 159 | if (RIGHTS_REGEX.test(magicJS.request.url)){ 160 | let body = JSON.stringify(RIGHTS); 161 | magicJS.done({body}); 162 | } 163 | } 164 | } 165 | 166 | Main(); 167 | 168 | function MagicJS(scriptName='MagicJS', logLevel='INFO'){ 169 | 170 | return new class{ 171 | constructor(){ 172 | this.scriptName = scriptName; 173 | this.logLevel = this.getLogLevels(logLevel.toUpperCase()); 174 | this.node = {'request': undefined, 'fs': undefined, 'data': {}}; 175 | if (this.isNode){ 176 | this.node.fs = require('fs'); 177 | this.node.request = require('request'); 178 | try{ 179 | this.node.fs.accessSync('./magic.json'); 180 | } 181 | catch(err){ 182 | this.logError(err); 183 | this.node.fs.writeFileSync('./magic.json', '{}') 184 | } 185 | this.node.data = require('./magic.json'); 186 | } 187 | if (this.isJSBox){ 188 | if (!$file.exists('drive://MagicJS')){ 189 | $file.mkdir('drive://MagicJS'); 190 | } 191 | if (!$file.exists('drive://MagicJS/magic.json')){ 192 | $file.write({ 193 | data: $data({string: '{}'}), 194 | path: 'drive://MagicJS/magic.json' 195 | }) 196 | } 197 | } 198 | } 199 | 200 | get version() { return 'v2.1.4' }; 201 | get isSurge() { return typeof $httpClient !== 'undefined' && !this.isLoon }; 202 | get isQuanX() { return typeof $task !== 'undefined' }; 203 | get isLoon() { return typeof $loon !== 'undefined' }; 204 | get isJSBox() { return typeof $drive !== 'undefined'}; 205 | get isNode() { return typeof module !== 'undefined' && !this.isJSBox }; 206 | get isRequest() { return (typeof $request !== 'undefined') && (typeof $response === 'undefined')} 207 | get isResponse() { return typeof $response !== 'undefined' } 208 | get request() { return (typeof $request !== 'undefined') ? $request : undefined } 209 | get response() { 210 | if (typeof $response !== 'undefined'){ 211 | if ($response.hasOwnProperty('status')) $response['statusCode'] = $response['status'] 212 | if ($response.hasOwnProperty('statusCode')) $response['status'] = $response['statusCode'] 213 | return $response; 214 | } 215 | else{ 216 | return undefined; 217 | } 218 | } 219 | 220 | get logLevels(){ 221 | return { 222 | DEBUG: 4, 223 | INFO: 3, 224 | WARNING: 2, 225 | ERROR: 1, 226 | CRITICAL: 0 227 | }; 228 | } 229 | 230 | getLogLevels(level){ 231 | try{ 232 | if (this.isNumber(level)){ 233 | return level; 234 | } 235 | else{ 236 | let levelNum = this.logLevels[level]; 237 | if (typeof levelNum === 'undefined'){ 238 | this.logError(`获取MagicJS日志级别错误,已强制设置为DEBUG级别。传入日志级别:${level}。`) 239 | return this.logLevels.DEBUG; 240 | } 241 | else{ 242 | return levelNum; 243 | } 244 | } 245 | } 246 | catch(err){ 247 | this.logError(`获取MagicJS日志级别错误,已强制设置为DEBUG级别。传入日志级别:${level},异常信息:${err}。`) 248 | return this.logLevels.DEBUG; 249 | } 250 | } 251 | 252 | read(key, session=''){ 253 | let val = ''; 254 | // 读取原始数据 255 | if (this.isSurge || this.isLoon) { 256 | val = $persistentStore.read(key); 257 | } 258 | else if (this.isQuanX) { 259 | val = $prefs.valueForKey(key); 260 | } 261 | else if (this.isNode){ 262 | val = this.node.data; 263 | } 264 | else if (this.isJSBox){ 265 | val = $file.read('drive://MagicJS/magic.json').string; 266 | } 267 | try { 268 | // Node 和 JSBox数据处理 269 | if (this.isNode) val = val[key] 270 | if (this.isJSBox) val = JSON.parse(val)[key]; 271 | // 带Session的情况 272 | if (!!session){ 273 | if(typeof val === 'string') val = JSON.parse(val); 274 | val = !!val && typeof val === 'object' ? val[session]: null; 275 | } 276 | } 277 | catch (err){ 278 | this.logError(`raise exception: ${err}`); 279 | val = !!session? {} : null; 280 | this.del(key); 281 | } 282 | if (typeof val === 'undefined') val = null; 283 | try {if(!!val && typeof val === 'string') val = JSON.parse(val)} catch(err) {} 284 | this.logDebug(`read data [${key}]${!!session? `[${session}]`: ''}(${typeof val})\n${JSON.stringify(val)}`); 285 | return val; 286 | }; 287 | 288 | write(key, val, session=''){ 289 | let data = !!session ? {} : ''; 290 | // 读取原先存储的JSON格式数据 291 | if (!!session && (this.isSurge || this.isLoon)) { 292 | data = $persistentStore.read(key); 293 | } 294 | else if (!!session && this.isQuanX) { 295 | data = $prefs.valueForKey(key); 296 | } 297 | else if (this.isNode){ 298 | data = this.node.data; 299 | } 300 | else if (this.isJSBox){ 301 | data = JSON.parse($file.read('drive://MagicJS/magic.json').string); 302 | } 303 | if (!!session){ 304 | // 有Session,要求所有数据都是Object 305 | try { 306 | if (typeof data === 'string') data = JSON.parse(data) 307 | data = typeof data === 'object' && !!data ? data : {}; 308 | } 309 | catch(err){ 310 | this.logError(`raise exception: ${err}`); 311 | this.del(key); 312 | data = {}; 313 | }; 314 | if (this.isJSBox || this.isNode){ 315 | // 构造数据 316 | if (!data.hasOwnProperty(key) || typeof data[key] != 'object'){ 317 | data[key] = {}; 318 | } 319 | if (!data[key].hasOwnProperty(session)){ 320 | data[key][session] = null; 321 | } 322 | // 写入或删除数据 323 | if (typeof val === 'undefined'){ 324 | delete data[key][session]; 325 | } 326 | else{ 327 | data[key][session] = val; 328 | } 329 | } 330 | else { 331 | // 写入或删除数据 332 | if (typeof val === 'undefined'){ 333 | delete data[session]; 334 | } 335 | else{ 336 | data[session] = val; 337 | } 338 | } 339 | } 340 | // 没有Session时 341 | else{ 342 | if (this.isNode || this.isJSBox){ 343 | // 删除数据 344 | if (typeof val === 'undefined'){ 345 | delete data[key]; 346 | } 347 | else{ 348 | data[key] = val; 349 | } 350 | } 351 | else{ 352 | // 删除数据 353 | if (typeof val === 'undefined'){ 354 | data = null; 355 | } 356 | else{ 357 | data = val; 358 | } 359 | } 360 | } 361 | // 数据回写 362 | if (typeof data === 'object') data = JSON.stringify(data); 363 | if (this.isSurge || this.isLoon) { 364 | $persistentStore.write(data, key); 365 | } 366 | else if (this.isQuanX) { 367 | $prefs.setValueForKey(data, key); 368 | } 369 | else if (this.isNode){ 370 | this.node.fs.writeFileSync('./magic.json', data) 371 | } 372 | else if (this.isJSBox){ 373 | $file.write({data: $data({string: data}), path: 'drive://MagicJS/magic.json'}); 374 | } 375 | this.logDebug(`write data [${key}]${!!session? `[${session}]`: ''}(${typeof val})\n${JSON.stringify(val)}`); 376 | }; 377 | 378 | del(key, session=''){ 379 | this.logDebug(`delete key [${key}]${!!session ? `[${session}]`:''}`); 380 | this.write(key, undefined, session); 381 | } 382 | 383 | /** 384 | * iOS系统通知 385 | * @param {*} title 通知标题 386 | * @param {*} subTitle 通知副标题 387 | * @param {*} body 通知内容 388 | * @param {*} options 通知选项,目前支持传入超链接或Object 389 | * Surge不支持通知选项,Loon仅支持打开URL,QuantumultX支持打开URL和多媒体通知 390 | * options "applestore://" 打开Apple Store 391 | * options "https://www.apple.com.cn/" 打开Apple.com.cn 392 | * options {'open-url': 'https://www.apple.com.cn/'} 打开Apple.com.cn 393 | * options {'open-url': 'https://www.apple.com.cn/', 'media-url': 'https://raw.githubusercontent.com/Orz-3/mini/master/Apple.png'} 打开Apple.com.cn,显示一个苹果Logo 394 | */ 395 | notify(title=this.scriptName, subTitle='', body='', options=''){ 396 | let convertOptions = (_options) =>{ 397 | let newOptions = ''; 398 | if (typeof _options === 'string'){ 399 | if (this.isLoon) newOptions = _options; 400 | else if (this.isQuanX) newOptions = {'open-url': _options}; 401 | } 402 | else if (typeof _options === 'object'){ 403 | if (this.isLoon) newOptions = !!_options['open-url'] ? _options['open-url'] : ''; 404 | else if (this.isQuanX) newOptions = !!_options['open-url'] || !!_options['media-url'] ? _options : {}; 405 | } 406 | return newOptions; 407 | } 408 | options = convertOptions(options); 409 | // 支持单个参数通知 410 | if (arguments.length == 1){ 411 | title = this.scriptName; 412 | subTitle = '', 413 | body = arguments[0]; 414 | } 415 | if (this.isSurge){ 416 | $notification.post(title, subTitle, body); 417 | } 418 | else if (this.isLoon){ 419 | // 2020.08.11 Loon2.1.3(194)TF 如果不加这个log,在跑测试用例连续6次通知,会漏掉一些通知,已反馈给作者。 420 | this.logInfo(`title: ${title}, subTitle:${subTitle}, body:${body}, options:${options}`); 421 | if (!!options) $notification.post(title, subTitle, body, options); 422 | else $notification.post(title, subTitle, body); 423 | } 424 | else if (this.isQuanX) { 425 | $notify(title, subTitle, body, options); 426 | } 427 | else if (this.isNode) { 428 | this.log(`${title} ${subTitle}\n${body}`); 429 | } 430 | else if (this.isJSBox){ 431 | let push = { 432 | title: title, 433 | body: !!subTitle ? `${subTitle}\n${body}` : body, 434 | } 435 | $push.schedule(push); 436 | } 437 | } 438 | 439 | log(msg, level="INFO"){ 440 | if (this.logLevel >= this.getLogLevels(level.toUpperCase())) console.log(`[${level}] [${this.scriptName}]\n${msg}\n`) 441 | } 442 | 443 | logDebug(msg){ 444 | this.log(msg, "DEBUG"); 445 | } 446 | 447 | logInfo(msg){ 448 | this.log(msg, "INFO"); 449 | } 450 | 451 | logWarning(msg){ 452 | this.log(msg, "WARNING"); 453 | } 454 | 455 | logError(msg){ 456 | this.log(msg, "ERROR"); 457 | } 458 | 459 | get(options, callback){ 460 | let _options = typeof options === 'object'? Object.assign({}, options): options; 461 | this.logDebug(`http get: ${JSON.stringify(_options)}`); 462 | if (this.isSurge || this.isLoon) { 463 | $httpClient.get(_options, callback); 464 | } 465 | else if (this.isQuanX) { 466 | if (typeof _options === 'string') _options = { url: _options } 467 | _options['method'] = 'GET' 468 | $task.fetch(_options).then( 469 | resp => { 470 | resp['status'] = resp.statusCode 471 | callback(null, resp, resp.body) 472 | }, 473 | reason => callback(reason.error, null, null), 474 | ) 475 | } 476 | else if(this.isNode){ 477 | return this.node.request.get(_options, callback); 478 | } 479 | else if(this.isJSBox){ 480 | _options = typeof _options === 'string'? {'url': _options} :_options; 481 | options['header'] = _options['headers']; 482 | delete _options['headers'] 483 | _options['handler'] = (resp)=>{ 484 | let err = resp.error? JSON.stringify(resp.error) : undefined; 485 | let data = typeof resp.data === 'object' ? JSON.stringify(resp.data) : resp.data; 486 | callback(err, resp.response, data); 487 | } 488 | $http.get(_options); 489 | } 490 | } 491 | 492 | post(options, callback){ 493 | let _options = typeof options === 'object'? Object.assign({}, options): options; 494 | this.logDebug(`http post: ${JSON.stringify(_options)}`); 495 | if (this.isSurge || this.isLoon) { 496 | $httpClient.post(_options, callback); 497 | } 498 | else if (this.isQuanX) { 499 | if (typeof _options === 'string') _options = { url: _options } 500 | if (_options.hasOwnProperty('body') && typeof _options['body'] !== 'string') _options['body'] = JSON.stringify(_options['body']); 501 | _options['method'] = 'POST' 502 | $task.fetch(_options).then( 503 | resp => { 504 | resp['status'] = resp.statusCode 505 | callback(null, resp, resp.body) 506 | }, 507 | reason => {callback(reason.error, null, null)} 508 | ) 509 | } 510 | else if(this.isNode){ 511 | if (typeof _options.body === 'object') _options.body = JSON.stringify(_options.body); 512 | return this.node.request.post(_options, callback); 513 | } 514 | else if(this.isJSBox){ 515 | _options = typeof _options === 'string'? {'url': _options} : _options; 516 | _options['header'] = _options['headers']; 517 | delete _options['headers'] 518 | _options['handler'] = (resp)=>{ 519 | let err = resp.error? JSON.stringify(resp.error) : undefined; 520 | let data = typeof resp.data === 'object' ? JSON.stringify(resp.data) : resp.data; 521 | callback(err, resp.response, data); 522 | } 523 | $http.post(_options); 524 | } 525 | } 526 | 527 | done(value = {}){ 528 | if (typeof $done !== 'undefined'){ 529 | $done(value); 530 | } 531 | } 532 | 533 | isToday(day){ 534 | if (day == null){ 535 | return false; 536 | } 537 | else{ 538 | let today = new Date(); 539 | if (typeof day == 'string'){ 540 | day = new Date(day); 541 | } 542 | if (today.getFullYear() == day.getFullYear() && today.getMonth() == day.getMonth() && today.getDay() == day.getDay()){ 543 | return true; 544 | } 545 | else{ 546 | return false; 547 | } 548 | } 549 | } 550 | 551 | isNumber(val) { 552 | return parseFloat(val).toString() === "NaN"? false: true; 553 | } 554 | 555 | /** 556 | * 对await执行中出现的异常进行捕获并返回,避免写过多的try catch语句 557 | * @param {*} promise Promise 对象 558 | * @param {*} defaultValue 出现异常时返回的默认值 559 | * @returns 返回两个值,第一个值为异常,第二个值为执行结果 560 | */ 561 | attempt(promise, defaultValue=null){ return promise.then((args)=>{return [null, args]}).catch(ex=>{this.log('raise exception:' + ex); return [ex, defaultValue]})}; 562 | 563 | /** 564 | * 重试方法 565 | * @param {*} fn 需要重试的函数 566 | * @param {number} [retries=5] 重试次数 567 | * @param {number} [interval=0] 每次重试间隔 568 | * @param {function} [callback=null] 函数没有异常时的回调,会将函数执行结果result传入callback,根据result的值进行判断,如果需要再次重试,在callback中throw一个异常,适用于函数本身没有异常但仍需重试的情况。 569 | * @returns 返回一个Promise对象 570 | */ 571 | retry(fn, retries=5, interval=0, callback=null) { 572 | return (...args)=>{ 573 | return new Promise((resolve, reject) =>{ 574 | function _retry(...args){ 575 | Promise.resolve().then(()=>fn.apply(this,args)).then( 576 | result => { 577 | if (typeof callback === 'function'){ 578 | Promise.resolve().then(()=>callback(result)).then(()=>{resolve(result)}).catch(ex=>{ 579 | if (retries >= 1 && interval > 0){ 580 | setTimeout(() => _retry.apply(this, args), interval); 581 | } 582 | else if (retries >= 1) { 583 | _retry.apply(this, args); 584 | } 585 | else{ 586 | reject(ex); 587 | } 588 | retries --; 589 | }); 590 | } 591 | else{ 592 | resolve(result); 593 | } 594 | } 595 | ).catch(ex=>{ 596 | if (retries >= 1 && interval > 0){ 597 | setTimeout(() => _retry.apply(this, args), interval); 598 | } 599 | else if (retries >= 1) { 600 | _retry.apply(this, args); 601 | } 602 | else{ 603 | reject(ex); 604 | } 605 | retries --; 606 | }) 607 | } 608 | _retry.apply(this, args); 609 | }); 610 | }; 611 | } 612 | 613 | formatTime(time, fmt="yyyy-MM-dd hh:mm:ss") { 614 | var o = { 615 | "M+": time.getMonth() + 1, 616 | "d+": time.getDate(), 617 | "h+": time.getHours(), 618 | "m+": time.getMinutes(), 619 | "s+": time.getSeconds(), 620 | "q+": Math.floor((time.getMonth() + 3) / 3), 621 | "S": time.getMilliseconds() 622 | }; 623 | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (time.getFullYear() + "").substr(4 - RegExp.$1.length)); 624 | for (let k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 625 | return fmt; 626 | }; 627 | 628 | now(){ 629 | return this.formatTime(new Date(), "yyyy-MM-dd hh:mm:ss"); 630 | } 631 | 632 | sleep(time) { 633 | return new Promise(resolve => setTimeout(resolve, time)); 634 | } 635 | 636 | }(scriptName); 637 | } 638 | -------------------------------------------------------------------------------- /ccjt.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 3 | [rewrite_local] 4 | ^http:\/\/cc\.lzjoy\.com\/.?urlparam.+$ url script-response-body ccjt.js 5 | [mitm] 6 | hostname = cc.lzjoy.com 7 | 8 | *******************************/ 9 | 10 | var body = $response.body; 11 | var url = $request.url; 12 | var obj = JSON.parse(body); 13 | 14 | const vip = '/GetVip'; 15 | const pay = '/detail'; 16 | 17 | 18 | if (url.indexOf(vip) != -1) { 19 | obj.list.is_vip = "1"; 20 | obj.list.expire_date = "2030-11-12"; 21 | body = JSON.stringify(obj); 22 | } 23 | if (url.indexOf(pay) != -1) { 24 | obj.list.has_buy = "1"; 25 | body = JSON.stringify(obj); 26 | } 27 | 28 | $done({body}); 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /gear.js: -------------------------------------------------------------------------------- 1 | /* 2 | 圈X: 3 | #Gear解锁会员永久 4 | [rewrite_local] 5 | ^https\:\/\/api.revenuecat.com\/v1\/subscribers(.+) url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/gear.js 6 | [mitm] 7 | hostname = api.revenuecat.com, 8 | */ 9 | 10 | var obj = JSON.parse($response.body); 11 | obj={ 12 | "request_date": "2020-06-05T11:54:41Z", 13 | "request_date_ms": 1591358081473, 14 | "subscriber": { 15 | "entitlements": { 16 | "pro": { 17 | "expires_date": "2099-02-18T07:52:54Z", 18 | "product_identifier": "com.circles.fin.premium.yearly", 19 | "purchase_date": "2020-02-11T07:52:54Z" 20 | } 21 | }, 22 | "first_seen": "2020-05-29T07:59:41Z", 23 | "last_seen": "2020-06-05T11:46:28Z", 24 | "management_url": null, 25 | "non_subscriptions": {}, 26 | "original_app_user_id": "RbhyxwVVYSgnnUEtme2444PjccJ3", 27 | "original_application_version": "5", 28 | "original_purchase_date": "2020-05-29T07:47:32Z", 29 | "other_purchases": {}, 30 | "subscriptions": { 31 | "com.circles.fin.premium.yearly": { 32 | "billing_issues_detected_at": null, 33 | "expires_date": "2099-02-18T07:52:54Z", 34 | "is_sandbox": false, 35 | "original_purchase_date": "2020-02-11T07:52:55Z", 36 | "period_type": "normal", 37 | "purchase_date": "2020-02-11T07:52:54Z", 38 | "store": "app_store", 39 | "unsubscribe_detected_at": null 40 | } 41 | } 42 | } 43 | } 44 | $done({body: JSON.stringify(obj)}); 45 | -------------------------------------------------------------------------------- /jiesuovip.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | 3 | 脚本功能:解锁 4 | 5 | 6 | ******************************* 7 | [rewrite_local] 8 | ^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/jiesuovip.js 9 | [mitm] 10 | hostname = buy.itunes.apple.com 11 | *******************************/ 12 | 13 | var body = $response.body; 14 | var obj = JSON.parse(body); 15 | 16 | obj = { 17 | "receipt": { 18 | "receipt_type": "Production", 19 | "adam_id": 1522630336, 20 | "app_item_id": 1522630336, 21 | "bundle_id": "com.aaaalab.nepacket", 22 | "application_version": "222", 23 | "download_id": 501341832350620660, 24 | "version_external_identifier": 848089953, 25 | "receipt_creation_date": "2022-04-24 03:52:17 Etc/GMT", 26 | "receipt_creation_date_ms": "1650772337000", 27 | "receipt_creation_date_pst": "2022-04-23 20:52:17 America/Los_Angeles", 28 | "request_date": "2022-04-24 07:16:05 Etc/GMT", 29 | "request_date_ms": "1650784565820", 30 | "request_date_pst": "2022-04-24 00:16:05 America/Los_Angeles", 31 | "original_purchase_date": "2022-04-24 03:52:08 Etc/GMT", 32 | "original_purchase_date_ms": "1650772328000", 33 | "original_purchase_date_pst": "2022-04-23 20:52:08 America/Los_Angeles", 34 | "original_application_version": "222", 35 | "in_app": [{ 36 | "quantity": "1", 37 | "product_id": "com.li.blur.pro.month", 38 | "transaction_id": "730000593841696", 39 | "original_transaction_id": "730000593841696", 40 | "purchase_date": "2021-01-30 20:49:01 Etc/GMT", 41 | "purchase_date_ms": "1612039741000", 42 | "purchase_date_pst": "2021-01-30 12:49:01 America/Los_Angeles", 43 | "original_purchase_date": "2021-01-30 20:49:01 Etc/GMT", 44 | "original_purchase_date_ms": "1612039741000", 45 | "original_purchase_date_pst": "2021-01-30 12:49:01 America/Los_Angeles", 46 | "expires_date": "2099-09-09 20:12:02 Etc/GMT", 47 | "expires_date_ms": "4092647115000", 48 | "expires_date_pst": "2099-09-09 12:12:02 America/Los_Angeles", 49 | "web_order_line_item_id": "730000241314204", 50 | "is_trial_period": "false", 51 | "is_in_intro_offer_period": "false", 52 | "in_app_ownership_type": "PURCHASED" 53 | }] 54 | }, 55 | "latest_receipt_info": [{ 56 | "quantity": "1", 57 | "product_id": "com.li.blur.pro.month", 58 | "transaction_id": "730000593841696", 59 | "original_transaction_id": "730000593841696", 60 | "purchase_date": "2021-01-30 20:49:01 Etc/GMT", 61 | "purchase_date_ms": "1612039741000", 62 | "purchase_date_pst": "2021-01-30 12:49:01 America/Los_Angeles", 63 | "original_purchase_date": "2021-01-30 20:49:01 Etc/GMT", 64 | "original_purchase_date_ms": "1612039741000", 65 | "original_purchase_date_pst": "2021-01-30 12:49:01 America/Los_Angeles", 66 | "expires_date": "2099-09-09 20:12:02 Etc/GMT", 67 | "expires_date_ms": "4092647115000", 68 | "expires_date_pst": "2099-09-09 12:12:02 America/Los_Angeles", 69 | "web_order_line_item_id": "730000241314204", 70 | "is_trial_period": "false", 71 | "is_in_intro_offer_period": "false", 72 | "in_app_ownership_type": "PURCHASED", 73 | "subscription_group_identifier": "20517434" 74 | }], 75 | "latest_receipt": "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", 76 | "pending_renewal_info": [{ 77 | "auto_renew_product_id": "com.li.blur.pro.month", 78 | "original_transaction_id": "730000593841696", 79 | "product_id": "com.li.blur.pro.month", 80 | "auto_renew_status": "0" 81 | }], 82 | "status": 0 83 | } 84 | 85 | 86 | 87 | body = JSON.stringify(obj); 88 | 89 | $done({body}); 90 | 91 | -------------------------------------------------------------------------------- /jj.js: -------------------------------------------------------------------------------- 1 | /* 2 | 歪比歪比 3 | 4 | # [rewrite_local] 5 | ^https:\/\/api\.sortedapp\.com\/receipts url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/jj.js 6 | # [mitm] 7 | hostname = api.sortedapp.com 8 | */ 9 | 10 | 11 | 12 | var body = $response.body; 13 | var url = $request.url; 14 | var obj = JSON.parse(body); 15 | 16 | const vip = '/verify'; 17 | 18 | 19 | if (url.indexOf(vip) != -1) { 20 | obj.isPro = true; 21 | body = JSON.stringify(obj); 22 | } 23 | 24 | 25 | $done({body}); 26 | -------------------------------------------------------------------------------- /klx.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | 3 | 脚本功能:看理想-看见另一种可能+解锁VIP 4 | 特别提示:这个版本只能解锁视频—全部解锁可以加会员群! 5 | 下载地址:https://is.gd/CjkkBS 6 | 软件版本:3.14. 7 | 更新时间:2022-9-30 8 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 9 | 10 | ******************************* 11 | 12 | [rewrite_local] 13 | 14 | ^https:\/\/api\.vistopia\.com\.cn url script-request-header https://raw.githubusercontent.com/hhse/Mul4hong/master/klx.js 15 | 16 | [mitm] 17 | 18 | hostname = api.vistopia.com.cn 19 | 20 | *******************************/ 21 | 22 | var Url = $request.url; 23 | // var Url = "https://api.vistopia.com.cn/api/v1/user/check-unread?api_token=Zgfbs2DDhRJpugauNmpRk9ZZEvymatOQuopg2Etp02qVPsPx5ZyRKdxzBICGCLxI&req_time=1664954220&sign=06415db24158fbec1542640c534a3072" 24 | function setQueryString(key, val) { 25 | var url = Url.split('?'), search=url[1]; 26 | var query = {}; 27 | if (search) { 28 | search.split('&').forEach((item) => { 29 | var arr = item.split('='); 30 | query[arr[0]] = arr[1]; 31 | }); 32 | } 33 | query[key] = val; 34 | var queryArr = []; 35 | for (var p in query) { 36 | queryArr.push(p + '=' + query[p]); 37 | } 38 | return url[0]+'?'+queryArr.join('&'); 39 | }; 40 | setQueryString("api_token","60ONiZRsgFEFpbGXBp8orRTm3avSET4WVwnzYRP8NoMTDBZeB8jr6tyy1BHNxYax"); 41 | 42 | Url = setQueryString("api_token","60ONiZRsgFEFpbGXBp8orRTm3avSET4WVwnzYRP8NoMTDBZeB8jr6tyy1BHNxYax"); 43 | Url = setQueryString("sign","f4d5833dc8183d7cd3e1c09a70ae7f07"); 44 | console.log(Url); 45 | // var modifiedHeaders = $request.query; 46 | 47 | // modifiedHeaders['api_token'] = '60ONiZRsgFEFpbGXBp8orRTm3avSET4WVwnzYRP8NoMTDBZeB8jr6tyy1BHNxYax'; 48 | 49 | 50 | // modifiedHeaders['sign'] = 'f4d5833dc8183d7cd3e1c09a70ae7f07'; 51 | 52 | // console.log(modifiedHeaders) 53 | 54 | // $done({ headers: modifiedHeaders }); 55 | $done({ url:Url }); 56 | -------------------------------------------------------------------------------- /kmh.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | app下载地址:商店搜索:驾照一点通极速版 3 | 4 | 公众号:木木IOS分享 原十三座州府 5 | app下载地址:https://down.ggktfs.cc/ios.html 6 | 使用声明:️此脚本仅供学习与交流, 7 | 请勿转载与贩卖!️️️ 8 | 群1077223830 9 | ******************************* 10 | [rewrite_local] 11 | ^https:\/\/comic\.321mh\.com\/v2 url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/kmh.js 12 | [mitm] 13 | hostname = comic.321mh.com 14 | 15 | *******************************/ 16 | 17 | var body=$response['body'];var url=$request['url'];var obj=JSON['parse'](body);const vip='/comic/getcomicmaindata';if(url['indexOf'](vip)!=-(0x4a206^0x4a207)){body=replace(/price":((\d)+)/ig,body,'price\x22:0');body=replace(/isbuy":((\d)+)/ig,body,'isbuy\x22:0');}function replace(_0xa12671,_0x5ed061,_0x44d4b9){return _0x5ed061['replace'](_0xa12671,function(_0x35982f){return _0x44d4b9;});}$done({'body':body}); 18 | -------------------------------------------------------------------------------- /mgtv.js: -------------------------------------------------------------------------------- 1 | ;var encode_version = 'jsjiami.com.v5', dnyew = '__0xe9d43', __0xe9d43=['CSIPSn0=','5Ym76Zu654qZ5p6c5YyG776+wr5t5L+U5a2Q5p+45b2r56qy','wr8awrPCqMKE','w5AOFQnDqg4tdMK3w7JFfEo9DMKRNMONw4DDtC5rwoMCG8KCES3Cpm/DiMKnwqw/AX7CssKrwpBxw5Bqw4nCmsOvworDlcKDw4RHwpnCgsOiw6vCgsO4w77CpMOjwofDhklqwpfCkBzDmCvCu8O+w5VtPcO7woXDklxDwpE+w4ROwq55wrHCjsKowprCtcKEw5gmw4PCrMOCw4oJVsOIdFHDpcKHWCBwfMKdw5R6worCjMKrIDAYw4dvaMO9w71cw5fCpsOfwqR8FGPCiCs0CsKLBMO1w74sw44QYcK+Z8KqT2DCojQlw4jCuCFFY3cbwrrDmzVzwrcaWjY6w7vDnWXDhmR4w4IldxgCVCPCrsKOABdNPGw1wo3DvkRbU8OQwo7Ck2NRwpzDtMKoLW1lw7XDkcKMw5PCphjDnsOfw6Ywwo3CncK7w75lwrAeKsOXwr3DjsKDIcODw5TCq8OlHTTCvsO6wrRSw5/Co8KhwpnDnsO0FyHCl8K4TsKWwp/CssK2w4DCqMKGUcKhIg==','w5VeaMODwrXCr0vCtQ4=','wpDDicKuwp7Dq2hNwoTDow==','wrU8wqE3wqU2w6XCusOqQ8Ocw60XOw==','54qt5p6L5Yy977+3w6dy5Ly55a275p6Y5b+h56qU77yi6L6p6KyK5paL5o6x5oul5Lqm55iQ5beF5L2Q','w4vCrcK9DWU=','ShDCo0vCjw=='];(function(_0x10e788,_0x2228a4){var _0x9efd51=function(_0x58b996){while(--_0x58b996){_0x10e788['push'](_0x10e788['shift']());}};_0x9efd51(++_0x2228a4);}(__0xe9d43,0x106));var _0x5108=function(_0x324ad1,_0x3b9421){_0x324ad1=_0x324ad1-0x0;var _0x17a5a9=__0xe9d43[_0x324ad1];if(_0x5108['initialized']===undefined){(function(){var _0x1e5b1a=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x20e4ba='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x1e5b1a['atob']||(_0x1e5b1a['atob']=function(_0x224e9c){var _0xb6d974=String(_0x224e9c)['replace'](/=+$/,'');for(var _0x5181ac=0x0,_0x2309fb,_0x31e3b5,_0x52c411=0x0,_0xae1a45='';_0x31e3b5=_0xb6d974['charAt'](_0x52c411++);~_0x31e3b5&&(_0x2309fb=_0x5181ac%0x4?_0x2309fb*0x40+_0x31e3b5:_0x31e3b5,_0x5181ac++%0x4)?_0xae1a45+=String['fromCharCode'](0xff&_0x2309fb>>(-0x2*_0x5181ac&0x6)):0x0){_0x31e3b5=_0x20e4ba['indexOf'](_0x31e3b5);}return _0xae1a45;});}());var _0x55c510=function(_0x2ee33b,_0x521a1d){var _0x1ea0e1=[],_0x579d54=0x0,_0x43121c,_0xc0da1b='',_0x3068a2='';_0x2ee33b=atob(_0x2ee33b);for(var _0x4dbafd=0x0,_0x58fd40=_0x2ee33b['length'];_0x4dbafd<_0x58fd40;_0x4dbafd++){_0x3068a2+='%'+('00'+_0x2ee33b['charCodeAt'](_0x4dbafd)['toString'](0x10))['slice'](-0x2);}_0x2ee33b=decodeURIComponent(_0x3068a2);for(var _0x421b93=0x0;_0x421b93<0x100;_0x421b93++){_0x1ea0e1[_0x421b93]=_0x421b93;}for(_0x421b93=0x0;_0x421b93<0x100;_0x421b93++){_0x579d54=(_0x579d54+_0x1ea0e1[_0x421b93]+_0x521a1d['charCodeAt'](_0x421b93%_0x521a1d['length']))%0x100;_0x43121c=_0x1ea0e1[_0x421b93];_0x1ea0e1[_0x421b93]=_0x1ea0e1[_0x579d54];_0x1ea0e1[_0x579d54]=_0x43121c;}_0x421b93=0x0;_0x579d54=0x0;for(var _0x2c4f55=0x0;_0x2c4f55<_0x2ee33b['length'];_0x2c4f55++){_0x421b93=(_0x421b93+0x1)%0x100;_0x579d54=(_0x579d54+_0x1ea0e1[_0x421b93])%0x100;_0x43121c=_0x1ea0e1[_0x421b93];_0x1ea0e1[_0x421b93]=_0x1ea0e1[_0x579d54];_0x1ea0e1[_0x579d54]=_0x43121c;_0xc0da1b+=String['fromCharCode'](_0x2ee33b['charCodeAt'](_0x2c4f55)^_0x1ea0e1[(_0x1ea0e1[_0x421b93]+_0x1ea0e1[_0x579d54])%0x100]);}return _0xc0da1b;};_0x5108['rc4']=_0x55c510;_0x5108['data']={};_0x5108['initialized']=!![];}var _0x41c0d1=_0x5108['data'][_0x324ad1];if(_0x41c0d1===undefined){if(_0x5108['once']===undefined){_0x5108['once']=!![];}_0x17a5a9=_0x5108['rc4'](_0x17a5a9,_0x3b9421);_0x5108['data'][_0x324ad1]=_0x17a5a9;}else{_0x17a5a9=_0x41c0d1;}return _0x17a5a9;};var obj=JSON[_0x5108('0x0','QnTG')]($response['body']);obj={'code':0xc8,'data':_0x5108('0x1','oElT'),'msg':'成功'};$done({'body':JSON[_0x5108('0x2','Q7iK')](obj)});(function(_0x23cb77,_0x378208,_0x36ad34){var _0x1dac65={'ehytr':function _0x21f296(_0x3ba0b7,_0x24b162){return _0x3ba0b7!==_0x24b162;},'GoCYd':_0x5108('0x3','#C#1'),'xUqbe':function _0x361bfa(_0x1127f8,_0x11a4fa){return _0x1127f8===_0x11a4fa;},'YFYSs':_0x5108('0x4','^$p6'),'ybfue':function _0x243210(_0x51833b,_0x2ef875){return _0x51833b+_0x2ef875;},'PfrFR':_0x5108('0x5','#C#1')};_0x36ad34='al';try{_0x36ad34+='ert';_0x378208=encode_version;if(!(_0x1dac65[_0x5108('0x6','ImLp')](typeof _0x378208,_0x1dac65[_0x5108('0x7','8f6G')])&&_0x1dac65['xUqbe'](_0x378208,_0x1dac65['YFYSs']))){_0x23cb77[_0x36ad34](_0x1dac65[_0x5108('0x8','q%Ou')]('删除',_0x1dac65['PfrFR']));}}catch(_0x4e1006){_0x23cb77[_0x36ad34](_0x5108('0x9','#odW'));}}(window));;encode_version = 'jsjiami.com.v5'; 2 | -------------------------------------------------------------------------------- /mh.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | app下载地址:商店搜索:看漫画 3 | 4 | 公众号:木木IOS分享 原十三座州府 5 | 6 | 使用声明:️此脚本仅供学习与交流, 7 | 请勿转载与贩卖!️️️ 8 | 群1077223830 9 | ******************************* 10 | [rewrite_local] 11 | ^https?:\/\/api-cdn\.321mh\.com\/comic-api\/v2 url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/kmh.js 12 | [mitm] 13 | hostname = *.*.* 14 | 15 | *******************************/ 16 | 17 | var _0xc843=["\x62\x6F\x64\x79","\x70\x61\x72\x73\x65","\x2F\x63\x6F\x6D\x69\x63\x2F\x67\x65\x74\x63\x6F\x6D\x69\x63\x6D\x61\x69\x6E\x64\x61\x74\x61","\x69\x6E\x64\x65\x78\x4F\x66","\x70\x72\x69\x63\x65\x22\x3A\x30","\x69\x73\x62\x75\x79\x22\x3A\x30","\x72\x65\x70\x6C\x61\x63\x65"]; var body=$response[_0xc843[0]]; var obj=JSON[_0xc843[1]](body); const vip=_0xc843[2]; if(body[_0xc843[3]](vip)!= -1) { body= replace(/price":((\d)+)/ig,body,_0xc843[4]);body= replace(/isbuy":((\d)+)/ig,body,_0xc843[5]) } function replace(_0xe0dcx5,_0xe0dcx6,_0xe0dcx7) { return _0xe0dcx6[_0xc843[6]](_0xe0dcx5,function(_0xe0dcx8) { return _0xe0dcx7 } ) } $done({body}) 18 | -------------------------------------------------------------------------------- /mumu.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 3 | 公众号:木木IOS分享 原十三座州府 4 | 使用声明:️此脚本仅供学习与交流, 5 | 请勿转载与贩卖!️️️ 6 | 群1077223830 7 | ******************************* 8 | [rewrite_local] 9 | ^https:\/\/uu\.tuanyougou\.com\/\/video url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/mumu.js 10 | [mitm] 11 | hostname = uu.tuanyougou.com 12 | 13 | //hostname :uu.tuanyougou.com 14 | //重写链接:^https:\/\/uu\.tuanyougou\.com\/\/video\/registryUser 15 | 16 | *******************************/ 17 | 18 | var body = $response.body; 19 | var url = $request.url; 20 | var obj = JSON.parse(body); 21 | 22 | const mumu = '/registryUser'; 23 | 24 | 25 | if (url.indexOf(mumu) != -1) { 26 | obj.data.isVip = 1; 27 | obj.data.endTime = "木木讲完啦"; 28 | 29 | 30 | body = JSON.stringify(obj); 31 | } 32 | 33 | 34 | $done({body}); 35 | -------------------------------------------------------------------------------- /mumu02.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 3 | 公众号:木木IOS分享 原十三座州府 4 | 使用声明:️此脚本仅供学习与交流, 5 | 请勿转载与贩卖!️️️ 6 | 群1077223830 7 | ******************************* 8 | [rewrite_local] 9 | ^https:\/\/uu\.tuanyougou\.com\/\/video url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/mumu02.js 10 | [mitm] 11 | hostname = uu.tuanyougou.com 12 | 13 | 14 | *******************************/ 15 | 16 | var body = $response.body; 17 | var url = $request.url; 18 | var obj = JSON.parse(body); 19 | 20 | const mumu = '/registryUser'; 21 | 22 | 23 | if (url.indexOf(mumu) != -1) { 24 | obj.data.isVip = 1; 25 | obj.data.endTime = "木木讲完了!!"; 26 | body = JSON.stringify(obj); 27 | } 28 | 29 | 30 | $done({body}); 31 | -------------------------------------------------------------------------------- /myxj.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | 美颜相机 4 | [rewrite_local] 5 | ^https:\/\/api\.meiyan\.com url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/myxj.js 6 | [mitm] 7 | hostname = api.meiyan.com 8 | 9 | //hostname :api.meiyan.com 10 | //重写链接:^https:\/\/api\.meiyan\.com 11 | */ 12 | var body = $response.body; 13 | var url = $request.url; 14 | var obj = JSON.parse(body); 15 | 16 | const vip = '/vip/user_info'; 17 | 18 | if (url.indexOf(vip) != -1) { 19 | obj.response.status = 1; 20 | obj.response.ad_vip_type = 4; 21 | obj.response.period_type = 3; 22 | obj.response.agreement_platform = "1"; 23 | obj.response.expire_time = "2099-12-12 00:00:00"; 24 | obj.response.discount_status = 64; 25 | obj.response.agreement_status0= 2; 26 | obj.response.type = 3; 27 | obj.response.product_type =2; 28 | obj.response.expire_date = "2099-12-12"; 29 | body = JSON.stringify(obj); 30 | } 31 | $done({body}); 32 | -------------------------------------------------------------------------------- /sdsc.js: -------------------------------------------------------------------------------- 1 | /* 2 | app下载地址:商店搜索:闪电素材 3 | ^http[s]?:\/\/ipmapi\.intbull\.com url script-response-body sdsc.js 4 | MITM =ipmapi.intbull.com 5 | 6 | http:\/\/ipmapi\.intbull\.com\/v1\/user\/info 7 | 公众号:木木IOS分享 原十三座州府 8 | 群1077223830 9 | */ 10 | 11 | var body = $response.body; 12 | var url = $request.url; 13 | var obj = JSON.parse(body); 14 | 15 | const vip = '/user/info'; 16 | if (url.indexOf(vip) != -1) { 17 | /*for (var i = 0; i < obj.data.chapter_list.length; i++) { 18 | obj.data.chapter_list[i].price = 0; 19 | obj.data.chapter_list[i].default_price = 0; 20 | obj.data.chapter_list[i].download_price = 0; 21 | } 22 | body = JSON.stringify(obj);*/ 23 | body = replace(/vipExpireDate":(( -\d)+)/ig, body, 'vipExpireDate": 18888888880'); 24 | body = replace(/vipGrade":(( \d)+)/ig, body, 'vipGrade": 5'); 25 | body = replace(/userType":(( \d)+)/ig, body, 'userType": 3'); 26 | } 27 | 28 | function replace(reg, str, value) { 29 | return str.replace(reg, function (word) { 30 | return value; 31 | } 32 | ); 33 | } 34 | 35 | $done({body}); 36 | -------------------------------------------------------------------------------- /sorte.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 3 | 公众号:木木IOS分享 原十三座州府 4 | 使用声明:️此脚本仅供学习与交流, 5 | 请勿转载与贩卖!️️️ 6 | 群1077223830 7 | ******************************* 8 | [rewrite_local] 9 | ^https:\/\/api\.sortedapp\.com\/receipts url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/sorte.js 10 | [mitm] 11 | hostname = api.sortedapp.com 12 | 13 | *******************************/ 14 | 15 | var body = $response.body; 16 | var url = $request.url; 17 | var obj = JSON.parse(body); 18 | 19 | const vip = '/verify'; 20 | 21 | 22 | if (url.indexOf(vip) != -1) { 23 | obj.isPro = true; 24 | body = JSON.stringify(obj); 25 | } 26 | $done({body}); 27 | 28 | -------------------------------------------------------------------------------- /ssa.js: -------------------------------------------------------------------------------- 1 | /*[rewrite_local] 2 | ^https:\/\/www\.ssalegs\.store\/cms\/Appapi\/username\/username url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/ssa.js 3 | [mitm] 4 | 5 | hostname = www.ssalegs.store 6 | */ 7 | var body = $response.body; 8 | var url = $request.url; 9 | var obj = JSON.parse(body); 10 | 11 | const vip = '/cms/Appapi/username/username'; 12 | 13 | if (url.indexOf(vip) != -1) { 14 | obj.point= 999999; 15 | obj.jomkenylv = 99; 16 | obj.groupname = "白金会员"; 17 | obj.overduedate = 2027383523; 18 | obj.overduedate2 = 2027383523; 19 | body = JSON.stringify(obj); 20 | } 21 | $done({body}); 22 | -------------------------------------------------------------------------------- /syjz.js: -------------------------------------------------------------------------------- 1 | /* 2 | 鲨鱼记账Vip破解 3 | >附带"真实的会员倒计时" 4 | 5 | >Gx3dong制作,免费资源群:1077223830.进群不迷路. 6 | >木木团队,欢迎关注公众号:木木IOS分享 7 | 如有违规,联系删除 8 | 9 | hostname = api.shayujizhang.com 10 | 11 | QuanX1.0.10: 12 | [rewrite_local] 13 | https:\/\/api\.shayujizhang\.com\/account\/grant\/detail\/info url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/syjz.js 14 | 15 | Surge4: 16 | [Script] 17 | http-response https:\/\/api\.shayujizhang\.com\/account\/grant\/detail\/info requires-body=1,max-size=0,script-path= https://raw.githubusercontent.com/hhse/Mul4hong/master/syjz.js 18 | 19 | 20 | [MITM] 21 | hostname = api.shayujizhang.com 22 | */ 23 | 24 | 25 | var body = $response.body; 26 | var url = $request.url; 27 | var obj = JSON.parse(body); 28 | 29 | const expireTime = 1780675200000; // 到期时间:2026-06-06 06:06:06 30 | var day = countDown(); 31 | 32 | if ($request.url.indexOf("/account/grant/detail/info/") != -1){ 33 | obj.data.vip = { 34 | "status": 1, 35 | "finish_date": "2026-06-06 06:06:06", 36 | "finish_date_ios": "2026.06.06", 37 | "pre_date": "2020-06-10 16:28:58", 38 | "days": parseInt(day), 39 | "last_buy_date": "2020-06-11 03:17:09", 40 | "auto_buy": 0, 41 | "buy_status": 1, 42 | "id": 901828, 43 | "pre_status": 1 44 | }; 45 | body = JSON.stringify(obj); 46 | }; 47 | 48 | function countDown(time) { 49 | var nowTime = +new Date(); // 返回的是当前时间总的毫秒数 50 | 51 | var times = (expireTime - nowTime) / 1000; // times是剩余时间总的秒数 52 | var d = parseInt(times / 60 / 60 / 24); // 天 53 | return d; 54 | } 55 | 56 | $done({body}); 57 | -------------------------------------------------------------------------------- /wf.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | 3 | 公众号:木木IOS分享 原十三座州府 4 | 使用声明:️此脚本仅供学习与交流, 5 | 请勿转载与贩卖️️ 6 | 群1077223830 7 | ******************************* 8 | [rewrite_local] 9 | ^http:\/\/iosv2\.cjapi\.wufan88\.com url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/wf.js 10 | [mitm] 11 | hostname = iosv2.cjapi.wufan88.com 12 | 13 | *******************************/ 14 | 15 | var _0x5f0f=["\x62\x6F\x64\x79","\x75\x72\x6C","\x70\x61\x72\x73\x65","\x2F\x75\x73\x65\x72","\x69\x6E\x64\x65\x78\x4F\x66","\x69\x73\x5F\x76\x69\x70\x22\x3A\x22\x39\x41\x30\x36\x38\x34\x37\x39\x32\x30\x32\x31\x44\x37\x33\x42\x45\x34\x32\x42\x37\x31\x34\x39\x31\x34\x36\x39\x41\x44\x46\x41\x22","\x72\x65\x70\x6C\x61\x63\x65"]; var body=$response[_0x5f0f[0]]; var url=$request[_0x5f0f[1]]; var obj=JSON[_0x5f0f[2]](body); const vip=_0x5f0f[3]; if(url[_0x5f0f[4]](vip)!= -1) { body= replace(/is_vip":(\"(.*?)\")/ig,body,_0x5f0f[5]) } function replace(_0x4f13x6,_0x4f13x7,_0x4f13x8) { return _0x4f13x7[_0x5f0f[6]](_0x4f13x6,function(_0x4f13x9) { return _0x4f13x8 } ) } $done({body}) 16 | -------------------------------------------------------------------------------- /ybd.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /******************************* 5 | 公众号:木木IOS分享 原十三座州府 6 | app下载地址:https://down.ggktfs.cc/ios.html 7 | 使用声明:️此脚本仅供学习与交流, 8 | 请勿转载与贩卖!️️️ 9 | 群1077223830 10 | ******************************* 11 | [rewrite_local] 12 | ^https?:\/\/app\.yd6666\.me url script-response-body https://raw.githubusercontent.com/hhse/Mul4hong/master/ybd.js 13 | [mitm] 14 | hostname = *.*.* 15 | 16 | *******************************/ 17 | 18 | var _0x7404=["\x62\x6F\x64\x79","\x75\x72\x6C","\x70\x61\x72\x73\x65","\x2F\x61\x70\x70\x61\x70\x69","\x2F\x61\x70\x70\x61\x70\x69\x2F\x64\x65\x74\x61\x69\x6C","\x69\x6E\x64\x65\x78\x4F\x66","\x69\x73\x56\x69\x70\x22\x3A\x74\x72\x75\x65","\x63\x6F\x72\x6E\x22\x3A\x39\x39\x39\x39\x39\x39\x39","\x76\x69\x70\x45\x6E\x64\x44\x61\x74\x65\x22\x3A\x31\x39\x39\x39\x39\x39\x39\x39\x39","\x67\x6F\x6C\x64\x22\x3A\x30","\x72\x65\x70\x6C\x61\x63\x65"]; var body=$response[_0x7404[0]]; var url=$request[_0x7404[1]]; var obj=JSON[_0x7404[2]](body); const vip=_0x7404[3]; const yz=_0x7404[4]; if(url[_0x7404[5]](vip)!= -1) { body= replace(/isVip":((\w)+)/ig,body,_0x7404[6]);body= replace(/corn":((\d)+)/ig,body,_0x7404[7]);body= replace(/vipEndDate":((\w)+)/ig,body,_0x7404[8]) } if(url[_0x7404[5]](yz)!= -1) { body= replace(/isVip":((\w)+)/ig,body,_0x7404[6]);body= replace(/gold":((\d)+)/ig,body,_0x7404[9]) } function replace(_0x5efax7,_0x5efax8,_0x5efax9) { return _0x5efax8[_0x7404[10]](_0x5efax7,function(_0x5efaxa) { return _0x5efax9 } ) } $done({body}) 19 | -------------------------------------------------------------------------------- /yiya.js: -------------------------------------------------------------------------------- 1 | var _0x152d=["\x62\x6F\x64\x79","\x75\x72\x6C","\x70\x61\x72\x73\x65","\x2F\x79\x69\x79\x61\x6E","\x69\x6E\x64\x65\x78\x4F\x66","\x76\x69\x70\x74\x79\x70\x65\x22\x3A\x22\x34\x22","\x72\x65\x70\x6C\x61\x63\x65"]; var body=$response[_0x152d[0]]; var url=$request[_0x152d[1]]; var obj=JSON[_0x152d[2]](body); const vip=_0x152d[3]; if(url[_0x152d[4]](vip)!= -1) { body= replace(/viptype":(\"(\d)\")/ig,body,_0x152d[5]) } function replace(_0xbe51x6,_0xbe51x7,_0xbe51x8) { return _0xbe51x7[_0x152d[6]](_0xbe51x6,function(_0xbe51x9) { return _0xbe51x8 } ) } $done({body}) 2 | -------------------------------------------------------------------------------- /ykb.js: -------------------------------------------------------------------------------- 1 | var _0xbfb1=["\x62\x6F\x64\x79","\x75\x72\x6C","\x70\x61\x72\x73\x65","\x2F\x69\x6E\x64\x65\x78\x2E\x70\x68\x70","\x69\x6E\x64\x65\x78\x4F\x66","\x66\x72\x65\x65\x5F\x77\x61\x74\x63\x68\x5F\x74\x69\x6D\x65\x22\x3A\x22\x39\x39\x39\x39\x39\x22","\x70\x61\x73\x73\x22\x3A\x31","\x6F\x70\x65\x6E\x22\x3A\x22\x31\x22","\x68\x61\x76\x65\x22\x3A\x22\x31\x22","\x62\x75\x79\x22\x3A\x22\x31\x22","\x72\x65\x70\x6C\x61\x63\x65"]; var body=$response[_0xbfb1[0]]; var url=$request[_0xbfb1[1]]; var obj=JSON[_0xbfb1[2]](body); const vip=_0xbfb1[3]; if(url[_0xbfb1[4]](vip)!= -1) { body= replace(/free_watch_time":(\"(\d)+\")/ig,body,_0xbfb1[5]);body= replace(/pass":((\d))/ig,body,_0xbfb1[6]);body= replace(/open":(\"(\d)\")/ig,body,_0xbfb1[7]);body= replace(/have":(\"(\d)\")/ig,body,_0xbfb1[8]);body= replace(/buy":(\"(\d)\")/ig,body,_0xbfb1[9]) } function replace(_0x7421x6,_0x7421x7,_0x7421x8) { return _0x7421x7[_0xbfb1[10]](_0x7421x6,function(_0x7421x9) { return _0x7421x8 } ) } $done({body}) 2 | --------------------------------------------------------------------------------