档案库 · 开发与企业工具 · 产品决策 · 2022–2026
Mitmproxy2swagger 押注应用流量能自动编写 API 规范;HN 691 分,9.6k 星
一个开源 Python 工具将捕获的应用流量转换为 OpenAPI 3.0 规范,因此只需运行应用即可逆向工程未记录的 REST API。
mitmproxy2swagger
做的是什么生意
A free MIT-licensed open-source Python tool that converts mitmproxy traffic captures — and HAR files exported from browser DevTools — into OpenAPI 3.0 specifications, letting developers reverse-engineer undocumented REST APIs by running an app and capturing its traffic.
起因
Developer alufers released mitmproxy2swagger as open source and posted it to Hacker News on 2022-05-12, where it drew 691 points and 85 comments. The pitch was that undocumented REST APIs could be reverse-engineered by just running the app through mitmproxy, saving the flows, and pointing the tool at them to emit an OpenAPI 3.0 specification.
经过
The project kept evolving after launch: it added support for HAR files exported from browser DevTools (so APIs could be documented without a proxy at all), a Docker install path, options to include example payloads and headers, and safe merging of multiple captures into an existing schema. The README also shows generated documentation rendered via redoc-cli, and by 2026 the repository had 331 commits and an active toolchain (uv, pytest, prek linters).
还没有结局,它还在跑。
背景
mitmproxy2swagger 押注一旦将捕获的流量视为真相来源,REST API 文档就是一个已解决的问题。开发者 alufers 发布的免费开源工具将 mitmproxy 流捕获转换为 OpenAPI 3.0 规范,这意味着可以通过运行应用、捕获流量并让工具编写模式来逆向工程未记录的 API。
该设计是故意的两遍。第一遍扫描捕获并生成一个模式,其中每个发现的路径都以“忽略:”前缀开头;开发者编辑该文件以保留他们关心的端点。第二遍然后重新生成模式,包含从真实捕获示例构建的完整请求和响应描述,并安全地与任何现有模式合并,以便重复捕获累积覆盖。后续版本添加了 HAR 支持,因此可以从浏览器开发者工具导出直接记录 API 而无需代理。
该工具作为 Show HN 于 2022-05-12 发布到 Hacker News,获得 691 分和 85 条评论——这种关注度使其成为当周最受欢迎的开发者工具之一。它仍然是一个单人的开源项目,而不是一家公司:没有定价页面、没有风险投资、没有商业层。
截至 2026-09-05,该仓库已增长到 9.6k 星、374 个分叉和 331 次提交,README 描述了积极维护的工具链。开发者宁愿从真实流量生成 API 规范而不是阅读压缩客户端代码的押注,作为工具得到了验证,尽管从未成为商业。
这件事要成立,得有什么
- 捕获的流量是地面真相:应用的真实请求包括文档经常省略或出错的端点、参数、标头和示例。
- 两遍工作流让自动化在错误成本很低的情况下运行——开发者编辑生成的端点列表,而不是手动编写模式。
- 添加 HAR 支持消除了代理要求,并将工具从移动应用逆向工程扩展到任何浏览器驱动的 API。
- 2022-05-12 的 691 分 Show HN 表明这种痛点广泛存在;四年内持续增长到 GitHub 9.6k 星证明了该工具不断获得关注。
可借鉴之处
自动化乏味的部分,但保留一个人工检查点:第一遍提出端点,第二遍填充细节,让一个开发者在几分钟内通过判断记录整个 API。
后续进展
截至 2026-09-05,mitmproxy2swagger 仍然是一个由 alufers 维护的免费、MIT 许可的开源项目。GitHub 仓库在该日期有 9.6k 星、374 个分叉和 331 次提交,支持 mitmproxy 捕获和 HAR 导出、示例生成标志、Docker 安装以及活跃的测试和 lint 设置。它从未成为商业产品或公司,公开记录中也没有收入或资金信息。
资料来源
发现哪里写错了?告诉我们。
轮到你了
你刚读完一家。说说你在做什么,看看谁在赌同一件事。
免费账号 · 3 次免费提问 · 不用绑卡