v2.11.085
最新 2026-08-23·48 MB(压缩,自动解压)
v2.11.085
最新# v2.11.085 · 防破解重构:默认放行 + 定向冻结(fail-open)
背景
v2.11.084 的域名写门控是 fail-closed(无有效签名租约即拒写)。一台合法永久授权机
(103,NTP 未开、时钟快 117s)升级后,续租的 r1_ts 超服务端仅 5s 未来容差 → 空挑战 →
拿不到租约 → 域名写被静默锁死。合法用户被防破解误伤,不可接受,故 084 已撤回、本版重构。
产品定调(硬约束):合法授权用户永不因防破解被自动锁;只锁破解者(后台手动封 /
自动检测);我方官网服务器崩溃 72 小时内不影响已授权用户的域名写。
变更(设计反转)
- ▸域名写默认放行(fail-open):
domainWriteAllowed()默认允许;仅当客户端本地持有
一份有效签名的 frozen 策略(hasActiveSignedFreeze())时才拒写(403)。
无租约 / 租约过期 / 官网不可达 / 签名密钥缺失 —— 一律放行,不再锁合法用户。
- ▸定向冻结(sticky):后台「封设备」或自动检测破解 → 服务端签发
frozen策略;客户端
一旦 ACK 该 frozen,即粘滞保留,即使服务器不可达 / 令牌过期也保持锁定,直到收到
严格更高 (epoch,seq) 的 normal 策略才解冻(单调,防降级绕过)。
- ▸72h 宽限:官网崩溃期间,合法客户端凭已有 normal 状态继续放行,不受影响。
- ▸时钟自愈:续租响应带
server_now,客户端据此校正时钟偏移,消除 084 那类
"时钟快 → 续租被拒" 的连锁;装机脚本/系统修复同步启用 NTP(systemd-timesyncd)。
- ▸商业门与防破解门分离:
- ▸门 A
CanAddDomain:授权到期禁新增域名(402,商业); - ▸门 A′
IsDomainWritable:到期后非主域只读(402,既有商业机制); - ▸门 B
hasActiveSignedFreeze:防破解冻结门,拦所有域名写(403)。三门互不越界。 - ▸max_domains 暂不执法:忽略 policy token 里的自定义 max_domains,只认免费版 3 / unlimited
商业判断,避免远程误限合法用户。
- ▸后台监控五态:
freeze_pending/freeze_active_sticky/unfreeze_pending/
normal_confirmed / offline(+ supported_uninitialized 未初始化),基于客户端 last_ack
单调记账判定,手动冻结附 SLA 提示;控制面只翻标志 + 推进代际,签令在续租时发生。
兼容/升级建议
- ▸非 critical:客户端可择机「系统管理 → 🔍 立即检查 → ⚡ 一键升级」。双进程重启,大库冷启勿急杀。
- ▸老客户端(082/无设备协议)升级后按默认放行工作,不会被防破解锁;仅破解/被封设备才会被定向冻结。
- ▸服务端(wztseo.com)已就绪:
POLICY_SIGN_SEED/LIC_SIGN_SEED已配置;缺 seed 时不锁合法用户
(仅无法签发/更新策略,含 frozen)。
