banner
Shelken

Shelken

twitter
github
jike

優雅觀看新番:B站客戶端使用指南

聲明#

不提供涉及 APP 的下載及其他使用教程

前提#

  1. 知道 QuanX 的基本使用邏輯,以及基本的概念
  2. 有自我修改部分代碼能力和上 github 或者其他托管代碼平台的能力

學習資源來源#

效果#

效果 1#

  1. 進入 B 站客戶端
  2. 進入『首頁』,點擊『追番』
  3. 找到番劇『進擊的巨人最終季』19CC3738-4345-4CAB-896F-A21B8B051B7C_1_201_a
  4. 點擊進入,腳本會自動將代理節點切換設置的代理分組9C12ABCB-933D-4C5D-8660-390BAFF3631B_1_201_a
  5. 如果出現『找不到頁面』,點擊頁面的『重新加載』或刷新頁面,進入番劇觀看頁面,正常觀看E0691890-CF30-4798-8B4C-4E3FBD6AB387_1_201_a
  6. 退出觀看頁,腳本自動切換為直連3D637A3B-F675-4DA0-B67E-E697B6FB1953_1_201_a

效果 2#

  1. 進入 B 站客戶端
  2. 點擊『輸入框』
  3. 輸入『進擊的巨人 港』
  4. 腳本自動切換代理分組
  5. 頁面顯示『進擊的巨人』番劇結果941D38C8-4229-4899-9A34-9A25D070B229_1_201_a
  6. 點擊『立即觀看』,進入觀看頁

優點#

  • 不用再每次看港澳台番劇時自己手動切成全局,看完後又切換回規則模式,全自動。

實踐#

準備#

  • 帶有 ios 系統的 iPhone
  • 一個 QuanX App
  • 『Bili_Auto_Region 腳本』

修改原有腳本#

  1. 到『腳本原作者倉庫』,fork 該倉庫

  2. 加入『StreamingSE』規則集(必須)

    # 綁定相關select或static策略組,並且需要具有相關的區域代理伺服器納入您的子策略中,子策略可以是伺服器也可以是其他區域策略組.
    https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Filter/StreamingMedia/StreamingSE.list
    
  3. 設置該規則集的『策略偏好』為自己的『父策略組』(例如我設為 『BiliGroup』)

  4. 添加幾個子策略組(如台灣 or 香港)(這裡涉及到策略組的節點選擇策略,自行了解)

  5. 修改 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);
    
  6. 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--------------------
    
  7. 打開 App;將以上兩個文件『分流』與『重寫』分別引用;

  8. 最後,在 QuanX -> 其他設置 -> VPN 中,關閉 MPM(溫和策略機制)

  9. 至此,所有需要做的都已經完成,此時,進入 B 站客戶端,實現以上的效果

Why?#

為什麼?這部分將對『實踐』中的部分操作做解釋。

  1. 為什麼 fork 倉庫?

    因為需要修改原腳本相關分組的名字,這部分由自己定義;而且涉及到『重寫』與『分流』引用,雖然不是必須,但是強烈建議這樣做;可以方便地管理這些規則的開關;
    
  2. 為什麼關閉 MPM

    主要是在切換策略時打斷之前的連接,讓策略生效(個人認為)
    

已知問題#

  1. 在長時間使用 B 站一段時間後,會發現腳本有失效情況,這個時候退出 B 站重新進入可以解決。

最後#

如果有代碼方面的問題,請到原作者腳本倉庫上提 issue。

如果有關於以上實踐部分的問題,可以在下方評論提問。本教程也是參考了原腳本的註釋部分,自行實踐得來,建議在問之前把註釋看一遍;不提供除實踐部分之外的問題。如果是我知道的,我會提供關鍵詞給你,然後請自己去問谷歌。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。