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 不再只是“代理工具”,而是变成一个 自动化网络管家。无论是:
- 自动选最快节点
- 定时更新规则
- 智能切换模式
这些高级玩法,都能显著提升使用体验和效率。
