本项目用于在合规地区管理多个 Claude 账号的本地环境与登录态,面向因出差、旅居等原因身处支持地区的用户。请遵守 Anthropic 服务条款;禁止用于账号转售、共享、代注册或规避地区限制。本地环境检查只影响本机配置,不改变服务端记录,也不构成账号不被限制的保证。
AI 服务平台的风控已经从"看 IP"进化到全维度环境画像:时区、Locale、DNS 出口、WebRTC 候选地址、设备指纹、行为时序。绝大多数封号不是因为你做错了什么,而是某个你没意识到的场景里,真实出口 IP 悄悄溜出去了一次——哪怕只是一个 TCP SYN 握手包。
本项目的立场:防御不建立在"用户记得"上,而建立在系统级的硬性约束上。
代理暴毙、软件静默升级、随手乱点——这些场景下受保护进程会被保镖在秒级终止,裸连窗口被压缩到最小。这是进程级急停,不是防火墙级保证:巡检周期内存在固有的 TOCTOU 窗口,边界说明见 SECURITY.md。
每次启动前强制执行 14 项环境指纹审计,任一指标不达标,应用物理上不会被拉起:
| # | 检查项 | 防什么 |
|---|---|---|
| 01 | 代理内核 | 代理根本没在跑就启动 |
| 02 | TUN 网卡 | 系统代理开着但流量没被接管 |
| 03 | 出口 IP | 出口国家/地区异常 |
| 04 | IP 一致性 | 出口 IP 突变(跳节点是风控信号) |
| 05 | 时区 | 系统时区与 IP Geo-location 冲突 |
| 06 | 地区 Locale | 系统区域设置不符 |
| 07 | IPv6 | 双栈旁路直连(最隐蔽的泄漏通道之一) |
| 08 | DNS 隧道 | Fake-IP 校验,杜绝明文 DNS 泄漏 |
| 09 | WebRTC | 多节点 STUN 交叉探测(详见第 2 节) |
| 10 | 保镖守护进程 | Kill-Switch 是否在线(详见第 3 节) |
| 11 | 置顶路由规则 | 生态域名是否被强制走代理(详见第 6 节) |
| 12 | 客户端语言 | 防止 JS 层 navigator.language / Intl 读出系统中文 |
| 13 | ASN 属性 | 住宅宽带 vs 机房 IP(Residential vs Datacenter) |
| 14 | 生态可达性 | claude.ai / api.anthropic.com 连通性验证 |
关于「IP 与上次一致」:除了比对上一次出口,审计引擎还会维护 48 小时出口 IP 历史——48 小时内出口 IP 变化 ≥3 次会亮黄色警告(不阻断启动)。IP 频繁漂移意味着账号画像在风控眼里"居无定所",建议固定一条高质量住宅节点长期使用。
不依赖浏览器内核(headless Chrome 的 ICE 子系统在无人值守场景下根本不工作——我们踩过这个坑),直接用 socket + struct 手工构造 RFC 5389 Binding Request,解析 XOR-MAPPED-ADDRESS。
真正的创新在交叉验证拓扑:探测列表同时包含全球节点(Google/Cloudflare)与国内骨干节点——走隧道时应回传代理出口 IP,裸连时国内节点必然秒回并当场抓获真实 IP。两种状态可区分、零误报、不依赖"恰好不通"。
常驻守护进程以 10s 周期巡检隧道健康度(内核进程 × 虚拟网卡双因子),隧道中断即刻终止受保护进程。区别于客户端自带的 Fail-Open 容错重试——那种机制会把含真实 IP 的握手包送到对方网关日志里,哪怕最终"超时失败"。
多账号不是"登出再登入"(那会产生大量认证事件与指纹抖动),而是物理交换数据卷:每个账号持有独立的 Device Fingerprint、OAuth Credential 与本地状态,切换时原子化封存/载入。对服务端而言,每个账号看到的都是一台恒定不变的设备。
切换开销被压到"零拷贝"级别:归档是同卷移动(rename,瞬时完成),载入走 APFS clonefile / reflink 的写时复制(COW)——只有日后被修改的数据块才会真正复制。macOS 不支持 clonefile 时自动回退 ditto 全量复制,Linux 回退普通 cp -a(可用 CLAUDE_SWITCHER_NO_CLONE=1 强制走回退路径)。
软件更新会静默重置你的安全配置(我们的生产环境里,TUN 开关被代理客户端更新重置了 4 次,系统时区被改回 8 次)。Watchdog 周期巡检 + 基线回滚 + 全程留痕,配置漂移从"事故"降级为"日志里的一行记录"。
目标服务全家族域名及其生态依赖(Turnstile 人机验证 / Telemetry / Payment / Support)置顶锁定代理路由,优先级高于任何第三方分流规则集——不信任、不验证、直接免疫规则库误判。
这不是玩具项目,每个机制都有生产环境实战记录:
2026-10-07 00:31:12 代理离线(内核或TUN丢失),已自动关闭 Claude ← Kill-Switch 真实拦截
2026-10-04 12:55:26 时区异常: [Asia/Shanghai] 已自动恢复 ← Watchdog 第 8 次拦截漂移
原生 SwiftUI 单文件应用(无 Xcode 工程、无第三方依赖,swiftc 一条命令出可执行文件),图标由 Swift 代码程序生成——整个仓库不含一张设计素材。
系统要求:macOS · Clash Verge / Shadowrocket / sing-box / ClashX / Surge 任一(TUN 可用)· Claude 桌面版 · python3
Windows 用户:
windows/目录提供 Windows 版(PowerShell + WPF,Beta),安装与注意事项见 windows/README.md。 Linux 用户:linux/目录提供 Linux 版(bash + systemd,Beta),设计取舍(无官方桌面版→切换浏览器登录态)见 linux/README.md。
到 Releases 下载最新版本,按用途选择:
ClaudeSwitcher-<版本>-installer-kit.zip:首次安装推荐。解压后双击installer/安装.command,安装核心脚本、守护进程与桌面 App。ClaudeSwitcher-<版本>-macos-arm64-app-only.dmg/.zip:仅包含界面 App(不含核心脚本);已安装核心脚本时可用于替换旧版界面。首次安装请用上面的 installer-kit。ClaudeSwitcher-<版本>-windows.zip/ClaudeSwitcher-<版本>-linux.tar.gz:Windows / Linux 脚本包(Beta),说明见各自目录的 README。
macOS 产物为 ad-hoc 签名、未公证。首次打开若被 Gatekeeper 拦截,请右键打开,或在「系统设置 → 隐私与安全性」中放行。每个 Release 附带
SHA256SUMS-release.txt,可用shasum -a 256 -c校验下载文件。
# 克隆后双击 installer/安装.command 即可,自动识别代理客户端、代理组名与地区目标
git clone https://github.com/YOURSJEYO/claude-switcher.git不再锁死美国:安装程序按当前出口 IP 的国家自动锁定目标国家 + 时区 + 地区格式三件套(出口是 CN 会直接拒装,逼你先挂好代理)。之后换了其他国家的节点,不用重装,一条命令重新适配:
~/.local/bin/claude-switch.sh set-region
# 自动探测出口国家 → 改写自身配置 → 设地区格式 → 弹一次授权锁时区 → 同步看门狗
# 输出: OK:region=JP tz=Asia/Tokyo locale=ja_JP14 项检查里的「出口 IP / 时区 / 地区」全部按新目标判定,界面无需任何改动。
仓库根目录的 AGENTS.md 是一份完整的 Agent 交接提示词:把它直接粘贴给你的本地模型(Kimi Code / Cursor / Claude Code 等),它会按文档自动完成环境检查、安装、配置与验收。里面还附了我们实战踩过的全部坑的排障手册。
- 双击桌面「Claude切换器」→ 等待 14 项检查
- 全绿 → 选账号启动;有红项 → 「一键修复」自动处理
- B/C/D 账号首次使用登录一次,以后 A–D 随切随用、互不干扰
- 换了其他国家的节点 → 跑一次
~/.local/bin/claude-switch.sh set-region,国家/时区/地区格式一键重新锁定
启动后,顶部菜单栏会显示盾牌图标,Dock 不显示应用图标。首次启动自动打开主窗口;关闭窗口或切换账号成功后只隐藏窗口,仍可从盾牌菜单重新打开。
- 菜单显示当前账号和「最近检查」结果(通过 / 有警告 / 失败 / 检查中),提供「打开主窗口」「重新检查」「退出 Claude 切换器」。A–D 切换仍在主窗口完成。
- 启动时检查一次;隐藏期间不轮询网络,展开菜单只读取本地账号状态。每次切换账号前会重新完成全部环境检查,检查失败、超时或输出不完整时不会执行切换;警告沿用现有放行规则。
- 检查、修复、切换和指纹体检期间不会重复执行操作;修复或账号切换期间暂时不能退出。操作结束后可从菜单明确退出。
- 退出切换器不会卸载或停止独立的保镖、时区看门狗和自动更新服务。应用本身不会因此新增登录自启动。
已安装的旧版 GUI 需要重新编译(或重新运行安装器)才会获得菜单栏功能;现有 update 命令仅更新核心脚本,不会替换 GUI。
开发者可在 macOS 上运行 python3 -m unittest discover -s tests -v,其中菜单栏模型测试使用假核心脚本,不访问真实账号或网络。隔离 UI 验证方法见 tests/MENU-BAR-TESTING.md。
除 A/B 外,还支持 C、D 两个账号槽位,最多同时保留四份互不干扰的登录态。
- 创建:在账号卡片里点击「账号 C」或「账号 D」的空槽位即可。首次使用会在 Claude 里看到登录页,登录一次后该槽位自动成为该账号的独立身份。
- 卡片含义:
当前:切换器正在使用的账号已建档 · 1.2G · 10-20:该槽位已有独立快照,附带快照体积与最后归档日期未初始化:空槽位,点击后创建新身份
- 快照位置:
~/.claude-switcher/accounts/<A|B|C|D>/。切换时当前账号会先归档到对应目录,再把目标账号还原到~/Library/Application Support/Claude;四个目录彼此独立,互不覆盖。 - CLI:
~/.local/bin/claude-switch.sh switch A|B|C|D。账号参数只接受 A–D,其他值会输出FAIL:并拒绝切换。 - 状态:
claude-switch.sh status在原有current/hasA/hasB字段外新增hasC/hasD、accounts=A,B,C(无归档时为none)与accA=<大小>@<日期>;旧版界面仍可读取前两组字段。 - 加密导出/导入同样支持 C/D:
snapshot-export <A|B|C|D> <file>/snapshot-import <file> <A|B|C|D>。
默认关闭。切换账号时,每个账号的数据目录整体替换,因此 settings.json、skills/ 这类想沿用的小文件不会自动带过去。需要共享时,创建:
~/.claude-switcher/keep-in-workspace.txt
每行写一个相对于 Claude 数据目录的路径,# 开头为注释、空行忽略:
# 只保留通用设置与自定义技能
settings.json
skills/
行为:
- 切换时先把这些路径收进
~/.claude-switcher/keep-stage/,归档当前账号、还原目标账号后再合并回去;首次运行收编为账号 A 时同样生效。 - 路径必须是相对路径,不能包含
..,也不能是符号链接;绝对路径、越界路径和符号链接会跳过并在~/Library/Logs/claude-switch.log记WARN。 - 文件不存在或为空时,切换行为与未启用该功能完全一致。
- 暂存或还原失败会中止切换(不会打开 Claude),还原失败时暂存目录会保留供排查;下次重试同一账号会再次尝试合并。若暂存目录已存在,切换到其他账号会拒绝覆盖,避免丢掉唯一副本。
风险提示:跨身份保留意味着这些文件会成为多个账号之间的共同特征。不要放登录凭证、Cookie、设备标识、缓存或任何账号专属数据;只共享自己确认无关联风险的内容。默认关闭是有意为之。
手机 / 平板浏览器打开即测,无需安装:https://yoursjeyo.github.io/claude-switcher/
页面逐项评估 6 类浏览器侧信号,并给出总评与失败项:
- 出口 IP / 归属:ipinfo.io 优先,Cloudflare trace 兜底
- 地区一致性:浏览器时区、UTC 偏移与语言是否和出口国家矛盾
- WebRTC 泄漏:STUN 候选地址与出口 IP 比对,识别 mDNS 混淆与 fake-IP
- IPv6 暴露:IPv6 是否可直连、归属国家是否与 IPv4 出口一致
- DNS 泄漏(近似):1.1.1.1 / Google DoH 公共加密解析可达性
- 浏览器指纹展示:Canvas 哈希、WebGL vendor/renderer、屏幕与设备参数(只展示,不阻断)
纯前端、无追踪、无 localStorage;检测请求只发往公共 API,结果不上传。它只评估浏览器侧信号,不替代桌面版 14 项审计,也不检测 TUN / 保镖 / 进程级泄漏。部署方式与完整隐私说明见 docs/WEB-README.md。
14 项审计之外,提供一层按需的深挖体检,点 App 右上角心电图标或运行:
~/.local/bin/claude-switch.sh fingerprint输出四类信息:
- 字体地区特征:扫描
/Library/Fonts与~/Library/Fonts,标记 SimSun / 微软雅黑 / 文泉驿 / 方正等随中文办公软件安装的字体——美区机器上很少出现,容易成为地区指纹 - GPU / 显示:芯片型号与分辨率(虚拟 GPU、SwiftShader 会明确告警)
- 虚拟机检测:
kern.hv_vmm_present与虚拟化厂商字符串 - Canvas/WebGL 指引:原生进程读不到 Claude Electron 渲染器的指纹,这部分用 Web 检测页 查看
该体检不阻断启动,也不修改系统;如需彻底隐藏字体特征,可在「字体册」里停用可疑字体。
桌面版内置的 CLI 和自己用 npm/Homebrew 装的 CLI 经常版本不一致,或 PATH 里指向了旧版。只读检查:
~/.local/bin/claude-switch.sh cli-info输出包含:
- PATH 中的
claude路径、解析后的真实路径、--version - 安装方式推断(native / Homebrew / npm·bun / 未知)
- 桌面版内置 CLI 的版本(
~/Library/Application Support/Claude/claude-code/...) - 是否同时存在 npm 全局包与 Homebrew 包(多份安装容易互相覆盖)
~/.claude配置目录是否存在及体积
该命令只检测不修改:不会卸载、升级或删除任何东西;需要重装时按输出里的建议自行执行对应包管理器命令。
邮件里的验证链接、Magic Link、来路不明的登录链接,可以用一次性隔离浏览器打开:
~/.local/bin/claude-switch.sh open-safe "https://example.com/magic-link?token=..."- 使用独立临时 Chrome/Chromium/Edge/Brave profile:不继承日常浏览器的 cookies、历史、插件和登录态
- 强制
disable_non_proxied_udp(WebRTC 不走非代理 UDP),语言跟随当前锁定地区 - 打开前检查代理/TUN 是否就绪,未就绪直接拒绝,避免裸连
- 只接受
http/https;窗口关闭后临时 profile 自动销毁 - 注意:该窗口里的登录会话会随窗口关闭一起丢弃;如果链接需要保留登录,请在确认可信后改用日常浏览器
安装时选错了客户端、或后来从 Clash Verge 换到 Shadowrocket 等,不需要重装:
~/.local/bin/claude-switch.sh set-client shadowrocket支持 clash-verge|shadowrocket|sing-box|clashx|surge|auto。改完重新跑一次 checkdetail 即可:
- 换成 Shadowrocket 后,「代理内核」检查
scutil --nc的连接状态,不再去找 Clash Verge - 非 Clash 客户端不做配置改写,「规则置顶」改用 fake-ip 行为检测;不通过时按提示在客户端里手动添加 Claude 域名规则
- 如果「保镖在线」是红的,再跑一次
fix(需要一次管理员授权)安装守护进程
换机、重装系统或防灾难时,可以把已保存的账号快照导出为 AES-256 加密镜像,在另一台 Mac 上导入:
# 导出账号 A(先切换到 B,让 A 完成归档)
~/.local/bin/claude-switch.sh snapshot-export A ~/Desktop/account-a.dmg
# 在另一台 Mac 导入(目标槽位必须为空)
~/.local/bin/claude-switch.sh snapshot-import ~/Desktop/account-a.dmg A- 密码至少 8 位,交互输入两次;脚本内通过 stdin 传给
hdiutil,不进入命令行参数或日志 - 镜像根目录带格式标记,导入时会校验格式与账号槽位;账号不匹配、密码错误、槽位已存在都会拒绝,不会覆盖现有快照
- 密码无法找回:忘记密码等于镜像作废,请自行保存在密码管理器里
- 导入的是本地登录态快照;若服务端会话已过期或被撤销,仍需重新登录
- 仅 macOS(依赖系统
hdiutil);导出/导入不会修改当前账号,也不会启动或关闭 Claude
已有 HTTP/SOCKS 入口、由其他工具管理账号时,可以先单独检查 Claude 的网络传输,无需运行安装器或启动 Claude:
bash core/claude-switch.sh diagnose-proxy --proxy http://127.0.0.1:18080
# 已安装版本:
~/.local/bin/claude-switch.sh diagnose-proxy --config /path/to/private-proxy.json私有配置文件只需包含 {"proxy_url":"http://127.0.0.1:18080"}。也可明确设置 CLAUDE_SWITCHER_PROXY_URL;命令行/配置文件优先于该变量。需要代理认证时优先使用私有配置或变量,避免凭据出现在本命令的参数中。支持 http、https、socks5、socks5h,地址必须包含端口;不会自动扫描代理或回退直连。
命令只向固定的 Claude 网页/API 地址发送无账号认证的请求,输出 JSON,不读取账号存档、不创建状态目录、不更改系统设置、不启动/关闭应用。代理地址和凭据不进入报告;代理凭据通过 curl 标准输入传递。它随现有核心脚本分发和更新,无需额外服务。
- 退出码
0:两个目标均收到经过 TLS 验证的 HTTP 响应。API 的401单独标为unauthenticated,网页的403标为access_restricted,均不等于账号或业务可用。 - 退出码
1:至少一项传输失败、超时或输出异常;未完成的检查保持未知。 - 退出码
2:代理或参数配置无效。普通HTTP_PROXY/NO_PROXY等继承值不会代替明确选择的入口。
该命令仅诊断上述官方域名的传输,不验证自定义 API Base URL/第三方供应商、DNS/WebRTC/IPv6 泄漏,不产生启动许可,也不绕过或修改原有的 TUN 启动审计。可用 CLAUDE_SWITCHER_PYTHON 选择已有 Python 解释器;默认 python3。
隔离回归测试(不连接真实代理或账号):python3 -m unittest discover -s tests -v。
常见现象:TUN 正常、出口 IP 正确,但 WebRTC 检测失败,提示暴露了国内 IP。根因通常不是隧道坏了,而是规则集把 stun.miwifi.com / stun.chat.bilibili.com 这类国内 STUN 域名判为 DIRECT 直连——STUN 走的是 UDP,直连规则让它绕过了隧道。
Clash Verge 模式下,运行「一键修复」会把本项目规则写入全局扩展脚本 profiles/Script.js,直接前置到 config.rules。已有的 main(config, profileName) 会先执行;随后加入 Claude 生态域名规则和 UDP 3478 / 5349 / 19302 三个常见 STUN/TURN 端口规则。仅迁移旧 Merge.yaml 中本项目标记块,其他内容保留,改动前生成 .bak.* 备份。
两种策略:
| 策略 | 行为 | 使用场景 |
|---|---|---|
proxy(默认) |
这些 UDP 请求走安装时选定的实际代理组;当前节点必须支持 UDP | 希望保留 WebRTC 通话能力 |
reject |
拒绝这三个端口的 UDP,Claude 生态域名仍走代理组 | 接受部分语音、视频会议和 P2P 受影响 |
在 macOS 终端中切换策略并执行修复:
WEBRTC_POLICY=reject ~/.local/bin/claude-switch.sh fix
# 恢复默认代理策略
WEBRTC_POLICY=proxy ~/.local/bin/claude-switch.sh fix策略在成功写入后保存到 ~/.claude-switcher/webrtc-policy,后续 GUI、检查和修复会沿用。一键修复会重启 Clash Verge。代理组不存在、当前节点是 DIRECT、节点不支持 UDP、全局脚本未启用、控制接口不可用或内核未加载置顶规则时,都不会显示规则修复成功。节点不支持 UDP 时请换节点或主动选择 reject;Mihomo 可能继续向下匹配规则,proxy 策略不能保证阻止这种回落。
检查读取本机 Mihomo 的 /configs、/proxies、/rules,核对 rule 模式、代理组及实际规则的顺序、目标和启用状态;不再把文件中的文字或 fake-IP 解析当成规则生效。全局模式(Global)视为合规:该模式不经过规则匹配、全部流量已走代理,检查会标注「全局模式(全部流量走代理)」,无需写入 Script.js;规则置顶与 WebRTC 端口策略仅在 rule 模式下生效。控制接口连接优先使用配置中的 Unix socket,失效时回退到服务实际使用的 /var/run/clash-verge-service/users/<uid>/verge-mihomo.sock。STUN 无响应不等于没有泄漏:默认策略会报告未验证;仅在已验证拒绝规则的 reject 策略下,才把探测无响应解释为该端口策略的预期结果。
首次从旧版迁移:请退出 Claude 后,使用最新版仓库的安装器重新安装,再检查结果。旧版 update 保留“新版自检失败即回滚”的行为,旧规则未迁移时可能回滚;不要为更新成功而跳过检查。安装器若提示缺少可组合的 main,请先备份并在 Clash Verge 的全局扩展脚本中整理现有代码,再重试。其他代理客户端的配置仍由用户自行管理。
这些规则仅覆盖三个常见 UDP 端口,无法覆盖自定义端口、所有 TURN 传输或所有应用的泄漏路径。浏览器插件的作用也限于该浏览器。修复后仍需查看检查结果;不要把一次检测通过视为全系统防泄漏保证。
工具能兜底技术泄漏,兜不住主动作死。以下每条都是社区里用账号堆出来的教训:
- 先退出 Claude,再断/换代理。断线重连的那几秒是全年最高危时刻——保镖会兜底杀进程,但正确姿势永远是先退客户端再动网络,不要反过来挑战物理
- 不要把订阅账号接入任何第三方工具/中转站/拼车服务(2026 年头号封号诱因,没有之一)。你的会话凭证经过谁的机器,谁就拥有你的账号
- 支付卡段、账单地址尽量与出口国家一致。美国出口配国内双币卡 + 北京账单地址,等于在风控表格里自己填了"我是跨区用户"
- 新账号前几天不要拉满高档位用量。注册即跑满额度的行为序列,是批量养号工作室的指纹,正常用户不长这样
- 真被封了:先用被封账号登录 claude.ai/restricted 提交申诉(社区历史成功率约十分之一,值得一试);申诉前先在封号提示页导出你的数据;不要立刻用同一台机器、同一张卡、同一个邮箱再注册新号——绕过封禁本身违反条款,而且关联指纹会让新号活得比旧号还短
├── app/main.swift # SwiftUI 界面(单文件)
├── core/
│ ├── claude-switch.sh # 核心逻辑:审计/切换/修复
│ └── stun-probe.py # STUN 探针(手工协议实现)
├── windows/ # Windows 版(PowerShell 核心 + WPF 界面, Beta)
├── linux/ # Linux 版(bash 核心 + systemd 保镖 + 终端菜单, Beta)
├── docs/ # Web 版环境检测页(index.html 等, GitHub Pages 从这里发布) + 项目文档
├── daemons/ # Kill-Switch / Watchdog / 自动更新 launchd 模板
├── installer/ # 双击安装/卸载
├── scripts/gen-sums.sh # 重新生成 SHA256SUMS(改动 core/daemons/installer 后必跑)
├── SHA256SUMS # 发布工件完整性校验清单(自动更新逐项比对)
└── assets/ # 程序生成图标
- 改界面:编辑
app/main.swift,swiftc -O -parse-as-library重编译即可 - 加检查项:
core/claude-switch.sh的checkdetail()+ UI 的keyMap各加一行 - 改防护策略:
daemons/里的模板即全部守护逻辑
欢迎 Fork / PR。Issue 区接受场景补充——你遇到的每一个真实泄漏场景,都可能成为下一个检查项。
欢迎加入 claude-switcher 交流群,交流安装配置、使用心得和问题排查。使用微信扫描下方二维码即可入群:
当前二维码标注 2026 年 11 月 2 日前有效。若二维码过期或无法入群,请通过 Issue 提醒维护者更新。
Bug 反馈和功能建议仍建议提交 Issue,便于跟踪与处理。
- 提交 Issue
- 在 Linux.do 论坛发帖讨论
- 安全问题请走非公开渠道:见 SECURITY.md(GitHub Private Vulnerability Reporting 优先)
反馈掉登录、弹盾类问题时,请附上「应用设置 → 日志」导出的日志,里面不含密码和 Cookie 原文;如果可以,也请附上可复现步骤。
本项目按"实战驱动"迭代——风控怎么进化,防护就怎么跟上:
- macOS 版:14 项环境审计 + Kill-Switch + 快照切换 + 漂移自愈(已稳定)
- Windows 版(Beta):核心逻辑全移植
- Linux 版(Beta):bash 核心 + systemd 保镖 + 终端菜单
- Windows 版稳定化:多客户端/地区自适应/TUN 通用判定已落地(静态验证通过),真机回归持续进行
- Linux 版稳定化:多客户端/地区自适应/COW 快照已落地(桩测试通过),多发行版真机回归持续进行
- Web 版环境检测页:手机/平板浏览器打开即测,零安装
- 更多指纹维度:桌面端
fingerprint命令覆盖字体地区特征 + GPU/虚拟机特征,Canvas/WebGL 由 Web 检测页覆盖 - 更多代理客户端适配:已支持 Clash Verge / Shadowrocket / sing-box / ClashX / Surge(含 auto 自动识别)
- 快照切换提速:归档改为同卷移动 + 载入走 COW 克隆(APFS clonefile / Linux reflink),不再产生全量复制
- 应用内自动更新:launchd 每 12 小时自动检查更新,自检失败自动回滚,也可手动
claude-switch.sh update保底
有想优先看到的功能,去 Issues 投票或提需求,热度高的先做。
如果这个工具让你少被封了一个号,希望有条件的佬哥能帮我们在 Linux.do 论坛发个帖子推荐一下——仓库地址 https://github.com/YOURSJEYO/claude-switcher,一句话定位:"Claude 账号的 Fail-Closed 环境保护罩:14 项环境审计不过就物理上不让启动"。让更多被风控折磨的兄弟少走弯路。
MIT © Claude Switcher Contributors

