ClashVerge 自定義指令碼高階玩法,實現自動切換、延遲測速、規則更新(2025進階神技)
你是否厭倦了每次都要手動切換節點?想讓軟體自動選擇最快節點、定時更新規則、甚至根據時間/網路環境智慧調整策略?好訊息!ClashVerge 支援自定義指令碼(Script)功能,結合其強大的 API 和 YAML 配置能力,你可以實現:
✅ 自動測速擇優
✅ 定時更新訂閱
✅ 根據時間切換策略
✅ 網路變化自動過載
本文專為進階使用者打造,帶你玩轉 ClashVerge 自定義指令碼的高階玩法,讓你的代理工具真正“智慧化”!
四大高階指令碼玩法實戰
玩法一:自動測速擇優(Auto Select Best Node)
透過指令碼定期對節點進行延遲測試,自動選擇最快節點。
🔧 實現方式(使用 curl + Clash API
):
#!/bin/bash
# auto-speedtest.sh
API="http://127.0.0.1:9090"
# 獲取所有節點名
NODES=$(curl -s $API/proxies | jq -r '.proxies."自動選擇".all[]')
FASTEST=""
MIN_DELAY=9999
for node in $NODES; do
DELAY=$(curl -s --connect-timeout 5 "$API/proxies/$node" -X PATCH -d '{"name":"'$node'"}' | jq -r '.history[-1].delay // 9999')
if [ $DELAY -lt $MIN_DELAY ]; then
MIN_DELAY=$DELAY
FASTEST=$node
fi
done
# 設定最佳節點
if [ -n "$FASTEST" ]; then
curl -X PUT "$API/proxies/自動選擇" -d "{\"name\":\"$FASTEST\"}"
echo "✅ 已切換至最快節點:$FASTEST (延遲: $MIN_DELAYms)"
fi
📌 使用方法:
- 儲存為
speedtest.sh
; - 配合
crontab -e
定時執行(如每10分鐘一次); - 需安裝
jq
工具解析 JSON。
玩法二:定時自動更新訂閱
避免手動重新整理,讓配置始終保持最新。
#!/bin/bash
# auto-update.sh
PROFILE_ID="your-profile-id" # 在 ClashVerge 中檢視配置檔案 ID
API="http://127.0.0.1:9090"
curl -X PUT "$API/profiles/load" \
-H "Content-Type: application/json" \
-d "{\"uid\":\"$PROFILE_ID\"}"
echo "🔄 訂閱已自動更新"
💡 可設定每天凌晨 3:00 自動執行,確保節點最新。
常見問題 FAQ
Q:如何開啟 ClashVerge 的 API 功能?
A:進入 Settings → General → 開啟 “Allow External Connection”,預設埠為 9090
。
Q:指令碼能用 Python 寫嗎?
A:當然可以!只要能呼叫 HTTP API,Python/Node.js/Go 都支援。
Q:指令碼會影響系統效能嗎?
A:輕量指令碼幾乎無影響。建議避免頻繁請求(如每秒呼叫)。
Q:如何獲取配置檔案的 Profile ID?
A:在 ClashVerge 中右鍵配置檔案 → “Details” 檢視 UID。
指令碼 = ClashVerge 的外掛大腦
透過自定義指令碼,你可以讓 ClashVerge 不再只是“代理工具”,而是變成一個 自動化網路管家。無論是:
- 自動選最快節點
- 定時更新規則
- 智慧切換模式
這些高階玩法,都能顯著提升使用體驗和效率。