{ "permissions": { "allow": [ "Bash(grep -E \"node_modules|/build/|build_package|^runtime/|^publish/|third_party/drogon/install|\\\\.so$|\\\\.o$\")", "Bash(git commit *)", "Bash(git push *)", "Bash(echo \"=== exit: $? ===\")", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== nginx status ===\"; systemctl is-active nginx 2>/dev/null || service nginx status 2>/dev/null | head -3; echo; echo \"=== all listen ports in nginx config ===\"; sudo grep -rhoE \"listen[^;]*;\" /etc/nginx/ 2>/dev/null | sort | uniq -c')", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== nginx 监听的端口(去重)===\"; sudo nginx -T 2>/dev/null | grep -oE \"listen[[:space:]]+[^;]+\" | sed \"s/listen[[:space:]]*//\" | sed \"s/[[:space:]]*default_server//\" | sed \"s/[[:space:]]*ssl//\" | sort -u; echo; echo \"=== proxy_pass 转发目标(去重)===\"; sudo nginx -T 2>/dev/null | grep -oE \"proxy_pass[[:space:]]+[^;]+\" | sed \"s/proxy_pass[[:space:]]*//\" | sort -u')", "Bash(sshpass -p i7568737i~ ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 ' *)", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== 服务器上 8080 / 8082 占用情况 ===\"; sudo ss -tlnp 2>/dev/null | grep -E \":8080|:8082|:8848|:3000\" ; echo; echo \"=== nginx 对外监听 8080 的 server 块 ===\"; sudo nginx -T 2>/dev/null | grep -B2 -A20 \"listen.*8080\"')", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'echo \"=== IPv4 网卡 ===\"; ip -4 addr show | grep -E \"inet \" | grep -v \"127.0.0.1\"; echo; echo \"=== IPv6 全局地址 ===\"; ip -6 addr show | grep -i \"scope global\" || echo \"\\(无全局 IPv6\\)\"; echo; echo \"=== 现有 listen 10.2.0.8:8081 server 块\\(作为方案A的参照\\) ===\"; sudo nginx -T 2>/dev/null | grep -B1 -A18 \"listen[[:space:]]+10.2.0.8:8081\"; echo; echo \"=== 确认 8080 当前 default_server 标记 ===\"; sudo nginx -T 2>/dev/null | grep -nE \"listen.*8080\"')", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'bash -s')", "Bash(curl -s -m 5 -o /dev/null -w \"HTTP %{http_code} 耗时%{time_total}s\\\\n\" http://82.157.83.226:8080/api/system/health)", "Bash(curl -s -m 5 http://82.157.83.226:8080/api/system/health)", "Bash(echo \"health body: $\\(curl -s -m 5 http://82.157.83.226:8080/api/system/health\\)\")", "Bash(sshpass -p 'i7568737i~' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 ubuntu@82.157.83.226 'sudo nginx -t && sudo systemctl reload nginx && echo \"[nginx] reloaded -> 10.2.0.8:8080 转发 127.0.0.1:8080 \\(中断开始\\)\"')", "Bash(./deploy.sh)", "Bash(curl -s -m5 http://82.157.83.226:8080/api/system/health)", "Bash(curl -s -m5 http://82.157.83.226:8080/api/system/version)", "Bash(curl -s -m5 -o /dev/null -w \"HTTP %{http_code} 类型%{content_type}\\\\n\" http://82.157.83.226:8080/)", "Bash(curl -s -m5 -o /dev/null -w \"8848 HTTP %{http_code} \\(000=不通/拒绝, 符合预期\\)\\\\n\" http://82.157.83.226:8848/)", "Bash(git restore *)" ] } }