@gpzhang2001/sharpkit-proxy
v0.2.2
Published
Caido proxy client + five traffic tools (list_requests/view_request/repeat_request/list_sitemap/view_sitemap_entry) over the sandbox session's lazy bootstrap
Downloads
297
Readme
@gpzhang2001/sharpkit-proxy
Caido 代理客户端 + 五工具(list_requests / view_request / repeat_request / list_sitemap / view_sitemap_entry)。
工具
- list_requests:HTTPQL 过滤(整数/文本/日期操作符、AND/OR、无 NOT)、游标分页、8 键排序(strix
_REQ_FIELD_MAP→ Caido 枚举映射)、scope 限定 - view_request:request/response raw 二选一;
search_pattern→ ≤20 命中(±40 字符上下文);否则行分页(page/page_size/has_more) - repeat_request:取 raw → 解析 → 补丁(url/params/headers/body/cookies)→ 重建 raw(Host/UA 默认、framing 头剔除、Content-Length 重算)→ 空 replay 会话 + startReplayTask → 轮询 entry 至出响应/错误(SDK 订阅等待的 HTTP-only 适配);30s strix 超时语义与文案
- list_sitemap:根(scope 过滤)/ 后代(DIRECT/ALL),字段集照抄 caido_api.py:555-592
- view_sitemap_entry:entry 详情 + 最近 30 条请求
形态
client.ts:global fetch + Bearer(endpoint 来自 sandbox 会话的 Caido bootstrap,懒解析——首次工具调用才付登录等待,strix 并发语义)- GraphQL 文档为 caido_sdk_client 生成文档的 trimmed 子集,已对真实 Caido 0.56.0 schema 验证
- Caido ID 为 i32:非数字 ID 是 GraphQL 层错误(集成测试锁定该行为)
replay.ts:纯函数(parse/build raw、修改叠加、响应解析 8192 截断)100% 单测
Config
scanId、listPageSize(50)、replayTimeoutMs(30s)、caidoTimeoutMs(60s,对齐原 @function_tool timeout)。
测试
tests/replay.test.ts/tests/proxy.test.ts:纯函数 + fake HTTP 通道(精确操作名路由)tests/integration.test.ts:真实容器内 Caido(docker 门控)——空表列出、sitemap、缺席 ID、GraphQL 层 ID 格式错误
