使用 Ubuntu 的时候,有 clash 的网络代理,但是我有时需要使用 Charles 抓包,他们使用的端口不一致,我在使用的过程中需要进行切换,但是在设置的网络代理中如果选择手动设置代理,则需要自己输入 IP 和端口号,有没有一种啥优雅的方式,比如这里预设好,点一下就能切换的插件或工具呢
还有 windows 中使用 clash 这种工具,工具内部就提供 System Proxy 这样的按钮,可以一键使用,Ubuntu 里面为什么不行呢,个人感觉做一个这个应该不是很麻烦吧,就找到 Proxy 的配置文件,修改一下就行
1
brader 2023-05-08 10:21:53 +08:00
你都用上 linux 了,自己写个 shell 脚本呗,不也是点一下
|
2
skiy 2023-05-08 10:33:46 +08:00 via iPhone
你是要设置全局代理的吧?直接修改系统配置的我没改过。我觉得你可以使用 qv2ray 来切换源吧?或者启动 v2ray 时,加个 -c 读取配置文件?
|
3
0o0O0o0O0o 2023-05-08 10:42:57 +08:00 via iPhone
大部分情况下,并不建议用全局代理抓包。windows 可以用临时环境变量和 proxifier 之类的 hook 实现,linux 更是灵活:环境变量( linux 程序更加遵循)、proxychains 类、iptables 、cgroup
|
4
kaysar OP |
5
kaysar OP 确实,用 ChatGPT 写一个脚本也能快速实现
|
6
kaysar OP 感谢大佬,我试试 proxychains
|
7
lindas 2023-05-08 11:15:07 +08:00
我用 mitmproxy 抓 chrome 的包时,是在命令行里多加一个参数 `--proxy-server` 手动指定一个代理服务器给 chrome 。平常用的时候,就是在 .bashrc 加个函数,然后直接在 shell 里打 `chrome_tmp` 就可以了 :
``` chrome_tmp() { local PROFILEDIR=$(mktemp -p /tmp -d tmp-chrome-profile.XXXXXX.d) if [ -n "$1" ]; then proxy_server=$1 shift else proxy_server="http://127.0.0.1:8080" echo ${proxy_server} fi echo "chrome runing, profile path is $PROFILEDIR, proxy server is $proxy_server" google-chrome-stable --user-data-dir=$PROFILEDIR --proxy-server=$proxy_server --ignore-certificate-errors $@ rm -rf $PROFILEDIR echo "$PROFILEDIR deleted" } ``` |
8
v3413 2023-05-08 11:23:44 +08:00
既然系统都是 ubuntu 啦,那本地启动一个 v2ray 进程,然后在 v2ray 里面做分流,把想抓包的流量送进 Charles ,其它的默认走 freedom 或者 clash 。
或者,我记得 clash 也可以设置分流规则嘛 |
9
blankmiss 2023-05-08 11:33:41 +08:00
chrome 有插件可以设置 Proxy SwitchyOmega 不过只对 chrome 生效
|
10
wipbssl 2023-05-09 09:49:48 +08:00
clash for windows 有 linux 版本,可以试试 cfw 的 tun 模式。
|