├── README.md ├── .vscode └── settings.json ├── override ├── xbox-dl.stoverride ├── redirect-google.stoverride ├── reject-quic.stoverride ├── reject-p2p.stoverride ├── apple-accelerated-download.stoverride ├── redirect-bilibili-cdn-ov.stoverride ├── redirect-hmt-bilibili-cdn-cn.stoverride └── redirect-cn-bilibili-cdn-cn.stoverride ├── LICENSE └── script └── jwt.js /README.md: -------------------------------------------------------------------------------- 1 | 🏃 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "*.stoverride": "yaml" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /override/xbox-dl.stoverride: -------------------------------------------------------------------------------- 1 | name: Xbox 下载重定向国内 CDN 2 | desc: https://blog.terrychan.me/2021/redirct-xboxlive-cdn-to-china 3 | category: Xbox 4 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/Xbox.png 5 | #>------ 6 | 7 | http: 8 | force-http-engine: 9 | - "*.xboxlive.com:80" 10 | url-rewrite: 11 | - https?:\/\/(assets\d|d\d|xvcf\d|dlassets)\.xboxlive\.com http://$1.xboxlive.cn 302 12 | -------------------------------------------------------------------------------- /override/redirect-google.stoverride: -------------------------------------------------------------------------------- 1 | name: Google CN 重定向 2 | desc: 将 g.cn / google.cn 重定向到 google.com 3 | category: Google 4 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/Google.png 5 | #>------ 6 | 7 | http: 8 | force-http-engine: 9 | - "g.cn" 10 | - "*.google.cn" 11 | mitm: 12 | - "g.cn" 13 | - "*.google.cn" 14 | rewrite: 15 | - ^https?:\/\/(www.)?(g|google)\.cn https://www.google.com 302 16 | -------------------------------------------------------------------------------- /override/reject-quic.stoverride: -------------------------------------------------------------------------------- 1 | name: 🌟 屏蔽 HTTP3 / QUIC 🌟 2 | desc: |- 3 | • 部分代理协议(如 Vmess)缺陷,不支持代理 UDP 4 | • QUIC 会导致部分 HTTP Engine 高级功能失效 5 | • 一些运营商可能对 QUIC 协议进行 QoS,将其作为低优先级流量进行处理 6 | category: Network 7 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/Magic.png 8 | #>------ 9 | 10 | rules: 11 | - SCRIPT,quic,REJECT,no-track 12 | script: 13 | shortcuts: 14 | quic: network == 'udp' and dst_port == 443 15 | -------------------------------------------------------------------------------- /override/reject-p2p.stoverride: -------------------------------------------------------------------------------- 1 | name: 屏蔽视频网站 P2P 后台上传 2 | desc: 避免视频网站通过 P2P 后台上传(原作者:Dreamacro) 3 | category: Bilibili 4 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/bilibili.png 5 | #>------ 6 | 7 | rules: 8 | - SCRIPT,tcp-p2p-shit,REJECT,no-track 9 | - SCRIPT,udp-p2p-shit,REJECT,no-track 10 | script: 11 | shortcuts: 12 | tcp-p2p-shit: network == 'tcp' and 'stun' in host and ('douyu' in host or 'bilibili' in host) 13 | udp-p2p-shit: network == 'udp' and ('bilibili' in host or 'mcdn' in host or 'douyu' in host) 14 | -------------------------------------------------------------------------------- /override/apple-accelerated-download.stoverride: -------------------------------------------------------------------------------- 1 | name:  Apple Accelerated Download 2 | desc: |- 3 | Apple 相关 CDN 域名指向 Apple 香港源站: 4 | • 🏬 iOS & Mac AppStore 5 | • 🎵 Apple Music 6 | • ⚙️ Apple Developer 7 | category: Apple 8 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/Apple.png 9 | #>------ 10 | 11 | hosts: 12 | iosapps.itunes.apple.com: 17.253.85.201 13 | osxapps.itunes.apple.com: 17.253.85.201 14 | aod.itunes.apple.com: 17.253.85.201 15 | publicassets.cdn-apple.com: 17.253.85.201 16 | download.developer.apple.com: 17.253.85.201 17 | devimages-cdn.apple.com: 17.253.85.201 18 | 19 | rules: 20 | - DOMAIN-SUFFIX,iosapps.itunes.apple.com,DIRECT 21 | - DOMAIN-SUFFIX,osxapps.itunes.apple.com,DIRECT 22 | - DOMAIN-SUFFIX,aod.itunes.apple.com,DIRECT 23 | - DOMAIN-SUFFIX,cdn-apple.com,DIRECT 24 | - DOMAIN-SUFFIX,download.developer.apple.com,DIRECT 25 | - DOMAIN-SUFFIX,devimages-cdn.apple.com,DIRECT 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Kaming Chan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /override/redirect-bilibili-cdn-ov.stoverride: -------------------------------------------------------------------------------- 1 | name: BiliBili 海外 CDN 重定向 2 | desc: |- 3 | 🌎 适配港澳台版和 Miao Project 4 | 🍻 加载更流畅的 BiliBili 更值得干杯! 5 | ⚠️ 需要 MitM 或者关闭 HTTPS 加载 6 | category: Bilibili 7 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/bilibili.png 8 | #>------ 9 | 10 | # 测试视频 https://www.bilibili.com/video/BV13r4y1o7Y9/ 11 | # 诊断地址 https://www.bilibili.com/blackboard/video-diagnostics.html 12 | 13 | http: 14 | force-http-engine: 15 | - upos-hz-mirrorakam.akamaized.net:80 16 | - "*.bilivideo.com:80" 17 | mitm: 18 | - upos-hz-mirrorakam.akamaized.net:443 19 | - "*.bilivideo.com:443" 20 | 21 | url-rewrite: 22 | # alternative: 23 | # upos-sz-mirrorhw.bilivideo.com -> 华为云 24 | # upos-sz-mirrorcos.bilivideo.com -> 腾讯云 25 | # upos-sz-mirrorali.bilivideo.com -> 阿里云 26 | # cn-gddg-ct-01-01.bilivideo.com -> 广东东莞电信 27 | # cn-lnsy-cu-01-01.bilivideo.com -> 辽宁沈阳联通 28 | - https?:\/\/upos-hz-mirrorakam.akamaized.net\/upgcxcode\/ http://upos-sz-mirrorali.bilivideo.com transparent 29 | - https?:\/\/(.*)\.bilivideo\.(cn|com)\/upgcxcode\/ http://upos-sz-mirrorali.bilivideo.com transparent 30 | -------------------------------------------------------------------------------- /override/redirect-hmt-bilibili-cdn-cn.stoverride: -------------------------------------------------------------------------------- 1 | name: BiliBili 重定向到正规 CDN 2 | desc: |- 3 | 🇭🇰 仅适合在中国大陆使用港澳台版 4 | 🍻 加载更流畅的 BiliBili 更值得干杯! 5 | ⚠️ 需要 MitM 或者关闭 HTTPS 加载 6 | category: Bilibili 7 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/bilibili.png 8 | #>------ 9 | 10 | http: 11 | force-http-engine: 12 | - "*.bilivideo.cn:80" 13 | - "*.bilivideo.com:80" 14 | 15 | - "*:4480" 16 | - "*:8000" 17 | - "*:9102" 18 | 19 | mitm: 20 | - "*.bilivideo.cn:443" 21 | - "*.bilivideo.com:443" 22 | - "*.mcdn.bilivideo.cn:4483" 23 | - "*.mcdn.bilivideo.com:4483" 24 | - "*.mcdn.bilivideo.cn:8082" 25 | - "*.mcdn.bilivideo.com:8082" 26 | 27 | url-rewrite: 28 | - https?:\/\/(.*):(8000)\/v1\/resource\/ - reject 29 | # alternative: 30 | # upos-sz-mirrorhw.bilivideo.com -> 华为云 31 | # upos-sz-mirrorcos.bilivideo.com -> 腾讯云 32 | # upos-sz-mirrorbs.bilivideo.com -> 白山云 33 | # upos-sz-mirrorali.bilivideo.com -> 阿里云 34 | # cn-gddg-ct-01-01.bilivideo.com -> 广东东莞电信 35 | # cn-lnsy-cu-01-01.bilivideo.com -> 辽宁沈阳联通 36 | # cn-gddg-cm-01-01.bilivideo.com -> 广东东莞移动 37 | - https?:\/\/(.*)\.bilivideo\.(cn|com)\/upgcxcode\/ http://upos-sz-mirrorali.bilivideo.com transparent 38 | - https?:\/\/(.*):(4480|4483|9102)\/upgcxcode\/ http://upos-sz-mirrorali.bilivideo.com transparent 39 | -------------------------------------------------------------------------------- /override/redirect-cn-bilibili-cdn-cn.stoverride: -------------------------------------------------------------------------------- 1 | name: BiliBili 重定向到中国大陆正规 CDN 2 | desc: |- 3 | 🇨🇳 仅适配中国区商店版 4 | 🍻 加载更流畅的 BiliBili 更值得干杯! 5 | ⚠️ 需要 MitM 或者关闭 HTTPS 加载 6 | category: Bilibili 7 | icon: https://cdn.jsdelivr.net/gh/Koolson/Qure/IconSet/Color/bilibili.png 8 | #>------ 9 | 10 | http: 11 | force-http-engine: 12 | - "*.bilivideo.cn:80" 13 | - "*.bilivideo.com:80" 14 | - "*:4480" 15 | - "*:9102" 16 | mitm: 17 | - "*.bilivideo.cn:443" 18 | - "*.bilivideo.com:443" 19 | - "*.mcdn.bilivideo.com:4483" 20 | - "*.mcdn.bilivideo.cn:4483" 21 | url-rewrite: 22 | # alternative: 23 | # upos-sz-mirrorhw.bilivideo.com 24 | # upos-sz-mirrorcos.bilivideo.com 25 | # upos-sz-mirrorcoso1.bilivideo.com 26 | # upos-sz-mirrorcoso2.bilivideo.com 27 | # upos-sz-mirrorbs.bilivideo.com 28 | # upos-sz-mirrorali.bilivideo.com 29 | - https?:\/\/(.*)\.bilivideo\.(cn|com)\/upgcxcode\/ http://upos-sz-mirrorcos.bilivideo.com transparent 30 | - https?:\/\/(.*):(4480|4483|9102)\/upgcxcode\/ http://upos-sz-mirrorcos.bilivideo.com transparent 31 | 32 | script: 33 | shortcuts: 34 | bilibili-quic: network == 'udp' and geoip(dst_ip) == 'CN' and dst_port in [3478, 4483, 8000] 35 | bilibili-shit: ('pcdn' in host and 'biliapi' in host) or ('p2p' in host and 'bilibili' in host) 36 | rules: 37 | - SCRIPT,bilibili-quic,REJECT,no-track 38 | - SCRIPT,bilibili-shit,REJECT,no-track 39 | -------------------------------------------------------------------------------- /script/jwt.js: -------------------------------------------------------------------------------- 1 | function main() { 2 | let did = $request.headers["Device-Id"]; 3 | if (!did) { 4 | $done(); 5 | return; 6 | } 7 | let now = parseInt(new Date().getTime() / 1000); 8 | let exp = now + 7 * 24 * 60 * 60; 9 | let exp_date = new Date(exp * 1000).toISOString(); 10 | let payload = { 11 | expiry_date: exp_date, 12 | iat: now, 13 | iss: "aptakube-com", 14 | exp: exp, 15 | }; 16 | let header = { 17 | alg: "HS512", 18 | }; 19 | let b64url_encode = function (str) { 20 | return btoa(str).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); 21 | }; 22 | 23 | let header_b64 = b64url_encode(JSON.stringify(header)); 24 | let payload_b64 = b64url_encode(JSON.stringify(payload)); 25 | 26 | let enc = new TextEncoder("utf-8"); 27 | window.crypto.subtle 28 | .importKey( 29 | "raw", 30 | enc.encode(did), 31 | { 32 | name: "HMAC", 33 | hash: { name: "SHA-512" }, 34 | }, 35 | false, 36 | ["sign", "verify"] 37 | ) 38 | .then((key) => { 39 | window.crypto.subtle 40 | .sign("HMAC", key, enc.encode(header_b64 + "." + payload_b64)) 41 | .then((signature) => { 42 | let signature_b64 = b64url_encode( 43 | String.fromCharCode.apply(null, new Uint8Array(signature)) 44 | ); 45 | let jwt = header_b64 + "." + payload_b64 + "." + signature_b64; 46 | let body = { 47 | expiry_date: exp_date, 48 | token: jwt, 49 | }; 50 | $done({ body: JSON.stringify(body) }); 51 | }); 52 | }); 53 | } 54 | 55 | main(); 56 | --------------------------------------------------------------------------------