会话 cookie 也可以纳入本地恢复

浏览器中的 cookie 有的带明确到期时间,有的只属于当前会话。Mac Profiles 会读取该配置文件的 WebKit cookie 存储,把接口能够观察到的记录保存为本地加密快照,其中包括可观察的会话 cookie。下一次启动时,恢复过程发生在首次网页导航之前,避免网站先收到一个尚未恢复的状态。

这里的范围需要说清:应用保存的是接口返回的数据,不承诺读取引擎没有公开的全部分区属性,也不承诺网站的每一种状态都存在 cookie 中。网站可能同时使用本地数据库、其他存储或者服务端验证。快照成功写入,只能证明这一份可观察的数据保存成功,不能证明所有网站都会自动恢复登录。

加密快照与普通导出文件不同

内部快照使用独立的配置文件密钥加密,密钥存放在这台 Mac 的钥匙串中,与代理密码分开。磁盘上的快照不是可以直接阅读的 JSON cookies 导出。Apple 的钥匙串服务提供秘密数据存储机制,CryptoKit 则提供这里使用的认证加密能力;应用还必须正确处理文件写入、密钥缺失和异常退出。

如果密钥不可用、文件损坏或格式来自尚不支持的版本,应用会报告失败并保留原文件,而不是用一个空快照悄悄覆盖。此时不要反复删除文件来尝试“修复登录”。先保留现场,确认是否更换了电脑、账户或应用版本。单独复制加密文件到另一台 Mac,并不等于已经完成了安全、可用的会话迁移。

删除状态必须与新增状态一样认真保存

可靠的恢复不能只收集新增记录。如果你退出了网站、删除了某条 cookie,或者存储已经变空,下一份快照也必须反映这些变化。Mac Profiles 在恢复完成后把当前浏览器存储视为权威状态,随后保存包括空集合在内的更新,并过滤已过期记录,避免把旧登录状态重新带回来。

浏览期间除了变化通知,还安排约三秒一次的补充检查,因为实际运行中并非每次 cookie 变化都会触发通知。内容没有变化时,会跳过重复加密和磁盘写入。正常关闭还会尝试完成最后一次保存。突然断电、强制终止或存储设备故障仍可能丢失上次成功检查之后的变化,因此不能把周期保存称为零损失保证。

标签页恢复不是冻结整张网页

应用会保存配置文件的标签页地址、所选标签页和相关浏览设置。重开时,这些页面需要重新加载;内存中的脚本状态、尚未提交的表单、上传进度和临时页面内容不一定能回来。重要文字应先提交到网站或复制到合适的笔记中,不要把保持一个标签页打开当作唯一保存方式。

关闭时若出现保存错误,应先处理提示,再决定是否退出。强制安全关闭的优先级可能是停止页面运行,因此最后一次保存有时间上限。团队授权失效后的窗口关闭也遵循这一原则:不能为了等待无限期写入而继续使用已失去授权的环境。保留错误提示中的非敏感信息,有助于反馈问题。

第一次试用可以建立一个专门测试配置文件,在自己有权访问的网站上完成登录、打开几个页面、正常关闭、重启,再执行退出登录并重复检查。分别观察标签页、记录数量与网站实际状态,而不是只看窗口是否出现。这样的短流程能验证你的工作方式,也不会拿关键会话去承担未知风险。