diff --git a/README.md b/README.md index e961b9f..de3dd7d 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,27 @@ 利用`MITM`技术实现请求和返回的`重写`、`重定向`、`阻断`等操作 +## 功能 + +- 基于 TLS ClientHello 的自动证书签署 +- 支持选择性 MITM +- 基于 YAML 格式的规则描述语言:重写/阻断/重定向 + - 灵活的规则匹配器 + - 域名前缀/后缀/全匹配 + - 正则匹配 + - 多筛选器规则 + - 灵活的文本内容改写 + - 抹除/替换 + - 正则替换 + - 灵活的字典类型内容改写 + - HTTP Header 改写 + - Cookie 改写 + - 支持单条规则多个行为 +- 支持 JavaScript 脚本规则 (编程介入) +- 支持透明代理 +- 透明代理 HTTPS 和 HTTP 复用单端口 +- 支持自动安装 CA 证书到系统信任区 + ## 使用方法 这里仅介绍最基本的使用流程,具体使用方法和规则请查看[文档](https://good-mitm.zu1k.com/) diff --git a/docs/README.md b/docs/README.md index dbee52a..77058a6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,3 +7,24 @@ [![GitHub license](https://img.shields.io/github/license/zu1k/good-mitm)](https://github.com/zu1k/good-mitm/blob/master/LICENSE) 使用MITM技术来提供 `rewrite`、`redirect`、`reject` 等功能 + +## 功能 + +- 基于 TLS ClientHello 的自动证书签署 +- 支持选择性 MITM +- 基于 YAML 格式的规则描述语言:重写/阻断/重定向 + - 灵活的规则匹配器 + - 域名前缀/后缀/全匹配 + - 正则匹配 + - 多筛选器规则 + - 灵活的文本内容改写 + - 抹除/替换 + - 正则替换 + - 灵活的字典类型内容改写 + - HTTP Header 改写 + - Cookie 改写 + - 支持单条规则多个行为 +- 支持 JavaScript 脚本规则 (编程介入) +- 支持透明代理 +- 透明代理 HTTPS 和 HTTP 复用单端口 +- 支持自动安装 CA 证书到系统信任区 diff --git a/docs/guide/transparent_proxy.md b/docs/guide/transparent_proxy.md index fc67087..7fc6476 100644 --- a/docs/guide/transparent_proxy.md +++ b/docs/guide/transparent_proxy.md @@ -10,6 +10,8 @@ sudo sysctl -w net.ipv4.conf.all.send_redirects=0 sudo useradd --create-home mitm sudo -u mitm -H bash -c 'good-mitm run -r rules/log.yaml -b 0.0.0.0:34567' -iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567 -iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567 +sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567 +sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567 +sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567 +sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567 ```