HTTP 重写
HTTP 重写允许用户通过正则表达式匹配 URL,拒绝或者重定向 HTTP(S) 请求,常用于去广告,避免隐私跟踪等目的。
配置格式:
http:
# HTTP(S) 重写,支持header、302、307、reject多种策略
url-rewrite:
- ^http://g\.cn http://www.google.com header # 重写请求头的域名
- ^https?://www\.google\.cn https://www.google.com 302 # 直接返回一个 302 重定向的响应
- ^https?://ad\.example - reject # 拒绝请求
header-rewrite:
- ^http://g\.cn request-add DNT 1
- ^http://g\.cn request-del DNT
- ^http://g\.cn request-replace DNT 1
- ^http://g\.cn request-replace-regex User-Agent Go-http-client curl
- ^http://g\.cn response-add DNT 1
- ^http://g\.cn response-del DNT
- ^http://g\.cn response-replace DNT 1
- ^http://g\.cn response-replace-regex User-Agent Go-http-client curl
URL 重写
header
修改 header 中 host 字段以达到重定向的目的,不支持 HTTPS 请求。
302 / 307
HTTP 引擎会返回一个 3xx 状态码,并且会自动设置 Location 字段,以达到重定向的目的。
reject
返回 404 响应,和空的响应 body。
reject-200
返回 200 响应,和空的响应 body。
reject-img
返回 200 响应,和 1px gif 的响应 body。
reject-dict
返回 200 响应,和内容为 {}
的响应 body。
reject-array
返回 200 响应,和内容为 []
的响应 body。
HTTP header 重写
header 重写允许用户增加、删除、替换 HTTP 请求 / 响应的任意 header。
request-add
/ response-add
对 HTTP 请求 / 响应新增 header。
request-del
/ response-del
对 HTTP 请求 / 响应删除 header。
request-replace
/ response-replace
对 HTTP 请求 / 响应替换 header 的值。
request-replace-regex
/ response-replace-regex
对 HTTP 请求 / 响应通过正则表达式替换 header 的值。