diff --git a/.gitignore b/.gitignore index f3500e7..34633a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store .env /go-mitmproxy /dummycert diff --git a/README.md b/README.md index 3fd9562..765ad47 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - 生成不同域名证书时使用 LRU 缓存,避免重复计算 - 通过环境变量 `SSLKEYLOGFILE` 支持 `Wireshark` 解析分析流量 - 上传/下载大文件时支持流式传输 -- WEB 界面:http://localhost:9081 +- Web 界面 ## 安装 @@ -24,10 +24,22 @@ GO111MODULE=on go get -u github.com/lqqyt2423/go-mitmproxy/cmd/go-mitmproxy ## 命令行使用 +### 启动 + +``` +go-mitmproxy ``` -mitmproxy --help -Usage of mitmproxy: +启动后,HTTP 代理地址默认为 9080 端口,Web 界面默认在 9081 端口。 + +首次启动后需按照证书以解析 HTTPS 流量,证书会在首次启动命令后自动生成,路径为 `~/.mitmproxy/mitmproxy-ca-cert.pem`。可参考此链接安装:[About Certificates](https://docs.mitmproxy.org/stable/concepts-certificates/)。 + +### 自定义参数 + +``` +go-mitmproxy --help + +Usage of go-mitmproxy: -addr string proxy listen addr (default ":9080") -dump string @@ -40,24 +52,18 @@ Usage of mitmproxy: ## 作为包引入 -参考 [cmd/mitmproxy/main.go](./cmd/mitmproxy/main.go),可通过自己实现 `AddAddon` 方法添加自己实现的插件。 +参考 [cmd/go-mitmproxy/main.go](./cmd/go-mitmproxy/main.go),可通过自己实现 `AddAddon` 方法添加自己实现的插件。 + +## Web 界面 + +![](./assets/web-1.png) + +![](./assets/web-2.png) + +![](./assets/web-3.png) ## TODO -- [x] http handler -- [x] http connect -- [x] cert -- [x] https handler -- [x] logger -- [x] 经内存转发 https 流量 -- [x] 忽略某些错误例如:broken pipe, reset by peer, timeout -- [x] websocket 透明转发 -- [x] 插件机制 -- [x] 命令行参数控制 dump 至文件 -- [x] dump level -- [x] 文档 -- [x] web 界面 -- [x] Content-Encoding 相关 - [ ] http2 - [ ] websocket 解析 diff --git a/assets/web-1.png b/assets/web-1.png new file mode 100644 index 0000000..a0747ab Binary files /dev/null and b/assets/web-1.png differ diff --git a/assets/web-2.png b/assets/web-2.png new file mode 100644 index 0000000..aedc2ec Binary files /dev/null and b/assets/web-2.png differ diff --git a/assets/web-3.png b/assets/web-3.png new file mode 100644 index 0000000..15ea5ee Binary files /dev/null and b/assets/web-3.png differ