#!/bin/sh
# ProxyFlow 3.2.3 分组联动/套娃 —— 直接查 mihomo 实际运行配置
API="http://127.0.0.1:28081/api/v1"
AUTH="admin:ikuai8.com"
DATA=/etc/log/apps/proxyflow-amd64/config
MIHOMO_DATA=/etc/log/apps/proxyflow-amd64/.pkg/app/data/mihomo

echo "=== 1. mihomo controller secret? ==="
# 看 proxyflowd 启动时给 mihomo 的 controller 配置
grep -rn "external-controller\|secret" "$MIHOMO_DATA"/*.yaml 2>/dev/null | head -5
ls -la "$MIHOMO_DATA"/ 2>/dev/null

echo ""
echo "=== 2. 清理+建两个分组的节点 ==="
# 删旧测试节点
for nm in gv-hk gv-tw; do
  ids=$(curl -s -u "$AUTH" "$API/nodes" | grep -o "\"id\":[0-9]*,\"name\":\"$nm\"" | grep -o '[0-9]*' | head -1)
  [ -n "$ids" ] && curl -s -u "$AUTH" -X DELETE "$API/nodes?ids=$ids" >/dev/null
done
# 建 hk 组节点
HK=$(curl -s -u "$AUTH" -X POST "$API/nodes" -H 'Content-Type: application/json' \
  -d '{"name":"gv-hk","protocol":"socks5","server":"1.2.3.4","port":1080,"group":"gvhk","enabled":true}')
echo "hk节点: $HK"
TW=$(curl -s -u "$AUTH" -X POST "$API/nodes" -H 'Content-Type: application/json' \
  -d '{"name":"gv-tw","protocol":"socks5","server":"5.6.7.8","port":1080,"group":"gvtw","enabled":true}')
echo "tw节点: $TW"

echo ""
echo "=== 3. 触发配置重载 (创建一条规则会 applyRuntime) ==="
curl -s -u "$AUTH" -X POST "$API/rules" -H 'Content-Type: application/json' \
  -d '{"ip":"192.168.99.99","target":"gvhk","enabled":true}' | head -c 200
echo ""

echo ""
echo "=== 4. 找 mihomo 实际加载的 config 文件 ==="
# proxyflowd 用 config.Parse 加载内存配置，但可能写到磁盘
find /etc/log/apps/proxyflow-amd64 -name "*.yaml" 2>/dev/null
find /tmp -name "*.yaml" 2>/dev/null | head -5

echo ""
echo "=== 5. mihomo controller: 直接查 proxies (无secret试) ==="
CTRL="http://127.0.0.1:29091"
curl -s "$CTRL/proxies" 2>/dev/null | head -c 500
echo ""
echo "--- /configs ---"
curl -s "$CTRL/configs" 2>/dev/null | head -c 300
echo ""

echo ""
echo "=== 6. 从 proxyflowd 自己的调试端点看生成的 proxy-groups ==="
# 试 /render 或专门的 config dump
curl -s -u "$AUTH" "$API/render" | head -c 300
echo ""
echo "--- /system/status ---"
curl -s -u "$AUTH" "$API/system/status"
echo ""

echo "=== DONE_V3 ==="
