Skip to content

Latest commit

 

History

History
115 lines (80 loc) · 14 KB

File metadata and controls

115 lines (80 loc) · 14 KB

VeriRandom ChangeLog

本文件是 VeriRandom 分支自有的更新日志,只记录本仓库对用户可见的改动,按版本发布时间组织。 与上游相关的三个文件边界见下方「本文件的边界」,请勿混用。

本仓库是 SecRandom 的开源分支,对外产品名为 VeriRandom。 本文件不被视为 SecRandom 官方更新日志,也不代表上游对任何改动的认可。


本文件的边界

文件 / 目录 归属 内容
ChangeLog.md(本文件,根目录) 本仓库 只放我们自己的用户可见改动,按版本发布时间组织,只追加
CHANGELOG/ 上游 随上游同步带过来的「核心」更新日志(CHANGELOG/<版本族>/<版本>/CHANGELOG.md)。不要为了记录本仓库的改动去改这里;上游同步时也不要覆盖或删除我们已发布的内容
DownStream_Change.md 本仓库 与上游分歧的登记册,供上游同步时逐条核对(文件级、技术级,「哪些改动必须活下来」)。它是工程台账,不是面向用户的更新日志

三者的关系:发布一个版本时,本文件写面向用户的条目;若该版本引入了与上游的分歧,那些分歧必须已经在 DownStream_Change.md 里登记。 本文件出现、而 DownStream_Change.md 没有的分歧 = 未完成的改动。

维护约定

  • 只追加:已发布的条目不再改写或删除。写错了就在同一版本下补一条「更正」,不要回改历史。
  • 一个版本一个 # 标题,标题下按下面的固定小节组织;没有内容的小节直接省略。
  • 版本号沿用上游的 vX.Y.Z 与阶段命名(alpha.N / beta.N / release.N)。同一个上游版本由本仓库发布多次修订时,追加 -fork.N 区分。
  • 条目请写用户能看懂的效果,不要写实现细节(实现细节属于 DownStream_Change.md)。
  • 标识归属见 DownStream_Change.md §7:产品身份类(包名、verirandom://、VeriRandom.Desktop.exe、VeriRandom.package.json、单实例名、数据目录、安装目录等)为 VeriRandom 自有;代码级内部标识(命名空间、项目与文件夹名、avares://SecRandom/...、证明文件格式、上游服务与外部契约)仍保持 SecRandom
  • 上游同步后,把上游带来的改动的用户可见部分摘要进本文件对应版本,并注明来自上游;完整上游日志仍以上游 CHANGELOG/ 为准。

小节模板

# vX.Y.Z - <Codename> <阶段> N

<可选:一句话版本说明>

## 🚀 主要更新
## 💡 功能优化
## 🐛 修复问题
## ⚠️ 需要注意
## 🙏 致谢

⚠️ 需要注意 用来集中放置行为变更、默认值变更、以及会向本仓库以外发送数据的功能说明。


v3.0.0 - VeriRandom release 1 2026年10月04日

🚀 主要更新

  • 新增 抽取证明双链:普通模式的证明改为「Up 链 + Own 链」两个文件。Up 链是面向上游服务的兼容记录(不再携带信标数据),信标改由「时间戳周期 + 预设」在验证时重新获取脉冲并重新派生种子来核对;Own 链是自有参考声明,每个节点绑定对应的 Up 节点,记录信标脉冲索引与同一脉冲内的种子递增因子,并先于 Up 链申请时间戳,用于说明它不是抽取完成后的补加。Own 链只用于参考声明,不参与公平性判定
  • 新增 外部信标熵源(普通模式,默认关闭):开启后抽取种子来自已发布的 NIST Beacon 脉冲而不是本机随机数,主持人无法注入自定义熵;同一脉冲内用从 0 开始、公差为 1 的序号保证不重复;信标不可用时本次抽取直接失败,不会退回本地随机数
  • 新增 时间戳服务开关(默认开启):每份证明会向沃通 TSA 申请 RFC 3161 第三方时间戳,只发送证明摘要;现在可以在「抽取验证」设置页显式关闭
  • 新增 首次运行引导中的独立 SECTL 说明与跨境数据传输须知,并把这些说明的确认改为由你主动选择
  • 新增 抽取验证页的「证明可信度评分」,由你选择「您所信任的来源方」(信标提供方 / 时间戳证明者 / SECTL 服务器 / 社会见证),程序对最新一份普通模式证明按证据覆盖度算分
  • 新增 配置分离签名(安全设置「防篡改」区块):可由你自己的可信设备用私钥签发一份策略签名,抽取机只携带公钥,因此能验证策略但无法自行签发;界面会显著展示公钥指纹并要求与可信设备逐字核对

💡 功能优化

  • 隐私默认值收紧:Sentry 遥测上传与在线状态上报在本分支中默认关闭。这两条通道的数据仍然发往 SecRandom / SECTL 的基础设施(Sentry DSN 与 SECTL 端点未改动),因此所有暴露这些开关的界面都会明确说明「开启后数据发往 SecRandom 与 SECTL,而不是本分支」
  • 关于页按本仓库 README 重组:把原先展示的上游作者、组织与其社区入口整体收进一个默认折叠的区块(并注明这些均属于上游项目),在原位置改为本分支自己的社区入口(QQ 群、邮箱、哔哩哔哩、Issue、贡献指南,全部指向本仓库);关于页横幅改为本分支自有资源名,资源补齐前显示带说明的占位框;贡献者名单改为本仓库与上游合并展示,并且不再从网络预加载头像(避免第三方图片进入渲染路径),整行点击跳转到对应 GitHub 主页
  • 新增证明可信度评分(抽取验证设置页):由你选择「您所信任的来源方」(信标提供方 / 时间戳证明者 / SECTL 服务器 / 社会见证),程序对最新一份普通模式证明按证据覆盖度从满分起算分——证明链自身完整性不通过时直接置零;时间戳与信标脉冲发布时间间隔超过 60 秒(属上一周期)时按规则减半,超过 110 秒(超出容忍范围)时扣四分之三;社会见证需要你填写记忆中的大致抽取时间与时间置信度,误差在置信度窗口内不扣分
  • SECTL 相关确认改为可选、按需补签:首次运行引导中的 SECTL 独立说明不再阻塞流程;当你之后切换正式公证模式,或开启遥测 / 在线状态时,才需要通过确认弹窗补签,拒绝则回退该操作
  • 高危确认弹窗强制阅读:切换正式公证模式的确认弹窗与 SECTL 补签弹窗,其确认按钮在显示满 5 秒且必选勾选完成前保持禁用
  • 正式公证模式说明重写:明确该功能由上游 SecRandom 提供、名称不代表本分支对其法律性质或效力的评价、数据将提交至 SECTL 服务器,并保留「它不能证明现实名单本身完整真实」等限制说明
  • 证明链异常会显著提示:当服务端在抽取回执里报告本地证明链异常(例如链被删除后重建)时,抽取验证页会单独高亮提示,不再混在计数摘要里
  • 出境闸门收口:未同意跨境须知时,SECTL 账号的令牌刷新与公告拉取都不再发出请求;抽取验证页的抽取上传选项旁会直接给出补签入口,补签成功后当场解锁,不必离开页面重进

🐛 修复问题

  • 修复 无 tag 仓库的构建:仓库尚无任何 tag 时,构建脚本的版本解析不再因 git describe 失败而中断,改为按 PluginApiVersions.Current 的主号回退(如 v3.0.0-dev)
  • 修复 Android 无签名密钥时的构建:未配置发布密钥时降级为调试签名并产出 -unsigned.apk,且该产物会被排除在发布输出与清单之外,不会误发到正式渠道
  • 修复 安装版启动时字体与图标加载失败导致崩溃:桌面资源加载器对程序集名的比较不再区分大小写,此前部分安装布局会因此加载不到内置字体而无法启动
  • 修复 Android 发布密钥生成脚本:脚本此前会因 keytool 把提示写入标准错误而中断(且中断发生在密钥写盘之前,等于每次都失败且不留产物);默认输出目录也改为锚定在仓库根,不再跟着调用者的当前目录走

⚠️ 需要注意

  • SECTL 服务器位于境外:SECTL 当前的服务节点在德国巴伐利亚邦阿多特多夫(IP 159.195.70.108)。因此首次设置中新增了独立的跨境数据传输须知,并把它作为所有可能向 SECTL 发送数据的功能的总闸门
  • 不勾选跨境须知 = 强制禁用所有 SECTL 相关功能,包括抽取证明提交、正式公证、在线状态与使用统计上报、版本使用量上报、SECTL 账号登录与其心跳、以及账号云备份。这是可选路径而非阻塞步骤,你可以在之后需要这些功能时再补签,补签必须经过确认弹窗
  • 抽取上传改为无默认的二选一:普通模式抽取完成后自动向 SECTL 申请签名的行为不再是默认开启,而是没有任何预设值的主动选择;未选择时一律不上传,证明只保存在本机
  • 自动更新在本分支中已关闭。本分支的更新发现仍指向上游 SECTL/SecRandom 的元数据,因此不会去消费上游的二进制产物。更新功能的完整实现被保留,将来本分支有了自己的元数据与发布服务器后可以一行策略开关重新启用
  • 上游的更新日志不在本文件。随上游同步带来的「核心」改动记录在 CHANGELOG/,完整历史以上游为准
  • 启用「正式公证」模式,或启用遥测 / 在线状态上报时,数据会离开本机并提交至 SECTL 服务器;SECTL 为独立主体,适用其自身的服务条款与隐私政策,本分支不参与该服务关系
  • 「仅验证码(TOTP)」这种验证方式在本分支不可用:验证码在没有密码时无法验证,除非额外保存一份明文种子,而这个取舍不可接受。因此本分支不再支持"只用验证码"验证;USB 绑定与密码 + 验证码不受影响
  • 本版本的版本号为 v3.0.0,与上游 SecRandom 的版本号体系相同。两者是不同的仓库与不同的发布产物,请以 WinFunan/VeriRandom 的发布页为准

v3.1.5 - Nonomi (十六夜野宫) VeriRandom release 2 2026年10月11日

本版本跟随上游 SecRandom v3.1.5(Nonomi) 同步。标注「来自上游同步」的条目是上游带来的改动,完整上游日志见 CHANGELOG/;本分支与上游的差异见 DownStream_Change.md。

🚀 主要更新

  • 来自上游同步:新增 集控,可以接入自部署的集控平台对多台机器统一下发点名/抽奖
  • 来自上游同步:新增 插件扩展能力,插件现在可以自行呈现抽签结果、插入界面、叠加内容、调整配色、使用私有存储、查询名单与奖池、弹出通知与对话框、提供多语言文案、订阅宿主事件、上报运行诊断,并在退出时执行收尾清理
  • 来自上游同步:新增 账号云备份(登录 SECTL 账号后可把备份分片上传到个人云存储,支持自动备份与保留数量)、移动端账号登录,以及平板(iPad / Android 大屏)使用与桌面一致的布局与页面

💡 功能优化

  • 分离签名的公钥指纹现在也显示在抽签主界面:启用分离签名后,点名页左上角会直接显示「已锁定 · 指纹 …」,鼠标悬停给出签名者与签发时间。指纹是逐字核对签名者身份的唯一手段,此前只在安全设置页显示,日常抽签的人看不到它
  • 闪抽新增两个可选开关(都默认关闭):① 「闪抽结束后归还焦点」(浮动窗口设置页 · 交互组)在你按下快捷键或点击悬浮窗时记下当时的前台窗口,闪抽窗口关闭后把焦点还给它——你通常正在别的程序里打字,没有这个功能光标就丢了;该功能目前仅 Windows 支持,其它平台上该开关不生效。② 「抽签前预取信标脉冲」(抽取验证页 · 信标组)在抽签开始时就异步获取信标脉冲,把网络往返藏在抽签动画里;只预取脉冲本身,序号仍在抽签时预留,所以未被用掉的预取不会消耗序号、也不会在证明链上留下缺口
  • 来自上游同步:抽取设置的「动画样式」统一改用新的选择器,内置动画与插件动画在同一个下拉里选择;插件被卸载或禁用时,原先选中的插件动画会在启动时自动恢复为内置动画,不再出现空白的「动画样式」;宿主交给插件的结果文案与内置结果卡完全一致;切换界面语言后插件注册的文案会立刻刷新,不需要重启;同一标识的插件窗口会被复用,宿主没有叠加层时自动回落为独立窗口;插件的候选项过滤、结果后处理与结果呈现即使出错也只跳过它自己那一步并记录日志,抽签本身照常完成

🐛 修复问题

  • 来自上游同步:修复导出数据时日志被占用:正在写入的当前日志现在也能正常导出,「导出全部数据」不再因此失败,诊断数据里也不会再缺少日志

⚠️ 需要注意

  • 安全防护开关已不在 settings.json 中(随本次上游同步带来):防护总开关、因素选择、受保护操作、Sudo 与防篡改校验改为存放在 data/config/security/settings.json 的独立加密文件里,旧版明文会在首次运行时自动迁移并从 settings.json 删除。这样做是为了让「改一下文件就能关掉防护」不再可行——代价是该目录下的文件可被读取者伪造,边界与凭据文件相同
  • 集控是远程控制入口:本机是否接受远程控制由设备本地的开关决定,保存在 data/config/control/node-state.json,导入任何设置文件都无法把它打开
  • 本版暂不提供 iOS 版:本分支的 iOS 构建在本次发布中关闭,发布页不会有 IPA 产物,其他平台不受影响