# proxy_core **Repository Path**: libs_2/proxy_core ## Basic Information - **Project Name**: proxy_core - **Description**: 代理转发模块,可以根据指定配置捕获目标请求,并将请求和响应转发到指定的地址 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-13 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 这是一个代理模块,主要是为了方便将捕获到的网络请求,按照对应关系转发到一个自己的程序中 ```shell # 程序的主要代码参考了一个开源项目res-downloader,有兴趣的可以去看下这个项目 https://github.com/putyy/res-downloader ##### # 目前代码只copy了win下的代理实现,其他两个平台的代码没有弄过来,可以参考上述项目去研究下 # # 参考代码时,请务必留意其仓库的许可证!!! # ##### ``` ```Go // 主要逻辑: // 1、侦听指定的端口号,目前是16891; // 2、第一次启动时建议使用管理员运行,此时需要尝试安装证书,后续可正常用非管理员权限启动启动时将尝试自动 // 3、读取./proxy_config.json文件,这个文件保存了需要把哪个地址的请求转发到指定地址上,示例格式参考./proxy_config.demo.json 。目前是尝试把其中的target 转发 post 到 forward 地址,转发时的参数为: type SubmitProxyReq struct { Query string `json:"query"` Body string `json:"body"` Resp string `json:"resp"` } // 4、实际转发的数据为做编码,接收数据时可对应方式解码,编码方式如下: var fb = model.SubmitProxyReq{ Query: resp.Request.URL.Query().Encode(), Body: base64.StdEncoding.EncodeToString(reqBody), Resp: base64.StdEncoding.EncodeToString(body), } // http 和websocket 使用示例 // 可以直接查看main.go ```