clash-routes

Solid

查看指定进程的代理线路。通过 Mihomo API 查询当前活跃连接,显示进程匹配的规则和代理链路。用于确认某个进程(如 claude、chrome)走的是哪条订阅线路

AI & Automation 154 stars 19 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
73
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Clash 线路查看工具 查看当前活跃连接的代理线路信息,确认指定进程走的是哪条订阅/代理链。 用户传入的参数:$ARGUMENTS 如果用户没有传入参数,显示所有活跃连接(按进程分组)。 ## 执行流程 ### 第一步:获取 Mihomo API 凭证 读取 Clash Verge 配置获取 API secret: ```bash SECRET=$(grep '^secret:' "$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/clash-verge.yaml" 2>/dev/null | awk '{print $2}') [ -z "$SECRET" ] && SECRET=$(grep '^secret:' "$HOME/.config/clash/config.yaml" 2>/dev/null | awk '{print $2}') echo "Secret: ${SECRET:-(未找到)}" ``` ### 第二步:查询连接信息 优先使用 Unix socket,fallback 到 HTTP: ```bash # Unix socket 方式(Clash Verge Rev) SOCKET="/var/tmp/verge/verge-mihomo.sock" if [ -S "$SOCKET" ]; then CONNECTIONS=$(curl -s --unix-socket "$SOCKET" "http://localhost/connections" -H "Authorization: Bearer $SECRET" 2>/dev/null) else # HTTP fallback CONTROLLER=$(grep '^external-controller:' "$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/clash-verge.yaml" 2>/dev/null | awk '{print $2}' | tr -d "'\"") [ -z "$CONTROLLER" ] && CONTROLLER="127.0.0.1:9090" CONNECTIONS=$(curl -s "http://$CONTROLLER/connections" -H "Authorization: Bearer $SECRET" 2>/dev/null) fi ``` ### 第三步:解析并展示线路 用 Python 解析 JSON,按进程分组显示: ```python import json, sys data = json.loads(sys.stdin.read()) connections = data.get("connections", []) # 过滤进程名(如果指定了参数) process_filter = "参数中的进程名" # 从 $ARGUMENTS 获取 results = [] for conn in connections: meta = conn.get("metadata", {}) process = meta.get("process", "unknown") host = meta.get("host", "") or...

Details

Author
majiayu000
Repository
majiayu000/spellbook
Created
6 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category