本文假设,您已了解charles for mac的基本使用方法,以及常用的 linux命令。找了一圈,没有太好的工具能方便的实现 charles的 map local 或者 map remote的功能,最后还是绕回了 charles for linux
(中间折腾了一顿 tinyproxy fiddler for linux等,都没能方便的实现)
首先在linux命令行安装charles for linux版本。 可以直接参考官网方式,修改yum源来加载最新的charles版本
https://www.charlesproxy.com/documentation/installation/yum-repository/
安装完成后,即可在
/usr/lib/charles-proxy
目录下找到 charles, 也可以直接 whereis charles 来查找。
下面是重点,官网文档关于命令行的描述比较简易,可以参考这篇,命令行的使用。
https://mmazzarolo.com/blog/2019-09-01-charles-proxy-automation/
其实主要步骤和mac版基本一样, 首先就是生成linux上的根证书(这个命令后可以通过 charles -help 获取)
charles ssl export charles-root.pem
然后将证书安装到linux中,并更新
mv charles-root.pem /etc/ssl/certs/ update-ca-trust force-enable
接下来就是安装iOS证书了,方式是一样的,开启代理后,iOS浏览器访问 http://chls.pro/ssl
然后点击同意,进入证书管理中安装, 再进入关于本机,证书中信任。
最后,就是配置文件的使用了,charles提供了web版本用来配置,但是web版本并不方便,推荐大家使用mac版,设置好想要的配置后,点击 Tools->Import/Export Settings 来直接导出配置。
需要注意的是:
在操作界面右上角的齿轮图标有个 Access Control Settings 这里应该放行你的IP,详情可以参考界面的描述,注意下面有个 弹出确认授权连接的复选框,默认是勾选的,如果勾选的话 linux上就无法使用了,因为没法交互,所以这里必须取消勾选。
待一切配置好之后,将配置文件导出。然后把配置文件中的。
charles -config /path/to/your-config.xml
此时就可以生效啦!
奥,对啦,还有个注册激活的问题,这个实际上也是保存在 配置文件里面的,你先想办法把 mac版激活,导出后在linux自然就是ok的啦。如何激活,大家自行百度吧!