游戏指纹
栞如何根据文件识别发行版本与版次、会计算哪些文件的哈希、哪些信息留在本机,以及两项相互独立的同意。
- 桌面版0.2.8 已提供
- 网页版已可用
游戏指纹是已安装游戏中部分文件的 SHA-256 摘要与文件大小。栞用指纹识别一个文件夹里装的是哪个发行版本(以及哪个版次),让匹配与去重可以依据文件本身,而不只看文件夹名称:
安装位置 → 发行版指纹 → 发行版本 / 版次 → 作品 → VNDB / NextMoe 编号
它位于作品页的文件与完整性中,相关选项在“设置 → 隐私与安全”。
计算哪些文件#
- 桌面版0.2.8 已提供
- 网页版不适用
栞不会计算整个游戏文件夹的哈希。先根据文件名、大小和程序元数据做低成本筛选,之后每个安装位置只计算少量候选文件:启动程序和启动器、引擎运行程序,以及有助于区分发行版本的小型配套文件。它还会记录一个结构特征:游戏目录及其下一层中引擎封包文件(例如 *.xp3、*.pck)的名称和大小。存档、截图和会变化的设置文件会被忽略。
哈希计算在后台进行,磁盘占用受限,可以取消。结果按文件标识、大小和修改时间缓存,未改变的文件不会重复读取;完整重新核对会忽略缓存。读取过程中被修改的文件、被移动或重命名的文件、可移动磁盘以及无法读取的文件都会被识别并报告,而不是得出错误的摘要。
指纹如何识别作品#
- 指纹指向的是发行版本,而不是直接指向作品。同一部作品可以有多个发行版本和版次,每个安装位置都保持各自的身份。
- 共用的引擎程序(例如 SiglusEngine 或 RealLive)被许多作品使用,因此永远不会单独用来识别作品,还需要同一文件夹中的其他证据。
- 一个文件可能同时被相互矛盾的发行版本认领。栞会保留并显示这种冲突,而不是悄悄选一个。
- 未知指纹会回到正常的匹配流程,由你确认作品(见书架与导入)。
- 把两个文件夹识别为同一作品,只是一个可以复核的关联,绝不会删除或合并游戏文件、游玩记录或 Steam 记录。
在线查询#
- 桌面版0.2.8 已提供
- 网页版已可用
- 查询服务已在 galshelf.com 上线;数据库从空开始,随维护者清单和已确认的贡献逐步增加。
在线查询在“隐私与安全”中有独立开关。开启 Cloud Saves 时会说明在线查询与贡献,初始勾选这两项,同时保留你之前明确选择的设置。启动或升级栞不会自动授权。允许在线查询后,符合条件且已检查的安装可以自动查询,也可以手动点击在线查询:
- 只发送该安装位置已计算的候选文件的 SHA-256 摘要和大小,不发送其他内容。
- 返回结果列出候选发行版本、各自的可信等级,以及是否存在相互矛盾的报告。
- 没有服务时,栞使用本地缓存和你导入的维护者清单。数据库为空也没关系,栞会直接回到正常匹配。服务上线之前,页面会说明服务暂不提供此功能。
贡献指纹#
- 桌面版0.2.8 已提供
- 网页版已可用
贡献是另一项独立的同意。Cloud Saves 设置会显示初始勾选的贡献选项,同时保留过去明确关闭的选择。在线查询与贡献可以分别关闭,不影响云存档或本地识别。
阅读开启时的说明并允许贡献后,符合条件的独立确认信息可以自动发送,不再逐文件询问。“贡献活动”显示待发任务和最近结果;手动提交仍可预览。允许发送的内容包括:
- 摘要、大小和文件用途(例如“启动程序”);
- 公开的 VNDB 作品编号,以及已知时的发行版本编号;
- 独立获得的确认来源;在线结果再次确认、或未经认证的导入审核者姓名,都不算新的独立报告;
- 条件满足时,受支持的通用存档位置形式、公开发行编号和已有游戏文件锚点,不贡献存档哈希;
- 纯文件名——只有在你勾选相应选项时才会包含。
隐私#
无论查询还是贡献,都不会发送:
- 绝对路径、用户名、自定义文件夹名、私人相对路径片段、存档文件列表或存档哈希;
- 你的账号名或硬件标识;
- 游戏文件或任何文件内容。
贡献会像其他账号请求一样附带你的 GalShelf 客户端登录凭据(登录令牌,以及登录时由服务分配的随机会话绑定),以便服务限制滥用和重复提交。因此,它对 GalShelf 服务而言并不是匿名的。服务保存最小报告数据及由账号生成的假名标识,用于防止滥用。在线查询不需要账号。
可信等级#
每条对应关系都有证据状态:候选、较可信或已审核。
- 你自己确认的匹配,在你的电脑上记为“较可信”。
- 在服务端,“较可信”需要至少三个不同账号的报告,“已审核”需要维护者审核。同一客户端或同一账号的重复提交,永远不会提升对应关系的等级。
- 相互矛盾的报告会被单独保留等待复核,不会合并。
- 未签名的导入清单只提供本地身份线索,即使填写了审核者姓名,也不能授权自动写入存档。
- 位置规则需有独立复现证据与精确发行家族锚点,再通过栞现有更新信任根签名分发。客户端检查版本、有效期、撤销状态、兼容发行版本和本机路径边界。报告数量不能直接授权恢复。
- 栞不会显示凭空编造的置信度百分比。
指纹不是安全检查#
位置学习与控制#
作品身份、存档兼容性、位置可信度与文件完整性分别呈现。EXE 被改动或标记异常后,可以排除该文件,继续使用未受影响且已知的配套锚点识别版本;不会把异常文件的新哈希当成正常样本贡献。Guard 与杀毒提醒仍然有效。
位置报告只支持少量通用形式,例如 {install_dir}/savedata 或 {locallow}/{unity_company}/{unity_product},令牌的实际值留在本机。自动贡献通道拒绝私人自定义名称。手动选一个目录并不能证明游戏使用它,必须有用户实际启动游戏后的本地存档活动证据。
关闭贡献会清除尚未发送的贡献,实际发送前也会再次检查授权。退出登录或切换账号会取消旧会话的任务。离线重试与队列数量都有上限,不会阻断云盘备份。可以撤回服务保存的私人报告;已经独立审核并发布的规则可能继续保留。关闭贡献不会删除云盘存档或本地历史。