HTTP 请求录制代理,带 Web 管理界面。支持录制、筛选、导出 cURL、修改目标地址重放。
# 安装 & 构建
npm run setup
# 启动
npm start- 创建会话 — 点击
+ New,填写代理端口和目标服务地址 - 录制 — 调用方把请求发到代理端口,代理转发到目标并记录请求/响应
- 筛选 — 按 Method、Path(正则)、Status Code 过滤
- 收藏 — 星标重要请求
- 导出 cURL — 点击
📋 cURL复制为可执行的 curl 命令 - 重放 — 单条或批量重新发送请求,支持修改目标 IP/Port
- Resume / Restart — Resume 保留已有记录继续录制,Restart 清空重新开始
管理端口默认 3456,可通过环境变量 MANAGEMENT_PORT 修改。
| Method | Path | 说明 |
|---|---|---|
| POST | /api/sessions |
创建录制会话 |
| GET | /api/sessions |
列出所有会话 |
| GET | /api/sessions/:id |
获取会话详情(含所有 exchanges) |
| DELETE | /api/sessions/:id |
删除会话 |
| POST | /api/sessions/:id/stop |
停止录制 |
| POST | /api/sessions/:id/resume |
继续录制(保留已有记录) |
| POST | /api/sessions/:id/restart |
重新录制(清空记录) |
| GET | /api/sessions/:id/exchanges |
获取 exchanges(支持筛选) |
| PATCH | /api/sessions/:id/exchanges/:eid |
更新 exchange(star/tags) |
| DELETE | /api/sessions/:id/exchanges |
批量删除 exchanges |
| POST | /api/sessions/:id/exchanges/:eid/replay |
重放单条请求 |
| POST | /api/sessions/:id/replay-all |
批量重放 |
| GET | /api/sessions/:id/exchanges/:eid/curl |
导出为 curl 命令 |
GET /api/sessions/:id/exchanges 支持 query 参数:
method— HTTP 方法(GET/POST/PUT/DELETE/PATCH)pathPattern— 路径正则statusCode— 响应状态码starred=true— 仅星标tags=a,b— 包含指定标签
replay 和 replay-all 请求 body 可选:
{
"overrideHost": "10.0.0.5",
"overridePort": 3000
}curl 导出也可通过 query 参数 overrideHost / overridePort 指定目标。
src/
index.ts # 入口,管理 UI 服务
proxy/recorder.ts # HTTP 代理核心(录制/转发/重放/curl 生成)
api/routes.ts # REST API
store/index.ts # 文件持久化
types/index.ts # 类型定义
frontend/ # React + Vite 前端
data/ # 运行时 JSON 存储
录制数据存储在 data/session_{id}.json,每个会话一个文件,包含完整配置和所有请求/响应记录。重启服务后数据不丢失。