mac 上我使用 ClashX 设置代理,并且设置的是全局模式。 但是 shell 需要我手动设置代理。
当我退出 ClashX 的时候,每次都要我手动编辑 shell 的配置文件,打开 ClashX 也要,就很麻烦。 一不小心没设置对 shell 就不正常了。
有什么办法让我的 shell 的代理自动跟着 ClashX 的设置吗?
1
KaliZ 257 天前 via iPhone
换 clashX pro
|
2
noahlias 257 天前
tun mode
|
3
orangie 257 天前
写个 shell 脚本,如果能连接代理端口就以为 clash 开了,就设置代理环境变量,否则清除环境变量,把这个脚本在 profile 里 source 一下。
|
4
orangie 257 天前
我自己用 GPT 写了一个,挺好用的
#!/bin/bash # 目标代理服务器的地址 PROXY_HOST="localhost" # 检测的代理端口 PROXY_PORT=10808 # 检测端口是否开放 nc -z $PROXY_HOST $PROXY_PORT > /dev/null 2>&1 # 根据 nc 命令的退出状态来决定是否设置环境变量 if [ $? -eq 0 ]; then echo "Proxy port is open. Setting up proxy environment variables." export http_proxy="http://$PROXY_HOST:$PROXY_PORT" export https_proxy="http://$PROXY_HOST:$PROXY_PORT" else echo "Proxy port is closed. Clearing proxy environment variables." unset http_proxy unset https_proxy fi |
5
darcyC 257 天前
就像 1 楼和 2 楼说的那样,你需要使用 ClashX Pro 里的 Tun 模式(增强模式)
注意一下,不要同时启动 系统代理 和 增强模式,你只需要开启增强模式。 |