更新:2026-09-26。服务端已上线指定账号联调环境;客户端完成后继续逐项验证完整同步。
| 验证 | 证据与结果 |
|---|---|
| 构建 | 从公开 GitHub 仓库重新克隆后 release 构建通过;fmt、Clippy、16 项 Rust 测试通过,依赖由锁文件固定 |
| 认证 | src/auth.rs 测试真实 HTTP 上游交互:应用凭据、固定版本、numeric ID、应用不匹配、过期、上游故障与重定向拒绝 |
| HTTP 与隔离 | tests/http_contract.rs:空库、往返、版本绑定、304、改名、同名不同 ID、回执隔离、注销和过期 |
| 写入语义 | 幂等先于 CAS、不同请求拒绝复用;旧密码代次、nonce 重用、盐变更、删除墓碑和显式重建 |
| 输入与资源 | 重复/未知字段、错误类型/版本/UUID/base64、密码字段、Origin/MIME、前置条件、体积上限、最大完整密文和超限拒绝 |
| 原子性 | tests/store_contract.rs:两连接创建竞争、回执写入失败回滚全部状态、重启持久化、uint64 上限、滑动窗口限流与清理 |
| 密码学 | tests/crypto_vectors.rs 和 scripts/interop_vectors.py:双实现完整向量、中文/NFC/组合字符、AAD 篡改/调序、错密码、截断标签、nonce/填充长度;RFC 9106 官方向量 |
| OpenAPI | scripts/check_contract.py:13 份实际响应及合同声明响应头通过 schema,包含所有库状态 |
| 真实进程 | scripts/smoke_local.py:真实 TCP HTTP、丢弃响应后查回执与重试、重启持久化、注销、日志敏感值检查 |
| TLS | scripts/check_nginx.py:配置校验、真实 TLS 转发、认证、413 JSON、UUID、no-store/HSTS,以及首页、许可证、源码和提交号入口 |
| 灾备 | tests/test_backup.py:一致性备份排除会话、过期清理、在线数据不变 |
| 依赖 | Cargo audit 对锁定依赖扫描通过;许可清单见仓库根目录 |
本机验证环境为 macOS arm64。公开提交 04188a0b8140f0ac86e93f283eadb6200c313180 的 GitHub Actions 检查 全部通过:Linux、macOS、Windows 三平台的格式、Clippy、16 项 Rust 测试、OpenAPI 与 Python 加密互操作;Linux 额外执行正式构建、真实进程、TLS、备份与依赖扫描,最低 Rust 1.88 检查也通过。Windows 合同读取曾因默认编码失败,已明确使用 UTF-8,并由这次检查验证修复。
固定向量证明服务器测试层面的跨平台、双密码学实现互通,不代替两台真实应用设备联调;事务故障注入不等于完成真实服务器断电或硬件故障演练。
2026-09-26,北京时间;运行源码为 40b519ae15ee5029578f377ff8baa8f25833e692,二进制 SHA-256 为 7afa287dbe3d1309b7804b2bc03f187fde4bebb83535beb2818e677fe7a8912a。
该运行提交的 Linux/macOS/Windows 与最低 Rust 版本检查 已全部通过。
| 项目 | 已确认结果 |
|---|---|
| 本机编译与测试 | Ubuntu 22.04 原生 release 构建和 16 项 Rust 测试通过;真实 HTTPS、丢响应重试、重启持久化及备份测试通过 |
| 公网入口 | https://apic.openless.top:9443 首页与能力接口返回 200,证书链与主机名验证通过,no-store/HSTS 正常 |
| 身份边界 | 现有 OpenLess OAuth 应用凭据经 GitHub 核验;未认证读库与无效 GitHub 令牌均返回结构化 401 |
| 开源交付 | /revision 与运行提交一致,许可证与源码归档可从公网下载;归档不含生产配置或数据库 |
| 运行与权限 | 独立用户运行,systemd 主服务和两个定时器已启用;配置/数据库 0600,备份目录 0700;首次备份与清理退出码 0 |
| 内部接口 | 只监听 127.0.0.1:8788;公网直连 HTTP 探测超时;防火墙只新增允许 9443/tcp |
| 既有服务 | 官网返回 200;官网、市场和原 8787 服务的代理配置摘要保持不变 |
| 当前数据 | 数据库完整性检查通过,没有用户快照;没有为了测试上传或删除用户数据 |
当前仅允许 appergb(numeric ID 192432815)进行联调。真实账号令牌交换、客户端加密上传/下载、跨设备恢复及以下验收项仍待客户端完成后执行。
- 基础服务:域名/TLS、能力、重启、权限、外网无法访问 8787、代理覆盖伪造头、备份和清理 timer。
- 真实身份:复用 OpenLess OAuth Device Flow、其他 App 令牌拒绝、numeric ID、测试名单、900 秒过期、注销。仅使用临时测试账号。
- 首次创建:empty revision=0;本地加密完整测试快照,上传后按版本下载并解密验证。
- 重试与竞争:丢响应后只提交一次;两个独立客户端基于同一版本写入只有一个成功,另一方保留变化。
- 改密码:新盐/key ID 和快照原子替换,旧设备写入拒绝,新密码能解密。
- 删除:在线密文立即不可读,旧离线设备不能复活备份,最新墓碑版本上的新 create 可重建。
- 限额与失败:最大快照、超额、错误哈希、限流、GitHub 不可用、进程重启均不破坏已有数据。
- 灾备:隔离环境验证恢复与版本/墓碑核对;定时清理和供应商快照不超过公开的 7 天。
之后再进入应用 A01–A13:默认关闭与首次提示、完整导出和排除项、凭据/文件恢复失败、崩溃恢复、三方合并、Windows/macOS 差异。它们属于 1-app/,本次没有修改应用。项目许可证已确认为 AGPL-3.0-only;公开启用还需需求指定的独立安全审查。