Skip to content

Commit dfdd914

Browse files
committed
Update api docs
1 parent aea187b commit dfdd914

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

api-manual/api/mitm.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ grpcMitmKey|(string) "grpc_mitm_extra_conn_key"|
2929
| [mitm.host](#host) |host 是一个选项函数,用于指定中间人代理服务器的监听地址,默认为空,即监听所有网卡 |
3030
| [mitm.isTransparent](#istransparent) |isTransparent 是一个选项函数,用于指定中间人代理服务器是否开启透明劫持模式,默认为false 在开启透明模式下,所有流量都会被默认转发,所有的回调函数都会被忽略 |
3131
| [mitm.maxContentLength](#maxcontentlength) |maxContentLength 是一个选项函数,用于指定中间人代理服务器的最大的请求和响应内容长度,默认为10MB |
32+
| [mitm.mockHTTPRequest](#mockhttprequest) |mockHTTPRequest 是一个选项函数,用于指定中间人代理服务器的请求 mock 函数 当接收到请求后,会调用该回调函数,通过调用 mockResponse 函数可以直接返回自定义响应,跳过真实的网络请求 mockResponse 接受一个响应(字符串或字节数组),会自动修复响应格式,如...|
3233
| [mitm.randomJA3](#randomja3) |randomJA3 是一个选项函数,用于指定中间人代理服务器是否开启随机 JA3 劫持模式,默认为false |
3334
| [mitm.rootCA](#rootca) |rootCA 是一个选项函数,用于指定中间人代理服务器的根证书和私钥 |
3435
| [mitm.useDefaultCA](#usedefaultca) |useDefaultCA 是一个选项函数,用于指定中间人代理服务器是否使用内置的证书和私钥,默认为true 默认的证书与私钥路径:~/yakit-projects/yak-mitm-ca.crt 和 ~/yakit-projects/yak-mitm-ca.key |
@@ -621,6 +622,42 @@ mitm.Start(8080, mitm.maxContentLength(100 * 1000 * 1000))
621622
| r1 | `MitmConfigOpt` | |
622623

623624

625+
### mockHTTPRequest
626+
627+
#### 详细描述
628+
mockHTTPRequest 是一个选项函数,用于指定中间人代理服务器的请求 mock 函数
629+
630+
当接收到请求后,会调用该回调函数,通过调用 mockResponse 函数可以直接返回自定义响应,跳过真实的网络请求
631+
632+
mockResponse 接受一个响应(字符串或字节数组),会自动修复响应格式,如果修复失败则返回 502 Bad Gateway
633+
634+
Example:
635+
```
636+
mitm.Start(8080, mitm.mockHTTPRequest(func(isHttps, urlStr, req, mockResponse) {
637+
638+
if str.Contains(urlStr, "test") {
639+
mockResponse("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nMocked Response")
640+
}
641+
642+
}))
643+
```
644+
645+
646+
#### 定义
647+
648+
`mockHTTPRequest(h func(isHttps bool, urlStr string, req []byte, mockResponse func(rsp any))) MitmConfigOpt`
649+
650+
#### 参数
651+
|参数名|参数类型|参数解释|
652+
|:-----------|:---------- |:-----------|
653+
| h | `func(isHttps bool, urlStr string, req []byte, mockResponse func(rsp any))` | |
654+
655+
#### 返回值
656+
|返回值(顺序)|返回值类型|返回值解释|
657+
|:-----------|:---------- |:-----------|
658+
| r1 | `MitmConfigOpt` | |
659+
660+
624661
### randomJA3
625662

626663
#### 详细描述

api-manual/api/simulator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ htmlChangeMode|(simulator.loginDetectMode) 1|
77
leaklessDefault|(simulator.LeaklessMode) 0|
88
leaklessOff|(simulator.LeaklessMode) -1|
99
leaklessOn|(simulator.LeaklessMode) 1|
10-
simple|(map[string]interface {}) map[string]interface {}{"CreateBrowser": (func(...simple.BrowserConfigOpt) (*simple.VBrowser, error))(0x332d700), "bodyModifyTarget": "body", "bodyReplaceTarget": "bodyReplace", "createBrowser": (func(...simple.BrowserConfigOpt) (*simple.VBrowser, error))(0x332d700), "exePath": (func(string) simple.BrowserConfigOpt)(0x332cd00), "headersModifyTarget": "headers", "headless": (func(bool) simple.BrowserConfigOpt)(0x332d000), "hijack": (func(bool) simple.BrowserConfigOpt)(0x332d080), "hostModifyTarget": "host", "leakless": (func(bool) simple.BrowserConfigOpt)(0x332d680), "noSandBox": (func(bool) simple.BrowserConfigOpt)(0x332cf80), "proxy": (func(string, ...string) simple.BrowserConfigOpt)(0x332cde0), "requestModify": (func(string, simple.ModifyTarget, interface {}) simple.BrowserConfigOpt)(0x332d380), "responseModify": (func(string, simple.ModifyTarget, interface {}) simple.BrowserConfigOpt)(0x332d100), "timeout": (func(int) simple.BrowserConfigOpt)(0x332d600), "wsAddress": (func(string) simple.BrowserConfigOpt)(0x332cc20)}|
10+
simple|(map[string]interface {}) map[string]interface {}{"CreateBrowser": (func(...simple.BrowserConfigOpt) (*simple.VBrowser, error))(0x332b7c0), "bodyModifyTarget": "body", "bodyReplaceTarget": "bodyReplace", "createBrowser": (func(...simple.BrowserConfigOpt) (*simple.VBrowser, error))(0x332b7c0), "exePath": (func(string) simple.BrowserConfigOpt)(0x332adc0), "headersModifyTarget": "headers", "headless": (func(bool) simple.BrowserConfigOpt)(0x332b0c0), "hijack": (func(bool) simple.BrowserConfigOpt)(0x332b140), "hostModifyTarget": "host", "leakless": (func(bool) simple.BrowserConfigOpt)(0x332b740), "noSandBox": (func(bool) simple.BrowserConfigOpt)(0x332b040), "proxy": (func(string, ...string) simple.BrowserConfigOpt)(0x332aea0), "requestModify": (func(string, simple.ModifyTarget, interface {}) simple.BrowserConfigOpt)(0x332b440), "responseModify": (func(string, simple.ModifyTarget, interface {}) simple.BrowserConfigOpt)(0x332b1c0), "timeout": (func(int) simple.BrowserConfigOpt)(0x332b6c0), "wsAddress": (func(string) simple.BrowserConfigOpt)(0x332ace0)}|
1111
stringMatchMode|(simulator.loginDetectMode) 2|
1212
urlChangeMode|(simulator.loginDetectMode) 0|
1313

0 commit comments

Comments
 (0)