From 5668487f3a97b8ddb1bf41232a4c58f8fc773955 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 19 Jan 2024 07:42:12 +0000 Subject: [PATCH] Update api docs --- docs/api/cli.md | 76 ++++++++++++- docs/api/codec.md | 16 ++- docs/api/fuzz.md | 21 ++++ docs/api/http.md | 246 +++++++++++++++++++++++++++++++++++------ docs/api/httpool.md | 4 +- docs/api/httpserver.md | 20 ++-- docs/api/mitm.md | 56 +++++----- docs/api/poc.md | 8 +- docs/api/str.md | 2 +- docs/api/tcp.md | 16 +-- docs/api/tls.md | 120 ++++++++++++++++---- docs/api/udp.md | 16 +-- docs/api/xhtml.md | 52 +++++++-- 13 files changed, 525 insertions(+), 128 deletions(-) diff --git a/docs/api/cli.md b/docs/api/cli.md index ce3bb3b3b..7f95d9056 100755 --- a/docs/api/cli.md +++ b/docs/api/cli.md @@ -6,6 +6,7 @@ | [cli.Bool](#bool) |Bool 获取对应名称的命令行参数,并将其转换为 bool 类型返回 | | [cli.Double](#double) |Float 获取对应名称的命令行参数,并将其转换为 float 类型返回 | | [cli.File](#file) |File 获取对应名称的命令行参数,根据其传入的值读取其对应文件内容并返回 []byte 类型 | +| [cli.FileNames](#filenames) |FileNames 获取对应名称的命令行参数,获得选中的所有文件路径,并返回 []string 类型 | | [cli.FileOrContent](#fileorcontent) |FileOrContent 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则直接返回,最后返回 []byte 类型 | | [cli.Float](#float) |Float 获取对应名称的命令行参数,并将其转换为 float 类型返回 | | [cli.HTTPPacket](#httppacket) |String 获取对应名称的命令行参数,并将其转换为 string 类型返回 | @@ -17,8 +18,8 @@ | [cli.LineDict](#linedict) |LineDict 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则作为字符串,最后根据换行符切割,返回 []string 类型 | | [cli.Net](#net) |Hosts 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 | | [cli.Network](#network) |Hosts 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 | -| [cli.Port](#port) || -| [cli.Ports](#ports) || +| [cli.Port](#port) |Ports 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 | +| [cli.Ports](#ports) |Ports 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 | | [cli.SetCliName](#setcliname) |SetCliName 设置此命令行程序的名称 这会在命令行输入 --help 或执行`cli.check()`后参数非法时显示 | | [cli.SetDoc](#setdoc) |SetDoc 设置此命令行程序的文档 这会在命令行输入 --help 或执行`cli.check()`后参数非法时显示 | | [cli.String](#string) |String 获取对应名称的命令行参数,并将其转换为 string 类型返回 | @@ -136,6 +137,34 @@ file = cli.File("file") | r1 | `[]byte` | | +### FileNames + +#### 详细描述 +FileNames 获取对应名称的命令行参数,获得选中的所有文件路径,并返回 []string 类型 + +Example: +``` +file = cli.FileNames("file") +// --file /etc/passwd,/etc/hosts 则 file 为 ["/etc/passwd", "/etc/hosts"] +``` + + +#### 定义 + +`FileNames(name string, opts ...SetCliExtraParam) []string` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| name | `string` | | +| opts | `...SetCliExtraParam` | | + +#### 返回值 +|返回值(顺序)|返回值类型|返回值解释| +|:-----------|:---------- |:-----------| +| r1 | `[]string` | | + + ### FileOrContent #### 详细描述 @@ -443,6 +472,13 @@ hosts = cli.Hosts("hosts") ### Port #### 详细描述 +Ports 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 + +Example: +``` +ports = cli.Ports("ports") +// --ports 10086-10088,23333 则 ports 为 [10086, 10087, 10088, 23333] +``` #### 定义 @@ -464,6 +500,13 @@ hosts = cli.Hosts("hosts") ### Ports #### 详细描述 +Ports 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 + +Example: +``` +ports = cli.Ports("ports") +// --ports 10086-10088,23333 则 ports 为 [10086, 10087, 10088, 23333] +``` #### 定义 @@ -767,7 +810,12 @@ cli.help() #### 定义 -`setCliGroup()` +`setCliGroup(group string)` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| group | `string` | | ### setDefault @@ -831,7 +879,12 @@ cli.String("target", cli.SetHelp("target host or ip")) #### 定义 -`setMultipleSelect()` +`setMultipleSelect(multiSelect bool)` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| multiSelect | `bool` | | ### setRequired @@ -867,7 +920,13 @@ cli.String("target", cli.SetRequired(true)) #### 定义 -`setSelectOption()` +`setSelectOption(name string, value string)` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| name | `string` | | +| value | `string` | | ### setVerboseName @@ -877,6 +936,11 @@ cli.String("target", cli.SetRequired(true)) #### 定义 -`setVerboseName()` +`setVerboseName(verboseName string)` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| verboseName | `string` | | diff --git a/docs/api/codec.md b/docs/api/codec.md index d038308ca..754b07f56 100755 --- a/docs/api/codec.md +++ b/docs/api/codec.md @@ -76,9 +76,9 @@ | [codec.RC4Decrypt](#rc4decrypt) || | [codec.RC4Encrypt](#rc4encrypt) || | [codec.RSADecryptWithOAEP](#rsadecryptwithoaep) || -| [codec.RSADecryptWithPKCS1v15](#rsadecryptwithpkcs1v15) || +| [codec.RSADecryptWithPKCS1v15](#rsadecryptwithpkcs1v15) |DecryptWithPkcs1v15 将PEM格式的私钥与密文进行PKCS1v15解密,返回明文与错误 | | [codec.RSAEncryptWithOAEP](#rsaencryptwithoaep) || -| [codec.RSAEncryptWithPKCS1v15](#rsaencryptwithpkcs1v15) || +| [codec.RSAEncryptWithPKCS1v15](#rsaencryptwithpkcs1v15) |EncryptWithPkcs1v15 将PEM格式的公钥与数据进行PKCS1v15加密,返回密文与错误 | | [codec.Sha1](#sha1) || | [codec.Sha224](#sha224) || | [codec.Sha256](#sha256) || @@ -1749,6 +1749,12 @@ replacing special characters (including /) with %XX sequences as needed. ### RSADecryptWithPKCS1v15 #### 详细描述 +DecryptWithPkcs1v15 将PEM格式的私钥与密文进行PKCS1v15解密,返回明文与错误 + +Example: +``` +dec, err := tls.DecryptWithPkcs1v15(pemBytes, enc) +``` #### 定义 @@ -1793,6 +1799,12 @@ replacing special characters (including /) with %XX sequences as needed. ### RSAEncryptWithPKCS1v15 #### 详细描述 +EncryptWithPkcs1v15 将PEM格式的公钥与数据进行PKCS1v15加密,返回密文与错误 + +Example: +``` +enc, err := tls.EncryptWithPkcs1v15(pemBytes, "hello") +``` #### 定义 diff --git a/docs/api/fuzz.md b/docs/api/fuzz.md index 892307a0e..ed8080ce1 100755 --- a/docs/api/fuzz.md +++ b/docs/api/fuzz.md @@ -20,6 +20,7 @@ | [fuzz.WithDelay](#withdelay) || | [fuzz.WithNamingContext](#withnamingcontext) || | [fuzz.WithTimeOut](#withtimeout) || +| [fuzz.context](#context) || | [fuzz.https](#https) || | [fuzz.proxy](#proxy) || @@ -380,6 +381,26 @@ fuzz | r1 | `HttpPoolConfigOption` | | +### context + +#### 详细描述 + + +#### 定义 + +`context(ctx context.Context) BuildFuzzHTTPRequestOption` + +#### 参数 +|参数名|参数类型|参数解释| +|:-----------|:---------- |:-----------| +| ctx | `context.Context` | | + +#### 返回值 +|返回值(顺序)|返回值类型|返回值解释| +|:-----------|:---------- |:-----------| +| r1 | `BuildFuzzHTTPRequestOption` | | + + ### https #### 详细描述 diff --git a/docs/api/http.md b/docs/api/http.md index 4d8fbf0ff..a95017992 100755 --- a/docs/api/http.md +++ b/docs/api/http.md @@ -2,54 +2,63 @@ |成员函数|函数描述/介绍| |:------|:--------| -| [http.Do](#do) || -| [http.Get](#get) || -| [http.GetAllBody](#getallbody) || -| [http.NewRequest](#newrequest) || -| [http.Post](#post) || -| [http.Raw](#raw) || -| [http.Request](#request) || +| [http.Do](#do) |Do 根据构造好的请求结构体引用发送请求,返回响应结构体引用与错误 ! 已弃用 | +| [http.Get](#get) |Get 根据指定的 URL 发起 GET 请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间等 返回响应结构体引用与错误 ! 已弃用,使用 poc.Get 代替 | +| [http.GetAllBody](#getallbody) |GetAllBody 获取响应结构体引用的原始响应报文 | +| [http.NewRequest](#newrequest) |NewRequest 根据指定的 method 和 URL 生成请求结构体引用,返回请求结构体引用与错误,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间等 注意,此函数只会生成请求结构体引用,不会发起请求 ! 已弃用 | +| [http.Post](#post) |Post 根据指定的 URL 发起 POST 请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置请求体,设置超时时间等 返回响应结构体引用与错误 ! 已弃用,使用 poc.Post 代替 | +| [http.Raw](#raw) |Raw 根据原始请求报文生成请求结构体引用,返回请求结构体引用与错误 注意,此函数只会生成请求结构体引用,不会发起请求 ! 已弃用,使用 poc.HTTP 或 poc.HTTPEx 代替 | +| [http.Request](#request) |Request 根据指定的 URL 发起请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置请求体,设置超时时间等 返回响应结构体引用与错误 ! 已弃用,使用 poc.Do 代替 | | [http.RequestFaviconHash](#requestfaviconhash) || | [http.RequestToMD5](#requesttomd5) || | [http.RequestToMMH3Hash128](#requesttommh3hash128) || | [http.RequestToMMH3Hash128x64](#requesttommh3hash128x64) || | [http.RequestToSha1](#requesttosha1) || | [http.RequestToSha256](#requesttosha256) || -| [http.body](#body) || -| [http.cookie](#cookie) || -| [http.dump](#dump) || -| [http.dumphead](#dumphead) || +| [http.body](#body) |body 是一个请求选项参数,用于指定请求体 | +| [http.cookie](#cookie) |header 是一个请求选项参数,用于设置 Cookie | +| [http.dump](#dump) |dump 获取指定请求结构体引用或响应结构体引用的原始报文,返回原始报文与错误 | +| [http.dumphead](#dumphead) |dumphead 获取指定请求结构体引用或响应结构体引用的原始报文头部,返回原始报文头部与错误 | | [http.fakeua](#fakeua) || -| [http.header](#header) || -| [http.json](#json) || +| [http.header](#header) |header 是一个请求选项参数,用于添加/指定请求头 | +| [http.json](#json) |body 是一个请求选项参数,用于指定 JSON 格式的请求体 它会将传入的值进行 JSON 序列化,然后设置序列化后的值为请求体 | | [http.noredirect](#noredirect) || -| [http.params](#params) |GetParams set query params | -| [http.postparams](#postparams) |PostParams set post params | -| [http.proxy](#proxy) || -| [http.redirect](#redirect) || -| [http.session](#session) || -| [http.show](#show) || -| [http.showhead](#showhead) || -| [http.timeout](#timeout) || -| [http.ua](#ua) || -| [http.uarand](#uarand) || -| [http.useragent](#useragent) || +| [http.params](#params) |params 是一个请求选项参数,用于添加/指定 GET 参数,这会将参数进行 URL 编码 | +| [http.postparams](#postparams) |postparams 是一个请求选项参数,用于添加/指定 POST 参数,这会将参数进行 URL 编码 | +| [http.proxy](#proxy) |proxy 是一个请求选项参数,用于设置一个或多个请求的代理,请求时会根据顺序找到一个可用的代理使用 | +| [http.redirect](#redirect) |redirect 是一个请求选项参数,它接收重定向处理函数,用于自定义重定向处理逻辑,返回 true 代表继续重定向,返回 false 代表终止重定向 重定向处理函数中第一个参数是当前的请求结构体引用,第二个参数是之前的请求结构体引用 | +| [http.session](#session) |session 是一个请求选项参数,用于根据传入的值指定会话,使用相同的值会使用同一个会话,同一个会话会自动复用 Cookie | +| [http.show](#show) |show 获取指定请求结构体引用或响应结构体引用的原始报文并输出在标准输出 | +| [http.showhead](#showhead) |showhead 获取指定请求结构体引用或响应结构体引用的原始报文头部并输出在标准输出 | +| [http.timeout](#timeout) |timeout 是一个请求选项参数,用于设置请求超时时间,单位是秒 | +| [http.ua](#ua) |useragent 是一个请求选项参数,用于指定请求的 User-Agent | +| [http.uarand](#uarand) |uarand 返回一个随机的 User-Agent | +| [http.useragent](#useragent) |useragent 是一个请求选项参数,用于指定请求的 User-Agent | ## 函数定义 ### Do #### 详细描述 +Do 根据构造好的请求结构体引用发送请求,返回响应结构体引用与错误 + +! 已弃用 + +Example: +``` +req, err = http.Raw("GET / HTTP/1.1\r\nHost: www.yaklang.com\r\n\r\n") +rsp, err = http.Do(req) +``` #### 定义 -`Do(req *YakHttpRequest) (*http.Response, error)` +`Do(i any) (*http.Response, error)` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| -| req | `*YakHttpRequest` | | +| i | `any` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -61,17 +70,27 @@ ### Get #### 详细描述 +Get 根据指定的 URL 发起 GET 请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间等 + +返回响应结构体引用与错误 + +! 已弃用,使用 poc.Get 代替 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.timeout(10)) +``` #### 定义 -`Get(url string, opts ...HttpOption) (*YakHttpResponse, error)` +`Get(url string, options ...HttpOption) (*YakHttpResponse, error)` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | url | `string` | | -| opts | `...HttpOption` | | +| options | `...HttpOption` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -83,6 +102,13 @@ ### GetAllBody #### 详细描述 +GetAllBody 获取响应结构体引用的原始响应报文 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com") +raw = http.GetAllBody(rsp) +``` #### 定义 @@ -103,6 +129,16 @@ ### NewRequest #### 详细描述 +NewRequest 根据指定的 method 和 URL 生成请求结构体引用,返回请求结构体引用与错误,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间等 + +注意,此函数只会生成请求结构体引用,不会发起请求 + +! 已弃用 + +Example: +``` +req, err = http.NewRequest("GET", "http://www.yaklang.com", http.timeout(10)) +``` #### 定义 @@ -126,17 +162,27 @@ ### Post #### 详细描述 +Post 根据指定的 URL 发起 POST 请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置请求体,设置超时时间等 + +返回响应结构体引用与错误 + +! 已弃用,使用 poc.Post 代替 + +Example: +``` +rsp, err = http.Post("http://pie.dev/post", http.body("a=b&c=d"), http.timeout(10)) +``` #### 定义 -`Post(url string, opts ...HttpOption) (*YakHttpResponse, error)` +`Post(url string, options ...HttpOption) (*YakHttpResponse, error)` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | url | `string` | | -| opts | `...HttpOption` | | +| options | `...HttpOption` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -148,6 +194,16 @@ ### Raw #### 详细描述 +Raw 根据原始请求报文生成请求结构体引用,返回请求结构体引用与错误 + +注意,此函数只会生成请求结构体引用,不会发起请求 + +! 已弃用,使用 poc.HTTP 或 poc.HTTPEx 代替 + +Example: +``` +req, err = http.Raw("GET / HTTP/1.1\r\nHost: www.yaklang.com\r\n\r\n") +``` #### 定义 @@ -169,6 +225,16 @@ ### Request #### 详细描述 +Request 根据指定的 URL 发起请求,它的第一个参数是 URL ,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置请求体,设置超时时间等 + +返回响应结构体引用与错误 + +! 已弃用,使用 poc.Do 代替 + +Example: +``` +rsp, err = http.Request("POST","http://pie.dev/post", http.body("a=b&c=d"), http.timeout(10)) +``` #### 定义 @@ -318,6 +384,12 @@ ### body #### 详细描述 +body 是一个请求选项参数,用于指定请求体 + +Example: +``` +rsp, err = http.Post("https://pie.dev/post", http.body("a=b&c=d")) +``` #### 定义 @@ -338,6 +410,12 @@ ### cookie #### 详细描述 +header 是一个请求选项参数,用于设置 Cookie + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.Cookie("a=b; c=d")) +``` #### 定义 @@ -358,6 +436,15 @@ ### dump #### 详细描述 +dump 获取指定请求结构体引用或响应结构体引用的原始报文,返回原始报文与错误 + +Example: +``` +req, err = http.NewRequest("GET", "http://www.yaklang.com", http.timeout(10)) +reqRaw, err = http.dump(req) +rsp, err = http.Do(req) +rspRaw, err = http.dump(rsp) +``` #### 定义 @@ -379,6 +466,15 @@ ### dumphead #### 详细描述 +dumphead 获取指定请求结构体引用或响应结构体引用的原始报文头部,返回原始报文头部与错误 + +Example: +``` +req, err = http.NewRequest("GET", "http://www.yaklang.com", http.timeout(10)) +reqHeadRaw, err = http.dumphead(req) +rsp, err = http.Do(req) +rspHeadRaw, err = http.dumphead(rsp) +``` #### 定义 @@ -415,6 +511,12 @@ ### header #### 详细描述 +header 是一个请求选项参数,用于添加/指定请求头 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.header("AAA", "BBB")) +``` #### 定义 @@ -436,6 +538,14 @@ ### json #### 详细描述 +body 是一个请求选项参数,用于指定 JSON 格式的请求体 + +它会将传入的值进行 JSON 序列化,然后设置序列化后的值为请求体 + +Example: +``` +rsp, err = http.Post("https://pie.dev/post", http.header("Content-Type", "application/json"), http.json({"a": "b", "c": "d"})) +``` #### 定义 @@ -471,7 +581,12 @@ ### params #### 详细描述 -GetParams set query params +params 是一个请求选项参数,用于添加/指定 GET 参数,这会将参数进行 URL 编码 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.params("a=b"), http.params("c=d")) +``` #### 定义 @@ -492,7 +607,12 @@ GetParams set query params ### postparams #### 详细描述 -PostParams set post params +postparams 是一个请求选项参数,用于添加/指定 POST 参数,这会将参数进行 URL 编码 + +Example: +``` +rsp, err = http.Post("http://www.yaklang.com", http.postparams("a=b"), http.postparams("c=d")) +``` #### 定义 @@ -513,6 +633,12 @@ PostParams set post params ### proxy #### 详细描述 +proxy 是一个请求选项参数,用于设置一个或多个请求的代理,请求时会根据顺序找到一个可用的代理使用 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.proxy("http://127.0.0.1:7890", "http://127.0.0.1:8083")) +``` #### 定义 @@ -533,6 +659,14 @@ PostParams set post params ### redirect #### 详细描述 +redirect 是一个请求选项参数,它接收重定向处理函数,用于自定义重定向处理逻辑,返回 true 代表继续重定向,返回 false 代表终止重定向 + +重定向处理函数中第一个参数是当前的请求结构体引用,第二个参数是之前的请求结构体引用 + +Example: +``` +rsp, err = http.Get("http://pie.dev/redirect/3", http.redirect(func(r, vias) bool { return true }) +``` #### 定义 @@ -553,6 +687,12 @@ PostParams set post params ### session #### 详细描述 +session 是一个请求选项参数,用于根据传入的值指定会话,使用相同的值会使用同一个会话,同一个会话会自动复用 Cookie + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.session("request1")) +``` #### 定义 @@ -573,6 +713,15 @@ PostParams set post params ### show #### 详细描述 +show 获取指定请求结构体引用或响应结构体引用的原始报文并输出在标准输出 + +Example: +``` +req, err = http.NewRequest("GET", "http://www.yaklang.com", http.timeout(10)) +http.show(req) +rsp, err = http.Do(req) +http.show(rsp) +``` #### 定义 @@ -588,6 +737,15 @@ PostParams set post params ### showhead #### 详细描述 +showhead 获取指定请求结构体引用或响应结构体引用的原始报文头部并输出在标准输出 + +Example: +``` +req, err = http.NewRequest("GET", "http://www.yaklang.com", http.timeout(10)) +http.showhead(req) +rsp, err = http.Do(req) +http.showhead(rsp) +``` #### 定义 @@ -603,6 +761,12 @@ PostParams set post params ### timeout #### 详细描述 +timeout 是一个请求选项参数,用于设置请求超时时间,单位是秒 + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.timeout(10)) +``` #### 定义 @@ -623,6 +787,12 @@ PostParams set post params ### ua #### 详细描述 +useragent 是一个请求选项参数,用于指定请求的 User-Agent + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.ua("yaklang-http")) +``` #### 定义 @@ -643,6 +813,12 @@ PostParams set post params ### uarand #### 详细描述 +uarand 返回一个随机的 User-Agent + +Example: +``` +ua = http.uarand() +``` #### 定义 @@ -658,6 +834,12 @@ PostParams set post params ### useragent #### 详细描述 +useragent 是一个请求选项参数,用于指定请求的 User-Agent + +Example: +``` +rsp, err = http.Get("http://www.yaklang.com", http.ua("yaklang-http")) +``` #### 定义 diff --git a/docs/api/httpool.md b/docs/api/httpool.md index 757c5c8c2..28f624664 100755 --- a/docs/api/httpool.md +++ b/docs/api/httpool.md @@ -26,7 +26,7 @@ #### 定义 -`Pool(i any, opts ...HttpPoolConfigOption) (chan *_httpResult, error)` +`Pool(i any, opts ...HttpPoolConfigOption) (chan *HttpResult, error)` #### 参数 |参数名|参数类型|参数解释| @@ -37,7 +37,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `chan *_httpResult` | | +| r1 | `chan *HttpResult` | | | r2 | `error` | | diff --git a/docs/api/httpserver.md b/docs/api/httpserver.md index 4b780885e..8fbdc1d61 100755 --- a/docs/api/httpserver.md +++ b/docs/api/httpserver.md @@ -17,7 +17,7 @@ #### 定义 -`LocalFileSystemServe(host string, port int, prefix string, localPath string, opts ..._httpServerConfigOpt) error` +`LocalFileSystemServe(host string, port int, prefix string, localPath string, opts ...HttpServerConfigOpt) error` #### 参数 |参数名|参数类型|参数解释| @@ -26,7 +26,7 @@ | port | `int` | | | prefix | `string` | | | localPath | `string` | | -| opts | `..._httpServerConfigOpt` | | +| opts | `...HttpServerConfigOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -41,14 +41,14 @@ #### 定义 -`Serve(host string, port int, opts ..._httpServerConfigOpt) error` +`Serve(host string, port int, opts ...HttpServerConfigOpt) error` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | host | `string` | | | port | `int` | | -| opts | `..._httpServerConfigOpt` | | +| opts | `...HttpServerConfigOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -63,7 +63,7 @@ #### 定义 -`context(ctx context.Context) _httpServerConfigOpt` +`context(ctx context.Context) HttpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -73,7 +73,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `_httpServerConfigOpt` | | +| r1 | `HttpServerConfigOpt` | | ### handler @@ -83,7 +83,7 @@ #### 定义 -`handler(cb func(rsp http.ResponseWriter, req *http.Request)) _httpServerConfigOpt` +`handler(cb func(rsp http.ResponseWriter, req *http.Request)) HttpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -93,7 +93,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `_httpServerConfigOpt` | | +| r1 | `HttpServerConfigOpt` | | ### tlsCertAndKey @@ -103,7 +103,7 @@ #### 定义 -`tlsCertAndKey(crt any, key any, cas ...any) _httpServerConfigOpt` +`tlsCertAndKey(crt any, key any, cas ...any) HttpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -115,6 +115,6 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `_httpServerConfigOpt` | | +| r1 | `HttpServerConfigOpt` | | diff --git a/docs/api/mitm.md b/docs/api/mitm.md index 7a6fc94b7..2db3dfd68 100755 --- a/docs/api/mitm.md +++ b/docs/api/mitm.md @@ -36,14 +36,14 @@ mitm.Bridge(8080, "", mitm.host("127.0.0.1"), mitm.callback(func(isHttps, urlStr #### 定义 -`Bridge(port any, downstreamProxy string, opts ...mitmConfigOpt) error` +`Bridge(port any, downstreamProxy string, opts ...MitmConfigOpt) error` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | port | `any` | | | downstreamProxy | `string` | | -| opts | `...mitmConfigOpt` | | +| opts | `...MitmConfigOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -66,13 +66,13 @@ mitm.Start(8080, mitm.host("127.0.0.1"), mitm.callback(func(isHttps, urlStr, req #### 定义 -`Start(port int, opts ...mitmConfigOpt) error` +`Start(port int, opts ...MitmConfigOpt) error` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | port | `int` | | -| opts | `...mitmConfigOpt` | | +| opts | `...MitmConfigOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -93,7 +93,7 @@ mitm.Start(8080, mitm.callback(func(isHttps, urlStr, req, rsp) { http.dump(req); #### 定义 -`callback(f func(bool, string, *http.Request, *http.Response)) mitmConfigOpt` +`callback(f func(bool, string, *http.Request, *http.Response)) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -103,7 +103,7 @@ mitm.Start(8080, mitm.callback(func(isHttps, urlStr, req, rsp) { http.dump(req); #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### context @@ -119,7 +119,7 @@ mitm.Start(8080, mitm.context(context.Background())) #### 定义 -`context(ctx context.Context) mitmConfigOpt` +`context(ctx context.Context) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -129,7 +129,7 @@ mitm.Start(8080, mitm.context(context.Background())) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### hijackHTTPRequest @@ -152,7 +152,7 @@ modified(req) #### 定义 -`hijackHTTPRequest(h func(isHttps bool, u string, req []byte, modified func([]byte), dropped func())) mitmConfigOpt` +`hijackHTTPRequest(h func(isHttps bool, u string, req []byte, modified func([]byte), dropped func())) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -162,7 +162,7 @@ modified(req) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### hijackHTTPResponse @@ -185,7 +185,7 @@ modified(rsp) #### 定义 -`hijackHTTPResponse(h func(isHttps bool, u string, rsp []byte, modified func([]byte), dropped func())) mitmConfigOpt` +`hijackHTTPResponse(h func(isHttps bool, u string, rsp []byte, modified func([]byte), dropped func())) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -195,7 +195,7 @@ modified(rsp) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### hijackHTTPResponseEx @@ -220,7 +220,7 @@ modified(rsp) #### 定义 -`hijackHTTPResponseEx(h func(bool, string, []byte, []byte, func([]byte), func())) mitmConfigOpt` +`hijackHTTPResponseEx(h func(bool, string, []byte, []byte, func([]byte), func())) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -230,7 +230,7 @@ modified(rsp) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### host @@ -246,7 +246,7 @@ mitm.Start(8080, mitm.host("127.0.0.1")) #### 定义 -`host(host string) mitmConfigOpt` +`host(host string) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -256,7 +256,7 @@ mitm.Start(8080, mitm.host("127.0.0.1")) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### isTransparent @@ -274,7 +274,7 @@ mitm.Start(8080, mitm.isTransparent(true)) #### 定义 -`isTransparent(b bool) mitmConfigOpt` +`isTransparent(b bool) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -284,7 +284,7 @@ mitm.Start(8080, mitm.isTransparent(true)) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### maxContentLength @@ -300,7 +300,7 @@ mitm.Start(8080, mitm.maxContentLength(100 * 1000 * 1000)) #### 定义 -`maxContentLength(i int) mitmConfigOpt` +`maxContentLength(i int) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -310,7 +310,7 @@ mitm.Start(8080, mitm.maxContentLength(100 * 1000 * 1000)) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### rootCA @@ -326,7 +326,7 @@ mitm.Start(8080, mitm.rootCA(cert, key)) #### 定义 -`rootCA(cert []byte, key []byte) mitmConfigOpt` +`rootCA(cert []byte, key []byte) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -337,7 +337,7 @@ mitm.Start(8080, mitm.rootCA(cert, key)) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### useDefaultCA @@ -355,7 +355,7 @@ mitm.Start(8080, mitm.useDefaultCA(true)) #### 定义 -`useDefaultCA(t bool) mitmConfigOpt` +`useDefaultCA(t bool) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -365,7 +365,7 @@ mitm.Start(8080, mitm.useDefaultCA(true)) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### wscallback @@ -387,7 +387,7 @@ mitm.Start(8080, mitm.wscallback(func(data, isRequest) { println(data); return d #### 定义 -`wscallback(f func([]byte, bool) any) mitmConfigOpt` +`wscallback(f func([]byte, bool) any) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -397,7 +397,7 @@ mitm.Start(8080, mitm.wscallback(func(data, isRequest) { println(data); return d #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | ### wsforcetext @@ -415,7 +415,7 @@ mitm.Start(8080, mitm.wsforcetext(true)) #### 定义 -`wsforcetext(b bool) mitmConfigOpt` +`wsforcetext(b bool) MitmConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -425,6 +425,6 @@ mitm.Start(8080, mitm.wsforcetext(true)) #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `mitmConfigOpt` | | +| r1 | `MitmConfigOpt` | | diff --git a/docs/api/poc.md b/docs/api/poc.md index 09e6bb7c3..a57525857 100755 --- a/docs/api/poc.md +++ b/docs/api/poc.md @@ -44,8 +44,8 @@ | [poc.GetHTTPRequestPathWithoutQuery](#gethttprequestpathwithoutquery) |GetHTTPRequestPathWithoutQuery 是一个辅助函数,用于获取响应报文中的路径,返回值是 string,不包含 query | | [poc.GetStatusCodeFromResponse](#getstatuscodefromresponse) |GetStatusCodeFromResponse 是一个辅助函数,用于获取响应报文中的状态码,其返回值为int | | [poc.GetUrlFromHTTPRequest](#geturlfromhttprequest) |GetUrlFromHTTPRequest 是一个辅助函数,用于获取请求报文中的URL,其返回值为string | -| [poc.HTTP](#http) |HTTP 发送请求并且返回原始响应报文,原始请求报文以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如对设置超时时间,或者修改请求报文等 | -| [poc.HTTPEx](#httpex) |HTTPEx 与HTTP类似,它发送请求并且返回响应结构体,请求结构体以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如对设置超时时间,或者修改请求报文等 关于结构体中的可用字段和方法可以使...| +| [poc.HTTP](#http) |HTTP 发送请求并且返回原始响应报文,原始请求报文以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间,或者修改请求报文等 | +| [poc.HTTPEx](#httpex) |HTTPEx 与HTTP类似,它发送请求并且返回响应结构体,请求结构体以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间,或者修改请求报文等 关于结构体中的可用字段和方法可以使用...| | [poc.HTTPPacketForceChunked](#httppacketforcechunked) |HTTPPacketForceChunked 将一个HTTP报文的body强制转换为chunked编码 | | [poc.HTTPRequestToCurl](#httprequesttocurl) |HTTPRequestToCurl 尝试将HTTP请求报文转换为curl命令。第一个参数为是否使用HTTPS,第二个参数为HTTP请求报文,其返回值为string,即转换后的curl命令 | | [poc.Head](#head) |Head 向指定URL发送HEAD请求并且返回响应结构体,请求结构体以及错误,它的第一个参数是URL字符串,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如对设置超时时间,或者修改请求报文等 关于结构体中的可用字段和方法可以使用desc函数进行查看 | @@ -1380,7 +1380,7 @@ Host: pie.dev ### HTTP #### 详细描述 -HTTP 发送请求并且返回原始响应报文,原始请求报文以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如对设置超时时间,或者修改请求报文等 +HTTP 发送请求并且返回原始响应报文,原始请求报文以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间,或者修改请求报文等 Example: ``` @@ -1409,7 +1409,7 @@ poc.HTTP("GET / HTTP/1.1\r\nHost: www.yaklang.com\r\n\r\n", poc.https(true), poc ### HTTPEx #### 详细描述 -HTTPEx 与HTTP类似,它发送请求并且返回响应结构体,请求结构体以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如对设置超时时间,或者修改请求报文等 +HTTPEx 与HTTP类似,它发送请求并且返回响应结构体,请求结构体以及错误,它的第一个参数可以接收[]byte, string, http.Request结构体,接下来可以接收零个到多个请求选项,用于对此次请求进行配置,例如设置超时时间,或者修改请求报文等 关于结构体中的可用字段和方法可以使用desc函数进行查看 diff --git a/docs/api/str.md b/docs/api/str.md index 5c1a92c1e..5246d3001 100755 --- a/docs/api/str.md +++ b/docs/api/str.md @@ -2924,7 +2924,7 @@ RandomUpperAndLower 返回一个随机大小写的字符串 Example: ``` -str.RandomUpperAndLower("target“) // TArGeT +str.RandomUpperAndLower("target") // TArGeT ``` diff --git a/docs/api/tcp.md b/docs/api/tcp.md index 03076551c..650551ad9 100755 --- a/docs/api/tcp.md +++ b/docs/api/tcp.md @@ -111,14 +111,14 @@ #### 定义 -`Serve(host any, port int, opts ...tcpServerConfigOpt) error` +`Serve(host any, port int, opts ...TcpServerConfigOpt) error` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | host | `any` | | | port | `int` | | -| opts | `...tcpServerConfigOpt` | | +| opts | `...TcpServerConfigOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -215,7 +215,7 @@ #### 定义 -`serverCallback(cb func(connection *tcpConnection)) tcpServerConfigOpt` +`serverCallback(cb func(connection *tcpConnection)) TcpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -225,7 +225,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `tcpServerConfigOpt` | | +| r1 | `TcpServerConfigOpt` | | ### serverContext @@ -235,7 +235,7 @@ #### 定义 -`serverContext(ctx context.Context) tcpServerConfigOpt` +`serverContext(ctx context.Context) TcpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -245,7 +245,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `tcpServerConfigOpt` | | +| r1 | `TcpServerConfigOpt` | | ### serverTls @@ -255,7 +255,7 @@ #### 定义 -`serverTls(crt any, key any, cas ...any) tcpServerConfigOpt` +`serverTls(crt any, key any, cas ...any) TcpServerConfigOpt` #### 参数 |参数名|参数类型|参数解释| @@ -267,6 +267,6 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `tcpServerConfigOpt` | | +| r1 | `TcpServerConfigOpt` | | diff --git a/docs/api/tls.md b/docs/api/tls.md index a31a50a87..f4fb94828 100755 --- a/docs/api/tls.md +++ b/docs/api/tls.md @@ -2,25 +2,31 @@ |成员函数|函数描述/介绍| |:------|:--------| -| [tls.DecryptWithPkcs1v15](#decryptwithpkcs1v15) || -| [tls.EncryptWithPkcs1v15](#encryptwithpkcs1v15) || -| [tls.GenerateRSA1024KeyPair](#generatersa1024keypair) || -| [tls.GenerateRSA2048KeyPair](#generatersa2048keypair) || -| [tls.GenerateRSA4096KeyPair](#generatersa4096keypair) || -| [tls.GenerateRSAKeyPair](#generatersakeypair) || -| [tls.GenerateRootCA](#generaterootca) || -| [tls.GenerateSM2KeyPair](#generatesm2keypair) || -| [tls.Inspect](#inspect) || -| [tls.SignClientCertAndKey](#signclientcertandkey) || -| [tls.SignServerCertAndKey](#signservercertandkey) || -| [tls.SignX509ClientCertAndKey](#signx509clientcertandkey) || -| [tls.SignX509ServerCertAndKey](#signx509servercertandkey) || +| [tls.DecryptWithPkcs1v15](#decryptwithpkcs1v15) |DecryptWithPkcs1v15 将PEM格式的私钥与密文进行PKCS1v15解密,返回明文与错误 | +| [tls.EncryptWithPkcs1v15](#encryptwithpkcs1v15) |EncryptWithPkcs1v15 将PEM格式的公钥与数据进行PKCS1v15加密,返回密文与错误 | +| [tls.GenerateRSA1024KeyPair](#generatersa1024keypair) |GenerateRSA1024KeyPair 生成1024位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 | +| [tls.GenerateRSA2048KeyPair](#generatersa2048keypair) |GenerateRSA2048KeyPair 生成2048位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 | +| [tls.GenerateRSA4096KeyPair](#generatersa4096keypair) |GenerateRSA4096KeyPair 生成4096位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 | +| [tls.GenerateRSAKeyPair](#generatersakeypair) |GenerateRSAKeyPair 根据给定的bit大小生成RSA公私钥对,返回PEM格式公钥和私钥与错误 | +| [tls.GenerateRootCA](#generaterootca) |GenerateRootCA 根据名字生成根证书和私钥,返回PEM格式证书和私钥与错误 | +| [tls.GenerateSM2KeyPair](#generatesm2keypair) |GenerateSM2KeyPair 生成SM2公私钥对,返回PEM格式公钥和私钥与错误 | +| [tls.Inspect](#inspect) |Inspect 检查目标地址的TLS证书,并返回其证书信息与错误 | +| [tls.SignClientCertAndKey](#signclientcertandkey) |SignClientCertAndKey 根据给定的CA证书和私钥,生成不包含认证的客户端证书和密钥,返回PEM格式的客户端证书和密钥与错误 | +| [tls.SignServerCertAndKey](#signservercertandkey) |SignServerCertAndKey 根据给定的CA证书和私钥,生成不包含认证的服务器证书和密钥,返回PEM格式的服务器证书和密钥与错误 | +| [tls.SignX509ClientCertAndKey](#signx509clientcertandkey) |SignX509ClientCertAndKey 根据给定的CA证书和私钥,生成客户端证书和密钥,返回PEM格式的客户端证书和密钥与错误 | +| [tls.SignX509ServerCertAndKey](#signx509servercertandkey) |SignX509ServerCertAndKey 根据给定的CA证书和私钥,生成服务器证书和密钥,返回PEM格式的服务器证书和密钥与错误 | ## 函数定义 ### DecryptWithPkcs1v15 #### 详细描述 +DecryptWithPkcs1v15 将PEM格式的私钥与密文进行PKCS1v15解密,返回明文与错误 + +Example: +``` +dec, err := tls.DecryptWithPkcs1v15(pemBytes, enc) +``` #### 定义 @@ -43,6 +49,12 @@ ### EncryptWithPkcs1v15 #### 详细描述 +EncryptWithPkcs1v15 将PEM格式的公钥与数据进行PKCS1v15加密,返回密文与错误 + +Example: +``` +enc, err := tls.EncryptWithPkcs1v15(pemBytes, "hello") +``` #### 定义 @@ -65,6 +77,12 @@ ### GenerateRSA1024KeyPair #### 详细描述 +GenerateRSA1024KeyPair 生成1024位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 + +Example: +``` +pub, pri, err := tls.GenerateRSA1024KeyPair() +``` #### 定义 @@ -82,6 +100,12 @@ ### GenerateRSA2048KeyPair #### 详细描述 +GenerateRSA2048KeyPair 生成2048位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 + +Example: +``` +pub, pri, err := tls.GenerateRSA2048KeyPair() +``` #### 定义 @@ -99,6 +123,12 @@ ### GenerateRSA4096KeyPair #### 详细描述 +GenerateRSA4096KeyPair 生成4096位大小的RSA公私钥对,返回PEM格式公钥和私钥与错误 + +Example: +``` +pub, pri, err := tls.GenerateRSA4096KeyPair() +``` #### 定义 @@ -116,6 +146,12 @@ ### GenerateRSAKeyPair #### 详细描述 +GenerateRSAKeyPair 根据给定的bit大小生成RSA公私钥对,返回PEM格式公钥和私钥与错误 + +Example: +``` +pub, pri, err := tls.GenerateRSAKeyPair(2048) +``` #### 定义 @@ -138,11 +174,17 @@ ### GenerateRootCA #### 详细描述 +GenerateRootCA 根据名字生成根证书和私钥,返回PEM格式证书和私钥与错误 + +Example: +``` +cert, key, err := tls.GenerateRootCA("yaklang.io") +``` #### 定义 -`GenerateRootCA(commonName string) (ca []byte, key []byte, _ error)` +`GenerateRootCA(commonName string) (ca []byte, key []byte, err error)` #### 参数 |参数名|参数类型|参数解释| @@ -154,12 +196,18 @@ |:-----------|:---------- |:-----------| | ca | `[]byte` | | | key | `[]byte` | | -| _ | `error` | | +| err | `error` | | ### GenerateSM2KeyPair #### 详细描述 +GenerateSM2KeyPair 生成SM2公私钥对,返回PEM格式公钥和私钥与错误 + +Example: +``` +pub, pri, err := tls.GenerateSM2KeyPair() +``` #### 定义 @@ -177,6 +225,12 @@ ### Inspect #### 详细描述 +Inspect 检查目标地址的TLS证书,并返回其证书信息与错误 + +Example: +``` +cert, err := tls.Inspect("yaklang.io:443") +``` #### 定义 @@ -198,11 +252,18 @@ ### SignClientCertAndKey #### 详细描述 +SignClientCertAndKey 根据给定的CA证书和私钥,生成不包含认证的客户端证书和密钥,返回PEM格式的客户端证书和密钥与错误 + +Example: +``` +ca, key, err = tls.GenerateRootCA("yaklang.io") +cert, sKey, err = tls.SignClientCertAndKey(ca, key) +``` #### 定义 -`SignClientCertAndKey(ca []byte, key []byte) (cert []byte, sKey []byte, _ error)` +`SignClientCertAndKey(ca []byte, key []byte) ([]byte, []byte, error)` #### 参数 |参数名|参数类型|参数解释| @@ -213,14 +274,21 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| cert | `[]byte` | | -| sKey | `[]byte` | | -| _ | `error` | | +| r1 | `[]byte` | | +| r2 | `[]byte` | | +| r3 | `error` | | ### SignServerCertAndKey #### 详细描述 +SignServerCertAndKey 根据给定的CA证书和私钥,生成不包含认证的服务器证书和密钥,返回PEM格式的服务器证书和密钥与错误 + +Example: +``` +ca, key, err = tls.GenerateRootCA("yaklang.io") +cert, sKey, err = tls.SignServerCertAndKey(ca, key) +``` #### 定义 @@ -244,6 +312,13 @@ ### SignX509ClientCertAndKey #### 详细描述 +SignX509ClientCertAndKey 根据给定的CA证书和私钥,生成客户端证书和密钥,返回PEM格式的客户端证书和密钥与错误 + +Example: +``` +ca, key, err = tls.GenerateRootCA("yaklang.io") +cert, sKey, err = tls.SignX509ClientCertAndKey(ca, key) +``` #### 定义 @@ -267,6 +342,13 @@ ### SignX509ServerCertAndKey #### 详细描述 +SignX509ServerCertAndKey 根据给定的CA证书和私钥,生成服务器证书和密钥,返回PEM格式的服务器证书和密钥与错误 + +Example: +``` +ca, key, err = tls.GenerateRootCA("yaklang.io") +cert, sKey, err = tls.SignX509ServerCertAndKey(ca, key) +``` #### 定义 diff --git a/docs/api/udp.md b/docs/api/udp.md index 0d7a155b7..0c99c0e76 100755 --- a/docs/api/udp.md +++ b/docs/api/udp.md @@ -64,14 +64,14 @@ #### 定义 -`Serve(host string, port any, opts ...udpServerOpt) error` +`Serve(host string, port any, opts ...UdpServerOpt) error` #### 参数 |参数名|参数类型|参数解释| |:-----------|:---------- |:-----------| | host | `string` | | | port | `any` | | -| opts | `...udpServerOpt` | | +| opts | `...UdpServerOpt` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -126,7 +126,7 @@ #### 定义 -`serverCallback(cb func(*udpConnection, []byte)) udpServerOpt` +`serverCallback(cb func(*udpConnection, []byte)) UdpServerOpt` #### 参数 |参数名|参数类型|参数解释| @@ -136,7 +136,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `udpServerOpt` | | +| r1 | `UdpServerOpt` | | ### serverContext @@ -146,7 +146,7 @@ #### 定义 -`serverContext(ctx context.Context) udpServerOpt` +`serverContext(ctx context.Context) UdpServerOpt` #### 参数 |参数名|参数类型|参数解释| @@ -156,7 +156,7 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `udpServerOpt` | | +| r1 | `UdpServerOpt` | | ### serverTimeout @@ -166,7 +166,7 @@ #### 定义 -`serverTimeout(f float64) udpServerOpt` +`serverTimeout(f float64) UdpServerOpt` #### 参数 |参数名|参数类型|参数解释| @@ -176,6 +176,6 @@ #### 返回值 |返回值(顺序)|返回值类型|返回值解释| |:-----------|:---------- |:-----------| -| r1 | `udpServerOpt` | | +| r1 | `UdpServerOpt` | | diff --git a/docs/api/xhtml.md b/docs/api/xhtml.md index 94832cf6e..6b6d1a0c9 100755 --- a/docs/api/xhtml.md +++ b/docs/api/xhtml.md @@ -2,18 +2,24 @@ |成员函数|函数描述/介绍| |:------|:--------| -| [xhtml.CompareHtml](#comparehtml) || -| [xhtml.Find](#find) || -| [xhtml.GenerateXPath](#generatexpath) || -| [xhtml.MatchBetween](#matchbetween) || +| [xhtml.CompareHtml](#comparehtml) |CompareHtml 比较两段 HTML 代码的差异,返回差异的节点信息结构体引用切片与错误 | +| [xhtml.Find](#find) |Find 解析并遍历一段 HTML 代码的每一个节点并找到匹配字符串的节点,返回匹配字符串的节点信息的引用切片 | +| [xhtml.GenerateXPath](#generatexpath) |GenerateXPath 根据节点引用生成一个节点的 XPath 路径 | +| [xhtml.MatchBetween](#matchbetween) |MatchBetween 从字符串中匹配两个字符串之间的内容,最多匹配 n 个字符,n 为 -1 时不限制 返回匹配到的内容的起始位置与匹配到的内容 | | [xhtml.RandomUpperAndLower](#randomupperandlower) |RandomUpperAndLower 返回一个随机大小写的字符串 | -| [xhtml.Walker](#walker) || +| [xhtml.Walker](#walker) |Walker 解析并遍历一段 HTML 代码的每一个节点并回调函数,返回错误 | ## 函数定义 ### CompareHtml #### 详细描述 +CompareHtml 比较两段 HTML 代码的差异,返回差异的节点信息结构体引用切片与错误 + +Example: +``` +diff, err = xhtml.CompareHtml(html1, html2) +``` #### 定义 @@ -36,6 +42,12 @@ ### Find #### 详细描述 +Find 解析并遍历一段 HTML 代码的每一个节点并找到匹配字符串的节点,返回匹配字符串的节点信息的引用切片 + +Example: +``` +matchInfoRes = xhtml.Find("
hello
", "hello") +``` #### 定义 @@ -57,6 +69,14 @@ ### GenerateXPath #### 详细描述 +GenerateXPath 根据节点引用生成一个节点的 XPath 路径 + +Example: +``` +xhtml.Walker("
hello
", func(node) { +println(xhtml.GenerateXPath(node)) +}) +``` #### 定义 @@ -77,11 +97,19 @@ ### MatchBetween #### 详细描述 +MatchBetween 从字符串中匹配两个字符串之间的内容,最多匹配 n 个字符,n 为 -1 时不限制 + +返回匹配到的内容的起始位置与匹配到的内容 + +Example: +``` +xhtml.MatchBetween("123456789", "2", "6", -1) // 2, "345" +``` #### 定义 -`MatchBetween(srcBody any, start string, end string, max int) (int, string)` +`MatchBetween(srcBody any, start string, end string, n int) (int, string)` #### 参数 |参数名|参数类型|参数解释| @@ -89,7 +117,7 @@ | srcBody | `any` | | | start | `string` | | | end | `string` | | -| max | `int` | | +| n | `int` | | #### 返回值 |返回值(顺序)|返回值类型|返回值解释| @@ -105,7 +133,7 @@ RandomUpperAndLower 返回一个随机大小写的字符串 Example: ``` -str.RandomUpperAndLower("target“) // TArGeT +xhtml.RandomUpperAndLower("target") // TArGeT ``` @@ -127,6 +155,14 @@ str.RandomUpperAndLower("target“) // TArGeT ### Walker #### 详细描述 +Walker 解析并遍历一段 HTML 代码的每一个节点并回调函数,返回错误 + +Example: +``` +err = xhtml.Walker("
hello
", func(node) { +println(node.Data) +}) +``` #### 定义