防手滑:Claude CLI 启动前先检测出口是否为 xx 国家
主要用途:在执行 claude 命令前,先检测当前出口国家/地区。如果检测不到,或者出口不是美国,就直接拒绝启动,避免在代理没生效、分流异常、节点切换失败的情况下误登录。claude() {
COUNTRY=$(curl -s --max-time 5 https://ipok.dev/country)
if [ -z "$COUNTRY" ]; then
echo "❌ 无法检测当前出口区域"
return 1
fi
if [ "$COUNTRY" != "US" ]; then
echo "❌ 当前出口不是美国: $COUNTRY"
return 1
fi
echo "✅ 美国出口确认,正在启动 Claude"
command ~/.local/bin/claude "$@"
}
放到 ~/.zshrc 或 ~/.bashrc 里即可:source ~/.zshrc或source ~/.bashrc之后直接执行:claude这样每次启动前都会先检查出口,适合配合 Clash Verge / Mihomo 分流使用。补充说明:这里只是做“启动前检查”,不是绝对防风控。
如果浏览器、终端、CLI 走的不是同一个代理环境,检测结果可能不同。
如果使用 TUN 模式,建议确认终端流量也被接管。
ipok.dev/country 返回的是国家代码,例如 US、JP、SG。
如果担心检测接口不可用,可以换成自己的检测接口或增加备用源。这个方法比较适合防止“节点没开 / 分流没走 / 出口切错地区”这种低级失误。
页:
[1]
