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]
命名的请求或响应正文规则引用受管理的本地脚本。应用编辑器和 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 或使用应用脚本编辑器管理资源,审查后再启用。