聲明#
不提供涉及 APP 的下載及其他使用教程
前提#
- 知道 QuanX 的基本使用邏輯,以及基本的概念
- 有自我修改部分代碼能力和上 github 或者其他托管代碼平台的能力
學習資源來源#
效果#
效果 1#
- 進入 B 站客戶端
- 進入『首頁』,點擊『追番』
- 找到番劇『進擊的巨人最終季』
- 點擊進入,腳本會自動將代理節點切換設置的代理分組
- 如果出現『找不到頁面』,點擊頁面的『重新加載』或刷新頁面,進入番劇觀看頁面,正常觀看
- 退出觀看頁,腳本自動切換為直連
效果 2#
- 進入 B 站客戶端
- 點擊『輸入框』
- 輸入『進擊的巨人 港』
- 腳本自動切換代理分組
- 頁面顯示『進擊的巨人』番劇結果
- 點擊『立即觀看』,進入觀看頁
優點#
- 不用再每次看港澳台番劇時自己手動切成全局,看完後又切換回規則模式,全自動。
實踐#
準備#
- 帶有 ios 系統的 iPhone
- 一個 QuanX App
- 『Bili_Auto_Region 腳本』
修改原有腳本#
-
到『腳本原作者倉庫』,fork 該倉庫
-
加入『StreamingSE』規則集(必須)
# 綁定相關select或static策略組,並且需要具有相關的區域代理伺服器納入您的子策略中,子策略可以是伺服器也可以是其他區域策略組. https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/StreamingMedia/StreamingSE.list
-
設置該規則集的『策略偏好』為自己的『父策略組』(例如我設為 『BiliGroup』)
-
添加幾個子策略組(如台灣 or 香港)(這裡涉及到策略組的節點選擇策略,自行了解)
-
修改 Surge/JS/Bili_Auto_Regions.js,提交更改
//找到如下代碼塊,刪除如下中文,修改成自己創建的策略組名 const Group = $.read('BiliArea_Policy') || '你的父策略組(BiliGroup)'; //Your blibli policy group name. const CN = $.read('BiliArea_CN') || 'DIRECT'; //Your China sub-policy name. const TW = $.read('BiliArea_TW') || '台灣子策略組'; //Your Taiwan sub-policy name. const HK = $.read('BiliArea_HK') || '香港子策略組'; //Your HongKong sub-policy name. const DF = $.read('BiliArea_DF') || '請求失敗後的策略組'; //Sub-policy name used after region is blocked(e.g. url 404) const off = $.read('BiliArea_disabled') || '在某些wifi下不轉換策略組'; //WiFi blacklist(disable region change), separated by commas. const current = await $.getPolicy(Group);
-
在 QuantumultX/ 目錄下(或其他目錄),新增兩個文件,一個『分流』,一個『重寫』,舉例:
#『重寫』引用:Bili_Region.conf # start------------- hostname = ap?.bilibili.com, ap?.biliapi.net ^https:\/\/ap(p|i)\.bili(bili|api)\.(com|net)\/(pgc\/view\/v\d\/app\/season|x\/v\d\/search\/defaultwords)\?access_key url script-response-body https://raw.githubusercontent.com/你的用戶名/Script/master/Surge/JS/Bili_Auto_Regions.js # 適用於搜索指定地區的番劇(該腳本為『效果2』的實現,根據自身需要選擇) ^https:\/\/ap(p|i)\.bili(bili|api)\.(com|net)\/x\/v\d\/search(\/type)?\?.+?%20(%E6%B8%AF|%E5%8F%B0|%E4%B8%AD)& url script-request-header https://raw.githubusercontent.com/你的用戶名/Script/master/Surge/JS/Bili_Auto_Regions.js # end-------------- #『分流』引用:Bili_Region.list # start----------------- ip-cidr, 203.107.1.1/24, reject # end--------------------
-
打開 App;將以上兩個文件『分流』與『重寫』分別引用;
-
最後,在 QuanX -> 其他設置 -> VPN 中,關閉 MPM(溫和策略機制)
-
至此,所有需要做的都已經完成,此時,進入 B 站客戶端,實現以上的效果
Why?#
為什麼?這部分將對『實踐』中的部分操作做解釋。
-
為什麼 fork 倉庫?
因為需要修改原腳本相關分組的名字,這部分由自己定義;而且涉及到『重寫』與『分流』引用,雖然不是必須,但是強烈建議這樣做;可以方便地管理這些規則的開關;
-
為什麼關閉 MPM
主要是在切換策略時打斷之前的連接,讓策略生效(個人認為)
已知問題#
- 在長時間使用 B 站一段時間後,會發現腳本有失效情況,這個時候退出 B 站重新進入可以解決。
最後#
如果有代碼方面的問題,請到原作者腳本倉庫上提 issue。
如果有關於以上實踐部分的問題,可以在下方評論提問。本教程也是參考了原腳本的註釋部分,自行實踐得來,建議在問之前把註釋看一遍;不提供除實踐部分之外的問題。如果是我知道的,我會提供關鍵詞給你,然後請自己去問谷歌。