HTTP 引擎與重寫
[http-engine]
內部 HTTP 引擎設定。
| 鍵 | 類型 | 說明 |
|---|---|---|
enabled | 布林值 | 啟用引擎,預設 false。 |
capture-all | 布林值 | 處理指定 TCP 連接埠上的所有 IPv4 目的地,預設 false;保留原有網域/CIDR 清單。 |
cidr-list | IPv4 CIDR 清單 | 額外的目的地 IP 擷取範圍。 |
port-list | 整數清單 | TCP 連接埠 1–65535,預設 80,443。 |
http3-policy | allow 或 block | 預設 allow。封鎖 HTTP/3 可能促使相容用戶端改用 TCP,並非 HTTP/3 解密。 |
mitm-bypass-apple-services | 布林值 | 預設 true,避免解密已知 Apple 服務網域。 |
mitm-bypass-domain-list | 網域後綴清單 | 額外的不解密網域。 |
upstream-tcp-receive-window | 整數 | 進階上游接收視窗大小:4096–1048576 位元組,預設 262144。 |
domain-list | 網域後綴清單 | 套用 HTTP 處理的網域;* 表示所有網域。 |
ca-p12 | 字串 | base64 編碼的 PKCS#12 CA,目前僅支援 RSA 金鑰。 |
ca-passphrase | 字串 | ca-p12 憑證密碼。 |
[http-engine]
enabled=true
domain-list=example.com
ca-p12=...
ca-passphrase=...
[http-url-rewrite]
定義 HTTP URL 重寫規則,鍵為自訂規則名稱。
| 鍵 | 類型 | 說明 | 必填 |
|---|---|---|---|
match | 正規表示式 | 比對 URL。 | 是 |
action | 字串 | reject 或 redirect-302。 | 是 |
target | 字串 | 重新導向的目的地 URL。 | 否 |
enabled | 布林值 | 預設 true。 | 否 |
[http-url-rewrite]
block-ads=match:^https?://ads\..*,action:reject
redirect-google=match:^https?://google\.com,action:redirect-302,target:https://duckduckgo.com
[http-body-rewrite]
具名的要求或回應正文規則,參照受管理的本機腳本。App 編輯器與 MFHRB 匯入器共同管理腳本資源及其設定檔參照。請勿在此貼上遠端腳本 URL,並期待自動下載或更新。
| 欄位 | 說明 |
|---|---|
match | 必填,比對正規化完整 URL 的正規表示式,最多 4096 UTF-8 位元組。 |
direction | request 或 response,預設 response。 |
type | 必填,jq 或 javascript。 |
body-mode | json 或 text;jq 必須使用 JSON。jq 預設 json,JavaScript 預設 text。 |
script | 必填,由編輯器/匯入器產生的受管理本機資源參照。 |
priority | 0–1000000,預設 100。較小值先執行;相同值依規則名稱排序。 |
enabled | 設定檔語法預設 true;MFHRB 匯入一律儲存為停用。 |
api-version | 1。 |
timeout-ms | 僅 JavaScript:50–2000 ms,預設 500。 |
可攜式 JSON 套件使用 bodyMode、timeoutMS 等駝峰鍵,設定檔文字使用 body-mode、timeout-ms,兩者格式不同。MFHRB 指南提供完整可分享範例、API 契約與審查流程。
例如,使用中設定檔的腳本儲存區已存在受管理資源 ./feed-cleanup/remove-banner.jq:
[http-body-rewrite]
remove-banner=match:^https://api\.example\.com/feed$,direction:response,type:jq,body-mode:json,priority:100,enabled:false,api-version:1,script:./feed-cleanup/remove-banner.jq
對應的 jq 原始碼可為 .items |= map(select(.kind != "banner")),適用於含 items 陣列的 JSON 物件。該設定檔行不會建立檔案;請匯入 MFHRB,或使用 App 腳本編輯器管理資源,審查後再啟用。