|
主要用途:在执行 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。
如果担心检测接口不可用,可以换成自己的检测接口或增加备用源。 这个方法比较适合防止“节点没开 / 分流没走 / 出口切错地区”这种低级失误。
|