分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应

这个是我自己开发的一个工具,自己在工作中已经高频使用,目前Mac上测试较多,Windows上测试较少,所以Windows版本可能有些bug。

会继续更新版本,欢迎交流。

Z-Proxy

产品定位

Z-Proxy 是一款开源的 HTTP(S) 代理抓包工具,专为 Web 前后端开发者设计。它提供了一个简洁、高效的方式来监听、分析和修改本机网络请求,是 Fiddler 和 Charles 的轻量级替代方案。


核心价值

为什么选择 Z-Proxy?

1. 轻量级 & 易用
  • 界面简洁直观,上手零难度
  • 动态代理配置友好性远超 Fiddler 和 Charles
2. 功能完整
  • 完整的 HTTP(S) 请求监听
  • 实时请求/响应拦截
  • 本地文件、远程资源替换响应
  • 网络延时模拟
  • 独有能力:通过 JavaScript 代码修改请求和响应
  • 独有能力:支持上传 HAR 文件,用生产数据进行本地开发和性能对比
3. 开发友好
  • 跨平台支持 macOS 和 Windows
  • 开源且免费
  • 持续更新
4. 隐私安全
  • 所有数据本地存储,不上传云端
  • 自签名证书,安全可控

用户场景

场景 1:API 集成开发

后端 API 还未完成时进行前端开发,使用动态代理 Mock API 数据推进开发进度。前后端并行开发加快项目进度,无需维护 Mock 服务器,灵活切换开发/测试/生产环境。

场景 2:精准模拟接口延迟

前端运行过程,有时会依赖接口的响应顺序,对每个接口精确mock延迟,帮助发现接口响应顺序不同导致的前端异常。

场景 3:第三方服务集成

集成第三方 API(支付、地图等),在本地测试第三方服务。使用动态代理无需真实的第三方账号,即可进行mock。

场景 4:使用生产数据进行本地开发(独有能力)

从生产环境的浏览器下载 HAR 文件,在 Z-Proxy 中上传并使用生产数据替换响应。使用真实生产数据进行开发、调试,快速复现和修复生产问题,提高开发效率和代码质量。

场景 5:性能对比测试(独有能力)

保存 HAR 文件(包含请求延时),优化前后使用同一个 HAR 文件进行性能测试,稳定重放各个接口响应的内容和延迟。消除服务端变化的影响,准确量化性能优化效果,科学的性能对比方法。

场景 6:前端程序验证生产环境兼容性

将生产环境的域名代理到本地前端程序,验证前端程序在生产环境是否能正常运行。安全验证新版本前端程序,无需部署到生产环境,快速发现兼容性问题。

场景 7:后端程序验证生产环境兼容性

将生产环境的 API 请求代理到本地后端服务,验证后端程序在生产环境是否能正常运行。安全验证新版本后端程序,无需部署到生产环境,快速发现兼容性问题。

场景 8:测试人员验证功能

验证应用是否调用了正确的 API,测试 API 错误时的表现。清晰了解应用的网络行为,快速验证错误处理逻辑,发现隐藏的程序问题。


产品特性详解

特性 1:实时请求监听

  • 自动监听本机所有 HTTP(S) 请求
  • 实时显示请求列表
  • 发现隐藏的网络请求

特性 2:请求详情查看

  • 查看完整的请求信息(URL、Headers、Body)
  • 查看完整的响应信息(状态码、Headers、Body)

特性 3:动态代理(独有能力)

动态代理是 Z-Proxy 的核心功能,提供多种灵活的方式来拦截、修改和伪造请求和响应。

基础拦截与伪造
  • 网络延时模拟
  • 本地文件替换响应
JavaScript 代码修改
  • 通过 JavaScript 脚本动态修改请求和响应
  • 支持复杂的数据转换逻辑
  • 灵活处理各种场景
HAR 文件支持
  • 支持上传 HAR 文件(HTTP Archive 格式)
  • 使用 HAR 中的数据替换响应
  • 保留原始的请求延时信息

应用场景

  • 生产数据本地开发:从生产环境下载 HAR,在本地使用生产数据进行开发
  • 性能对比测试:使用同一个 HAR 文件对比优化前后的性能,消除服务端变化的影响
  • 离线开发:无网络连接时,使用 HAR 文件进行开发和测试

特性 4:代理例外

  • 排除不希望被监听的域名
  • 提高代理效率,减少不必要的监听

应用场景

  • 排除系统更新、广告等无关请求
  • 排除vpn工具的请求,避免vpn无法建立连接

竞品对比

特性 Z-Proxy Fiddler Charles
学习成本 📚 低 📚 高 📚 中
动态代理配置 ✅ 简单友好 ❌ 复杂 ❌ 复杂
跨平台支持 ✅ macOS/Windows ✅ Windows/macOS ✅ macOS/Windows/Linux
开源 ✅ 是 ❌ 否 ❌ 否
价格 💰 免费 💰 部分付费 💰 部分付费
移动端支持 ❌ 否 ❌ 否 ✅ 是
JavaScript 修改 ✅ 支持 ❌ 不支持 ❌ 不支持
HAR 文件支持 ✅ 支持 ⚠️ 有限 ⚠️ 有限
代理例外配置 ✅ 灵活 ⚠️ 基础 ⚠️ 基础

安装与使用

快速开始(3 步)

第 1 步:下载应用
  • 从 GitHub 下载最新版本
  • macOS:下载 .dmg 文件
  • Windows:下载 .exe 文件
第 2 步:安装应用
  • macOS:拖到应用程序文件夹
  • Windows:按照安装向导完成安装
  • 安装过程需要对系统跳出的禁用进行信任
第 3 步:信任证书(首次启动)
  • 打开钥匙串访问(macOS)或证书管理器(Windows)
  • 导入应用提供的证书
  • 设置为"始终信任"

完成! 应用会自动设置系统代理,开始监听请求。


社区与支持

获取帮助

  • 官方文档:完整的使用手册和 API 文档
  • GitHub Issues:提交问题和建议

参与贡献

  • 提交 Issue:报告 Bug 或提出建议
  • 提交 PR:贡献代码
  • 改进文档:完善使用文档
  • 分享经验:发布使用教程

最后更新:2025 年 12 月 31 日

版本:v0.2.0

官方网站https://github.com/xiaodi0003/z-proxy

问题反馈https://github.com/xiaodi0003/z-proxy/issues

下载https://github.com/xiaodi0003/z-proxy/releases/tag/v0.2.1

相关推荐
代码小学僧2 小时前
普通前端仔的 2025 : 年终总结与 AI 对我的影响
前端·程序员·ai编程
Mike_jia2 小时前
TCP 粘包/拆包问题
前端
沐墨染2 小时前
敏感词智能检索前端组件设计:树形组织过滤与多维数据分析
前端·javascript·vue.js·ui·数据挖掘·数据分析
Kagol2 小时前
🎉TinyPro v1.4.0 正式发布:支持 Spring Boot、移动端适配、新增卡片列表和高级表单页面
前端·typescript·开源
李少兄2 小时前
B/S 架构:现代 Web 应用的核心架构模式
前端·架构·b/s
鹏程十八少2 小时前
破解Android悬浮窗遮挡无障碍服务难题:我在可见即可说上踩过的坑
android·前端·面试
Kapaseker3 小时前
前端已死...了吗
android·前端·javascript
小李独爱秋3 小时前
计算机网络经典问题透视:MD5报文是什么?有什么特点?
网络·网络协议·计算机网络·网络安全·信息与通信·信号处理
m0_471199633 小时前
【自动化】前端开发,如何将 Jenkins 与 Gitee 结合实现自动化的持续集成(构建)和持续部署(发布)
前端·gitee·自动化·jenkins