开发神器zan-proxy
# 前言
早在 2018 年就听说过 zan-proxy,当时总结起来就是 zan-proxy 能做的,fiddler 都能做,也就没必要学了。但是入职有赞之后强制要求用这个,所以只能学一波了。 我觉得 zan-proxy 相比 fiddler 有如下几个优点:
- 实现 https 抓包更简单,android 我没试过,不过在 ios 上真的使用 zan-proxy 实现了 https 抓包
- 功能比 fiddler 更加简洁,更方便使用。
好了,不吹这么多了,这篇文章就是告诉你怎么使用 zan-proxy
# zan-proxy 安装
zan-proxy 是开源项目,可以通过 npm 安装命令行,也可以直接下载对应操作系统的安装文件,具体的安装方法和下载地址你可以访问 zan-proxy 的github 地址
安装好之后点击图片图标启动
若果应用没有启动,可能被系统阻止了,可以去系统偏好设置中的安全性与隐私,选择仍要打开,并打开。 具体可参考:https://jingyan.baidu.com/article/f71d60377960651ab741d140.html
启动时可能会询问系统的密码,填入即可,这是代理在导入并信任证书。
第一次启动时候会做一些初始化,并会自动重启,等待即可。当弹出如下提示就可以正常使用啦~
# 使用
# 三个代理模式:
- 独立模式(需要浏览器插件)(原名干净模式)
- 需要配合浏览器插件使用,具体可参考:Chrome 代理设置
- 全局模式(系统级别代理)(原名 PAC 模式), 所有 http 和 https 的请求都会经过代理 Zan proxy 根据转发规则和 host 文件自动生成 pac 文件,所有配置的规则和 host 的请求都会自动经过代理
# 切换环境
桌面版预设了三个环境:QA-SC, 预发-多人,Daily-SC,在主界面对应项目点击 开关 即可完成环境的切换。 通知栏的图标也可以进行操作。 关闭开关 就可以恢复到正常线上环境。
# 环境编辑
编辑完成后,点击 保存 就能使用啦
# 手机端设置代理说明
iPhone 进入设置 → 无线局域网 点击已连接 wifi 右侧按钮(公司里一般是 Youzan-office)
# 点击配置代理
选择手动,然后服务器 ip 填自己电脑的 ip (按住 option 键的同时点击电脑上方的 wifi 图标即可),端口号填 8001 最后点击存储即可
安卓 安卓手机设置代理与 iPhone 基本一样。由于安卓机型比较多,设置方式可能稍有差异,代理的设置一般在高级设置里。
# 常见问题
手机证书无法下载 请确认手机代理是否已经正确设置。需要与电脑处于同一网络环境,且代理 ip 设置为电脑 ip,端口 8001。 或直接下载证书,手动复制到手机进行安装
安卓手机安装证书失败 解决方案:
- 不要用手机自带的浏览器下载 crt 文件。 下载一个第三方的浏览器,再下载 crt 文件。
- 安装证书:不要直接点击 crt 文件进行安装。 正确安装方法有 2 个: 其一:设置——WiFi——高级设置——安装证书 其二:设置——更多设置——系统安全——从存储设备安装证书
安装证书后还是无法正常代理 iphone 代理到电脑,在安装证书后需要信任证书,信任证书的方式如下: 「设置」——「通用」——「关于本机」—— 拉到底部「证书信任设置」 —— 把 「zProxy」的开关打开 —— 完成
无法启动,卡在同步流程(旧版)或闪退 一般是配置文件出现了错误,可以查看 ~/Library/Logs/Zan Proxy/log.log 日志文件,看下是哪个文件解析报错,删除对应的文件,重新启动即可
手动修改配置文件名后失效 zan-proxy 对 host 规则、转发规则的文件是通过文件名字符串匹配的,若修改了文件名,可能会对规则匹配产生影响
# 结束
如果你有更好的建议或者困惑的地方,都可以发送邮件到我的邮箱 - andyliwr@outlook.com