0.3.20
- 收口版：明确插件定位为 Cloudflare WARP Connector / Mesh 的 iKuai 适配层，不承诺绕过 Cloudflare Team/Profile 策略。
- 更新 readme/manifest/changelog：记录大陆出口下 Cloudflare Gateway DoH 超时、WarpWithDnsOverHttps 策略强制、tunnel_only 被账号策略拒绝等已知边界。
- 启动日志补充 warp-cli settings list，便于在状态页判断是否被 Profile 强制 Gateway DNS / DoH。
- 保留 0.3.17-0.3.19 的 iKuai 兼容修复：/var/lib/cloudflare-warp 断链修复、BusyBox sed 兼容、WARP stub DNS 恢复、Mesh 路由/SNAT 管理。

0.3.19
- 默认执行 warp-cli mode tunnel_only：只建立 WARP Connector 隧道，不接管系统 DNS。
- 启动前/连接前检测 /etc/resolv.conf，如被 WARP 改成 127.0.2.2/127.0.2.3 stub DNS，则恢复为 223.5.5.5 + 1.1.1.1，避免 DNS 自锁导致 Connecting/重连。

0.3.18
- 修复 iKuai BusyBox sed 不支持 -u：redact_stream 改为 sed -E，避免启动时报 sed invalid option 并阻塞 warp-svc FIFO 日志管道。
- 保留 WARP Connector Token / JWT 日志脱敏。

0.3.17
- 修复根因：旧 cfconnector 合并包遗留的 /var/lib/cloudflare-warp 软链指向已删除目录，导致 warp-svc 的 rolling file appender 启动即 panic(rc=101)。
- 启动时检测并重建 /var/lib/cloudflare-warp 到当前插件 config/cloudflare-warp；断链无法解析时回退为真实目录，并写入 run.log。

0.3.16
- DNS/connectivity preflight 全部改为带超时执行；A 端 nslookup 卡住时不会再阻塞 warp-svc 启动。
- 导出 RES_OPTIONS=attempts:1 timeout:2，降低系统 DNS 异常时 curl/WARP resolver 长时间等待。

0.3.15
- 新增 DNS/connectivity preflight：记录 resolv.conf、api.cloudflareclient.com/zero-trust-client.cloudflareclient.com 解析与 HTTPS 探测，便于定位 “DNS Lookup Failed”。
- route guard 从约 12 秒延长到约 30 秒，降低 WARP 异步回写 pref 219/table 65743 的概率。
- 启动/停止时清理所有 -o CloudflareWARP 的 MASQUERADE 规则，修复旧远端 CIDR 为空后仍残留 SNAT。

0.3.14
- WARP 日志目录改为直接 mkdir /var/log/cloudflare-warp 与 /var/log/cloudflareclient，避免 symlink/目录不存在导致 rolling appender 继续 ENOENT。
- 早退诊断追加 WARP 文件日志，便于看到真实 panic。
- connect/tunnel dump 后增加短时 route guard，反复清理 pref 219/table 65743 并重下发 Mesh/远端 CIDR，降低 Cloudflare 自动全局路由回写。
0.3.13
- 启动前创建并挂载 /var/log/cloudflare-warp、/var/log/cloudflareclient 到插件持久日志目录，修复 warp-svc 因 rolling file appender 目录不存在而 panic 退出。
0.3.12
- 状态页不再显示已退出 warp-svc 的 stale PID；未运行时 PID 置空。
- warp-svc 早退时记录退出码，并追加 warp-cli status/registration/dmesg 诊断，方便定位 B 端“已配置但未运行”。
0.3.11
- 状态页提前启动，不再等 warp-cli connect/tunnel dump 全部完成；连接中或失败时也可打开 20001 查看日志。
- 状态页启动后增加存活检查，bind 失败会写入 run.log。
0.3.10
- 状态页 cfmesh-status 改为静态编译，避免 iKuai 运行时报 GLIBC 版本不匹配导致 20001 无响应。
0.3.9
- 新增 Mesh IP CIDR 配置，默认 100.64.0.0/12，用于让 LAN 客户端访问 Cloudflare Mesh 节点/客户端地址。
- 新增 Mesh IP SNAT，默认开启；远端内网 CIDR 的 SNAT 仍由原“对远端 CIDR 启用 SNAT”单独控制。
- 停止脚本同步清理 Mesh IP 路由与对应 SNAT 规则。
0.3.8
- 默认 Mesh 基础路由从 100.64.0.0/10 调整为 Cloudflare Mesh 常用地址段 100.96.0.0/12；状态页路由接管判断同步更新。
0.3.7
- 文案统一改为“去掉最后的 ==”。
- 路由接管增加等待 CloudflareWARP 接口出现再下发 100.64.0.0/10 路由，避免连接刚启动时接口未创建导致状态页显示异常。
0.3.6
- 配置页标签明确提示 WARP Connector Token 需要去掉末尾 =；运行时继续自动补齐 padding，避免 iKuai WebUI 回显为空。
0.3.5
- 启动时自动去掉 CF_TUNNEL_TOKEN 末尾 = 并写回 .env/secrets.env，规避 iKuai 配置页对 base64 padding 的回显异常；调用 warp-cli connector new 时自动补齐 padding。
0.3.4
- Token 配置项内部字段改为 CF_TUNNEL_TOKEN，复用 iKuai WebUI 已验证可回显的保存/显示路径；界面仍显示 WARP Connector Token。
0.3.3
- 将配置字段从 CFMESH_TOKEN 更换为 WARP_CONNECTOR_TOKEN，规避 iKuai 配置页对旧字段读取异常；启动脚本保留旧字段和 secrets.env 回退兼容。
0.3.2
- 配置项从 Mesh Token 改名为 WARP Connector Token，对齐 Cloudflare Zero Trust/WARP Connector 控制台叫法。
0.3.1
- 新增/更新独立状态页，默认端口 20001。
0.3.0
- 拆分为独立 Cloudflare Mesh 插件。
- 移除启用开关，WARP Connector Token 留空即禁用，填写即启用。
