Skip to content

Commit fef6c04

Browse files
authored
Merge branch 'master' into pr
2 parents f18801e + cd99a7a commit fef6c04

File tree

8 files changed

+152
-36
lines changed

8 files changed

+152
-36
lines changed

NobyDa_BoxJs.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@
384384
"descs_html": [
385385
"<h4 align=\"center\">脚本配置请查看<a href=\"https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js\">脚本注释</a></h4>"
386386
],
387-
"keys": ["BiliArea_Policy", "BiliArea_CN", "BiliArea_HK", "BiliArea_TW"],
387+
"keys": ["BiliArea_Policy", "BiliArea_CN", "BiliArea_HK", "BiliArea_TW", "BiliArea_DF", "BiliArea_disabled"],
388388
"settings": [{
389389
"id": "BiliAreaNotify",
390390
"name": "静默运行",
@@ -425,6 +425,20 @@
425425
"type": "text",
426426
"placeholder": "(点击以展开说明)",
427427
"desc": "哔哩哔哩分流策略组里的台湾子策略名"
428+
}, {
429+
"id": "BiliArea_DF",
430+
"name": "后备-子策略名",
431+
"val": "",
432+
"type": "text",
433+
"placeholder": "(点击以展开说明)",
434+
"desc": "部分番剧可能会被屏蔽, 使用该策略以避免页面加载失败. 建议填写台湾子策略"
435+
}, {
436+
"id": "BiliArea_disabled",
437+
"name": "WiFi黑名单",
438+
"val": "",
439+
"type": "text",
440+
"placeholder": "(点击以展开说明)",
441+
"desc": "WiFi名称以逗号分隔, 名单内将跳过策略切换"
428442
}],
429443
"author": "@NobyDa",
430444
"repo": "https://github.com/NobyDa/Script/blob/master/Surge/JS/Bili_Auto_Regions.js",

QuantumultX/AdRule.list

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1412,7 +1412,6 @@ DOMAIN-SUFFIX,api-flow.flyme.cn,REJECT
14121412
DOMAIN-SUFFIX,api-game.meizu.com,REJECT
14131413
DOMAIN-SUFFIX,apihk.growingio.com,REJECT
14141414
DOMAIN-SUFFIX,api-push.meizu.com,REJECT
1415-
DOMAIN-SUFFIX,api-shoulei-ssl.xunlei.com,REJECT
14161415
DOMAIN-SUFFIX,apisoft.df0535.com,REJECT
14171416
DOMAIN-SUFFIX,apk.idate520.com,REJECT
14181417
DOMAIN-SUFFIX,apk.supfast.net,REJECT

QuantumultX/Js.conf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@ https://api.zhihu.com/topstory/recommend url script-response-body https://raw.gi
8181
https://api.zhihu.com/v4/questions url script-response-body https://raw.githubusercontent.com/onewayticket255/Surge-Script/master/surge%20zhihu%20answer.js
8282

8383
# 哔哩哔哩动画去广告 (onewayticket255)
84-
https://app.bilibili.com/x/v2/(splash|search/(defaultword|square)) url reject-200
84+
https://app.bilibili.com/x/v2/(splash|search/square) url reject-200
8585
https://api.bilibili.com/x/v2/dm/ad url reject-200
86-
#https://app.bilibili.com/x/v2/space\?access_key url script-response-body https://raw.githubusercontent.com/onewayticket255/Surge-Script/master/surge%20bilibili%20space.js
8786
https://app.bilibili.com/x/resource/show/tab\?access_key url script-response-body https://raw.githubusercontent.com/onewayticket255/Surge-Script/master/surge%20bilibili%20tab.js
8887
https://app.bilibili.com/x/v2/feed/index\?access_key url script-response-body https://raw.githubusercontent.com/onewayticket255/Surge-Script/master/surge%20bilibili%20feed.js
8988
https://app.bilibili.com/x/v2/account/mine\?access_key url script-response-body https://raw.githubusercontent.com/onewayticket255/Surge-Script/master/surge%20bilibili%20account.js

QuantumultX/Rewrite_lhie1.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ hostname = api.cognitive.microsofttranslator.com,offline.microsofttranslator.com
418418
^https?:\/\/du\.hupucdn\.com\/\w+h\d{4} url reject-img
419419
^https?:\/\/api\.yangkeduo\.com\/api\/cappuccino\/splash url reject-img
420420
^https?:\/\/mp\.weixin\.qq\.com\/(s|mp)\/(ad_|advertisement|getappmsgad|report|appmsgreport|appmsgpicreport) url reject-img
421-
^https?:\/\/ap(i|p)\.bilibili\.com\/((x\/v2|pgc)\/(search\/defaultword|season\/rank\/cn|splash\/)|(pgc/season/rank/cn|x/v2/(rank.*?rid=(168|5)|search/(defaultword|hot|recommend|resource)))) url reject-img
421+
^https?:\/\/ap(i|p)\.bilibili\.com\/((x\/v2|pgc)\/(season\/rank\/cn|splash\/)|(pgc/season/rank/cn|x/v2/(rank.*?rid=(168|5)|search/(hot|recommend|resource)))) url reject-img
422422
^https?:\/\/www\.zhihu\.com\/terms\/privacy\/confirm url reject-img
423423
^https?:\/\/api\.zhihu\.com\/market\/popover url reject-img
424424
^https?:\/\/api\.zhihu\.com\/search\/(top|tab|preset) url reject-img

Surge/AdRule.list

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1423,7 +1423,6 @@ DOMAIN-SUFFIX,api-flow.flyme.cn
14231423
DOMAIN-SUFFIX,api-game.meizu.com
14241424
DOMAIN-SUFFIX,apihk.growingio.com
14251425
DOMAIN-SUFFIX,api-push.meizu.com
1426-
DOMAIN-SUFFIX,api-shoulei-ssl.xunlei.com
14271426
DOMAIN-SUFFIX,apisoft.df0535.com
14281427
DOMAIN-SUFFIX,apk.idate520.com
14291428
DOMAIN-SUFFIX,apk.supfast.net

Surge/JS/Bili_Auto_Regions.js

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
如需禁用豆瓣评分或策略通知, 可前往BoxJs设置.
66
BoxJs订阅地址: https://raw.githubusercontent.com/NobyDa/Script/master/NobyDa_BoxJs.json
77
8-
Update: 2021.09.26
8+
Update: 2022.01.18
99
Author: @NobyDa
1010
Use: Surge, QuanX, Loon
1111
@@ -34,7 +34,7 @@ QX用户注: 使用切换地区功能请确保您的QX=>其他设置=>温和策
3434
Surge 4.7+ 远程脚本配置 :
3535
****************************
3636
[Script]
37-
Bili Region = type=http-response,pattern=^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/(v\d\/)?app|x(\/v\d)?\/view\/video)\/(season|online)\?access_key,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
37+
Bili Region = type=http-response,pattern=^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/v\d\/app\/season|x\/v\d\/search\/defaultwords)\?access_key,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
3838
3939
#可选, 适用于搜索指定地区的番剧
4040
Bili Search = type=http-request,pattern=^https:\/\/app\.bilibili\.com\/x\/v\d\/search(\/type)?\?.+?%20(%E6%B8%AF|%E5%8F%B0|%E4%B8%AD)&,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
@@ -46,7 +46,7 @@ hostname = ap?.bilibili.com
4646
Quantumult X 远程脚本配置 :
4747
****************************
4848
[rewrite_local]
49-
^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/(v\d\/)?app|x(\/v\d)?\/view\/video)\/(season|online)\?access_key url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
49+
^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/v\d\/app\/season|x\/v\d\/search\/defaultwords)\?access_key url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
5050
5151
#可选, 适用于搜索指定地区的番剧
5252
^https:\/\/app\.bilibili\.com\/x\/v\d\/search(\/type)?\?.+?%20(%E6%B8%AF|%E5%8F%B0|%E4%B8%AD)& url script-request-header https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js
@@ -62,7 +62,7 @@ ip-cidr, 203.107.1.1/24, reject
6262
Loon 远程脚本配置 :
6363
****************************
6464
[Script]
65-
http-response ^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/(v\d\/)?app|x(\/v\d)?\/view\/video)\/(season|online)\?access_key script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js, requires-body=true, tag=bili自动地区
65+
http-response ^https:\/\/ap(p|i)\.bilibili\.com\/(pgc\/view\/v\d\/app\/season|x\/v\d\/search\/defaultwords)\?access_key script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js, requires-body=true, tag=bili自动地区
6666
6767
#可选, 适用于搜索指定地区的番剧
6868
http-request ^https:\/\/app\.bilibili\.com\/x\/v\d\/search(\/type)?\?.+?%20(%E6%B8%AF|%E5%8F%B0|%E4%B8%AD)& script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Bili_Auto_Regions.js, requires-body=true, tag=bili自动地区(搜索)
@@ -80,23 +80,35 @@ async function SwitchRegion(play) {
8080
const CN = $.read('BiliArea_CN') || 'DIRECT'; //Your China sub-policy name.
8181
const TW = $.read('BiliArea_TW') || '🇹🇼 sub-policy'; //Your Taiwan sub-policy name.
8282
const HK = $.read('BiliArea_HK') || '🇭🇰 sub-policy'; //Your HongKong sub-policy name.
83+
const DF = $.read('BiliArea_DF') || '🏁 sub-policy'; //Sub-policy name used after region is blocked(e.g. url 404)
84+
const off = $.read('BiliArea_disabled') || ''; //WiFi blacklist(disable region change), separated by commas.
8385
const current = await $.getPolicy(Group);
8486
const area = (() => {
87+
let select;
8588
if (/\u50c5[\u4e00-\u9fa5]+\u6e2f|%20%E6%B8%AF&/.test(play)) {
86-
if (current != HK) return HK;
89+
const test = /\u50c5[\u4e00-\u9fa5]+\u53f0/.test(play);
90+
if (current != HK && (current == TW && test ? 0 : 1)) select = HK;
8791
} else if (/\u50c5[\u4e00-\u9fa5]+\u53f0|%20%E5%8F%B0&/.test(play)) {
88-
if (current != TW) return TW;
89-
} else if (current != CN) return CN;
92+
if (current != TW) select = TW;
93+
} else if (play === -404) {
94+
if (current != DF) select = DF;
95+
} else if (current != CN) {
96+
select = CN;
97+
}
98+
if ($.isQuanX && current === 'direct' && select === 'DIRECT') {
99+
select = null; //avoid loops in some cases
100+
}
101+
return select;
90102
})()
91103

92-
if (area) {
104+
if (area && !off.includes($.ssid || undefined)) {
93105
const change = await $.setPolicy(Group, area);
94106
const notify = $.read('BiliAreaNotify') === 'true';
95107
const msg = SwitchStatus(change, current, area);
96108
if (!notify) {
97-
$.notify(/^http/.test(play) || !play ? `` : play, ``, msg);
109+
$.notify((/^(http|-404)/.test(play) || !play) ? `` : play, ``, msg);
98110
} else {
99-
console.log(`${/^http/.test(play)||!play?``:play}\n${msg}`);
111+
console.log(`${(/^(http|-404)/.test(play)||!play)?``:play}\n${msg}`);
100112
}
101113
if (change) {
102114
return true;
@@ -106,7 +118,7 @@ async function SwitchRegion(play) {
106118
}
107119

108120
function SwitchStatus(status, original, newPolicy) {
109-
if (status) {
121+
if (status && typeof original !== 'number') {
110122
return `${original} => ${newPolicy} => 🟢`;
111123
} else if (original === 2) {
112124
return `切换失败, 策略组名未填写或填写有误 ⚠️`
@@ -123,9 +135,14 @@ function EnvInfo() {
123135
if (typeof($response) !== 'undefined') {
124136
const raw = JSON.parse($response.body);
125137
const data = raw.data || raw.result || {};
126-
//if surge or loon, $done() will auto reconnect with the new policy
127-
SwitchRegion(data.title)
128-
.then(s => s && !$.isQuanX ? $done() : QueryRating(raw, data));
138+
SwitchRegion(data.title || (raw.code === -404 ? -404 : null))
139+
.then(s => s ? $done({
140+
status: $.isQuanX ? "HTTP/1.1 408 Request Timeout" : 408,
141+
headers: {
142+
Connection: "close"
143+
},
144+
body: "{}"
145+
}) : QueryRating(raw, data));
129146
} else {
130147
const raw = $request.url;
131148
const res = {
@@ -237,6 +254,17 @@ function nobyda() {
237254
const isLoon = typeof $loon != "undefined";
238255
const isQuanX = typeof $task != "undefined";
239256
const isSurge = typeof $network != "undefined" && typeof $script != "undefined";
257+
const ssid = (() => {
258+
if (isQuanX && typeof($environment) !== 'undefined') {
259+
return $environment.ssid;
260+
}
261+
if (isSurge && $network.wifi) {
262+
return $network.wifi.ssid;
263+
}
264+
if (isLoon) {
265+
return JSON.parse($config.getConfig()).ssid;
266+
}
267+
})();
240268
const notify = (title, subtitle, message) => {
241269
console.log(`${title}\n${subtitle}\n${message}`);
242270
if (isQuanX) $notify(title, subtitle, message);
@@ -328,6 +356,7 @@ function nobyda() {
328356
isLoon,
329357
notify,
330358
read,
359+
ssid,
331360
get
332361
}
333362
}

Surge/WeChat.list

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ DOMAIN-KEYWORD,113.105.166.
3535
DOMAIN-KEYWORD,113.96.154.
3636
DOMAIN-KEYWORD,113.96.156.
3737
DOMAIN-KEYWORD,113.96.16.
38+
DOMAIN-KEYWORD,113.96.18.
3839
DOMAIN-KEYWORD,113.96.202.
3940
DOMAIN-KEYWORD,113.96.208.
4041
DOMAIN-KEYWORD,113.96.209.
@@ -53,6 +54,7 @@ DOMAIN-KEYWORD,116.253.61.
5354
DOMAIN-KEYWORD,117.184.242.
5455
DOMAIN-KEYWORD,117.187.243.
5556
DOMAIN-KEYWORD,117.41.224.
57+
DOMAIN-KEYWORD,119.147.190.
5658
DOMAIN-KEYWORD,119.147.227.
5759
DOMAIN-KEYWORD,119.147.83.
5860
DOMAIN-KEYWORD,119.188.155.
@@ -140,6 +142,9 @@ DOMAIN-KEYWORD,183.3.233.
140142
DOMAIN-KEYWORD,183.3.234.
141143
DOMAIN-KEYWORD,183.3.235.
142144
DOMAIN-KEYWORD,183.47.97.
145+
DOMAIN-KEYWORD,183.47.101.
146+
DOMAIN-KEYWORD,183.47.115.
147+
DOMAIN-KEYWORD,183.47.117.
143148
DOMAIN-KEYWORD,183.60.131.
144149
DOMAIN-KEYWORD,183.60.155.
145150
DOMAIN-KEYWORD,183.61.13.
@@ -215,6 +220,8 @@ DOMAIN-KEYWORD,58.247.204.
215220
DOMAIN-KEYWORD,58.247.205.
216221
IP-CIDR6,2402:4e00:8010::/112,no-resolve
217222
IP-CIDR6,2402:4e00:8020:101::2:0/112,no-resolve
223+
IP-CIDR6,2402:4e00:1020:10fb:0:9466::/112,no-resolve
224+
IP-CIDR6,2402:4e00:1430:2264:0:9467::/96,no-resolve
218225
IP-CIDR6,2408:80f1:31:50::/112,no-resolve
219226
IP-CIDR6,2409:8c1e:8fd0:50::/112,no-resolve
220227
IP-CIDR6,240e:e1:a900:50::/112,no-resolve
@@ -254,11 +261,13 @@ IP-CIDR6,240E:93C:8:10::/60,no-resolve
254261
IP-CIDR6,240E:95C:2003:20::/60,no-resolve
255262
IP-CIDR6,240E:95C:3003:14::/60,no-resolve
256263
IP-CIDR6,240E:96C:6400:700::/60,no-resolve
264+
IP-CIDR6,240E:97C:2F::/60,no-resolve
257265
IP-CIDR6,240E:97D:4:1E00::/60,no-resolve
258266
IP-CIDR6,240E:CF:8800::/56,no-resolve
259-
IP-CIDR6,240E:E1:A800::/48,no-resolve
267+
IP-CIDR6,240E:E1:A800::/46,no-resolve
260268
IP-CIDR6,240E:E1:A900::/48,no-resolve
261269
IP-CIDR6,240E:E1:AA00::/48,no-resolve
270+
IP-CIDR6,240E:E9:6003::/48,no-resolve
262271
IP-CIDR6,240E:F7:4F00:1F10::/60,no-resolve
263272
IP-CIDR6,240E:F7:A070:100::/60,no-resolve
264273
IP-CIDR6,240E:F7:A070:403::/60,no-resolve

0 commit comments

Comments
 (0)