使用Gemini CLI必须要服务器有外网环境,这也是我一直想搞的,开整!Github上找了个开源项目:https://github.com/nelvko/clash-for-linux-install
下载项目 1 2 git clone --branch master --depth 1 https://gh-proxy.com/https://github.com/nelvko/clash-for-linux-install.git cd clash-for-linux-install
修改默认配置文件
1 vi resources/config.yaml
安装
要求输入订阅,订阅获得方法如下:
订阅地址形如:http://14.33.74.21:2668/api/v1/client/subscribe?token=e82240589dc3&burn=7ptTFvo
使用 打开或关闭当前终端的代理
查看密钥
打开web ui
在浏览器中输入http://172.22.26.185:9090/ui ,即可打开控制台
其他用法 1 2 3 4 5 6 7 8 9 10 11 12 13 Usage: clash COMMAND [OPTION] Commands: on 开启代理 off 关闭代理 proxy [on|off] 系统代理 ui 面板地址 status 内核状况 tun [on|off] Tun 模式 mixin [-e|-r] Mixin 配置 secret [SECRET] Web 密钥 update [auto|log] 更新订阅
检查连接状态 最后,可以使用以下脚本检查是否使用了代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 #!/bin/bash echo "=========================================" echo " 代理使用情况检测" echo "=========================================" echo -e "\n🔍 当前代理环境变量:" if [[ -n "$http_proxy " || -n "$https_proxy " || -n "$all_proxy " ]]; then echo "✅ 代理已设置:" [[ -n "$http_proxy " ]] && echo " HTTP: $http_proxy " [[ -n "$https_proxy " ]] && echo " HTTPS: $https_proxy " [[ -n "$all_proxy " ]] && echo " ALL: $all_proxy " else echo "❌ 未设置代理环境变量" fi test_website () { local site=$1 local name=$2 echo -e "\n🌐 测试 $name ($site ):" result=$(curl -w "连接时间: %{time_connect}s | 远程IP: %{remote_ip} | 本地端口: %{local_port}" \ -o /dev/null -s --max-time 10 "$site " 2>/dev/null) if [[ $? -eq 0 ]]; then echo "✅ 连接成功 - $result " if curl -v "$site " 2>&1 | grep -q "Connection established" ; then echo "🔄 检测到代理连接 (通过CONNECT隧道)" else local_port=$(echo "$result " | grep -o 'local_port: [0-9]*' | cut -d' ' -f2) if [[ $local_port -gt 50000 ]]; then echo "🔄 可能通过代理连接 (高端口号: $local_port )" else echo "➡️ 可能是直连 (低端口号: $local_port )" fi fi else echo "❌ 连接失败或超时" fi } test_website "https://www.google.com" "Google" test_website "https://www.baidu.com" "百度" test_website "https://www.youtube.com" "YouTube" echo -e "\n🔧 代理进程检查:" if pgrep -f clash > /dev/null; then echo "✅ Clash进程运行中" echo " 进程ID: $(pgrep -f clash | tr '\n' ' ') " echo " 监听端口:" netstat -tlnp 2>/dev/null | grep -E ":7890|:7891|:9090" | while read line; do echo " 📡 $line " done else echo "❌ 未检测到Clash进程" fi echo -e "\n🌍 当前IP信息:" ip_info=$(curl -s --max-time 5 https://ipinfo.io 2>/dev/null) if [[ $? -eq 0 ]]; then echo "$ip_info " | jq -r '"IP: " + .ip + " | 国家: " + .country + " | 城市: " + .city + " | 运营商: " + .org' 2>/dev/null || echo "$ip_info " else echo "❌ 无法获取IP信息" fi echo -e "\n=========================================" echo "检测完成!" echo "========================================="
参考