← 返回 Skill 说明

v2.1.0 / 参考文档

在线阅读 / 浏览器存储

与下载包内原文一致 · 仅作阅读排版

查看原始文件 ↗

浏览器与 Electron 存储#

先确定普通浏览器 profile、Claude 主登录存储和内嵌预览 partition 的实际边界。它们可能同时存在于 Application Support 与 Library/Caches;清一个不代表另一个已清。以下是分层检查方法,不是要求每次重建所有数据库。

首轮清单#

在已纳入的浏览器/profile 内一次发现:Cookies、目标 IndexedDB/站点存储、Local/Session Storage、Service Worker 注册与 CacheStorage origin 索引、扩展安装及 Local/Sync 状态、独立 HTTP 磁盘缓存。按需查 Login Data 目标站点元数据。浏览历史、保存标签组、书签和网络协议统计先列保留范围。

对 claude.ai、anthropic.com 等经确认目标域采用 hostname 的“相等或点分子域”边界匹配,不能对 URL/query/整个文件做无边界子串删除。内容 CDN 或新域先查可靠归属,不能猜。不是所有提到 Claude 的第三方资源都属于目标站点。

原生“清除网站数据”仅用于已确认旧目标且删除范围符合保护要求的存储。当前已登录新账号时,不默认登出或清整站;原生入口无法区分新旧状态时,改做精确旧项调查。原生操作由应用自身管理写入,无须为使用该入口而强迫停机;外部修改其文件才要求冷态。操作后按实际覆盖层读回,不从 UI 成功提示推断独立 HTTP 缓存、废弃字节或远端同步已消失。

维护逐层覆盖表及具体方法。原始字节扫描不冒充有效 KV 或解压后正文;用受支持原生能力或匹配版本的隔离解析补齐相关未查层,未变且已通过的层不重复全查。

新登录及人工操作后的重新归属#

用户手动清过站点或扩展后先读回,别继续照旧计划删除。当前目标域 Cookie、扩展或缓存出现,只能证明有状态,不能证明旧账号回流。用已确认旧基线比较,必要时只查询 host/name/创建与更新时间;创建在清理之后是新生成证据,不是账号归属证据。用户确认的新登录列为保护项,不再反复询问或为独立证明而解密 Cookie。普通挑战/匿名标识与登录票据分开汇报,不把“Cookie 共若干条”当“旧登录若干条”。

SQLite 与 Safari#

  • 不直接把 SQLite 引擎连到运行中的生产库;mode=ro 仍可能涉及 SHM/锁,不能当作源目录绝不写入的保证。
  • 如需只读调查,可用 sqlite_snapshot.py 将 DB 及对应 WAL 复制到私有目录,核验 sidecar 集合和前后 stat/SHA;不复用源 SHM。引擎只打开副本。发生来源变化先定位写入者,必要时在来源稳定后重试;不要循环碰撞运行中数据库。
  • 非空 rollback journal 不能忽略;无法解释事务状态时等待冷态。非原子复制即使通过变化检测,也不宣称数据库/多库原子快照。
  • 查询 Cookie 的 host/必要元数据和计数;Login Data 只读 origin/站点元数据,不选密码、cookie value、不解密。副本在 finally 清除,日志不保留行内秘密。
  • 生产变更须冷态:在副本精确删行,正确处理 WAL/checkpoint,验证完整性与所有非目标记录,再按事务计划替换。需要去掉废弃页时用受支持的整理方式验证;仅 SQL 删除行不等于旧字节消失。
  • Safari binarycookies 仅在格式已确认时解析 host 偏移并做边界、长度和源稳定性检查;未知格式用原生网站数据界面或明确列为不可核实,不猜二进制布局。

深度文件写入的进入条件#

LevelDB/IndexedDB 内部重建、SimpleCache 索引或文件组修改、Safari 二进制存储修改,须同时具备:明确旧目标及保护范围;匹配当前实际版本/schema 的适配器;通过无操作、非目标保持和部分失败/回滚/重启等相关故障验证;内容保全、精确恢复材料和冷态发布条件。缺少匹配且验证过的适配器时,只在私有副本调查或开发测试,暂不发布该项,其他已就绪批次继续。

不凭 UUID、旧日期或 partition key 升级为生产写入。原生机制、删除整组文件让浏览器重建、二进制精确变更都须分别验证实际删除范围与非目标影响;“浏览器会自行修复”不能替代这项判断。

LevelDB / IndexedDB / Service Worker#

把三件事分别记录:域名/旧值原始字节命中、有效 KV 命中、实际可用认证。SST/log 中已删除记录的残余字节不等同当前状态。只有存在明确隐私清理目的时才处理这些废弃字节。

共享库只在私有副本用匹配引擎读取有效记录;校验 CRC、压缩及 schema,未知格式失败即保留。写入必须冷态,禁止手工删改 SST/log 或整个共享 Local/Session Storage、Service Worker 目录。

必要重建时先列出全部有效二进制键值,对精确获准的目标集合做变换;其余键与值逐字节等价,数量和摘要吻合。若只是去掉已删除项的旧字节,应保留全部现有有效 KV,不再额外过滤。

IndexedDB/CacheStorage 内也可能有对话和用户作品,按 内容保全 判定。其他站点出现相同邮箱或 Claude 文本,不扩大到删除其数据。

HTTP 缓存:先归属,后正文#

  1. 先读格式限定的头和 key:校验 magic/version、长度、文件名哈希映射与前后 stat。首轮不读全站 HTTP 正文。
  2. 按当前 Chromium key 格式拆分资源 URL和 partition / isolation key。已知旧身份匹配覆盖所读 key,但输出只记数量。
  3. 分别记录 resource_target、partition_only、identity_only_other_resource。删除依据是资源归属或核实的旧身份状态;仅 partition/isolation key 提到目标的第三方资源默认保留。其他资源含旧身份也须逐项查因及授权,不据分区键整组删除。
  4. 目标记录的磁盘存在、索引引用、未过期可复用、能恢复登录是四种结论,不能互相替代。
  5. 再解码候选正文,分开处理 HTTP Content-Encoding 与磁盘层压缩。对话、申诉文字、上传和媒体先保全;截断、稀疏流、未知 codec 或无法分类的内容阻止该项永久删除。

只有需要精确改 SimpleCache 时才进入这一分支#

先满足上述深度写入条件,并确认原生机制无法满足所需范围及保护要求。适配器须匹配实际 Chromium 版本及该版本官方 net/disk_cache/simple/ 源码;某次 v9 实现不是通用执行器。

  • 识别同一 hash 下的完整文件组(可能含 _0、_1、_s)及索引,不能只移动 _0;stream 共置和稀疏文件布局以匹配源码为准。
  • 校验 pickle 长度/CRC、索引 magic/version、记录计数、唯一 hash、packed 字段、大小和 footer。无操作 roundtrip 必须原字节相同;修改后非目标 record 原字节不变。
  • 先验证原索引与磁盘的 freshness。原索引陈旧时先解决状态或停止,不能调高 footer 时间掩盖问题。
  • 目录 mtime 改变可能触发浏览器重建整个索引并改写其他 LRU 元数据。记录原目录纳秒时间与索引依据;只有匹配实现且有完整验收时,才可按其 freshness 规则保持时间/元数据关系。
  • 原文件组、索引及必要元数据按 事务规则 一并保全,临时索引 flush/fsync 后发布;针对部分移动、索引替换、回滚中重启等实际故障验证,不能只测 parser。

格式参考:Chromium SimpleCache 源码目录。链接 main 只用于定位,实施必须切到与安装版本匹配的 revision。

Safari HTTP 缓存是独立入口#

Safari 网站数据列表为空,不自动证明 WebKit HTTP 缓存也为空。需要处理时先定位当前实际缓存根、格式版本、元数据到正文关系及索引;不要复用某次 WebKit 版本的固定偏移。

正文可能是独立文件或有硬链接/共享引用。只有确认所有目标引用和非目标依赖后才删相应正文,按底层文件去重统计大小;无法确认归属的图片先保全。salt/hash 不匹配的记录不能仅凭不匹配判成目标。冷态检查目标与非目标;暖态重载会正常新增缓存,不能要求整个缓存树永远保持零变化。Google 或其他站点缓存不随 Claude 清理默认加入,必须有相应授权。

扩展、协议状态与恢复#

  • 实际扩展安装目录、Local/Sync 存储和原生扩展列表共同证明安装状态。Secure Preferences 中孤立 {} 没有 manifest/path/安装目录时,不为外观清洁改受保护偏好。
  • Network Persistent State 中协议能力、alt-svc、失败时间、RTT 不是自动认证证据。若发现 token/ticket/server_info 等不同内容,再按实际语义评估。
  • History、书签和保存标签组中的 Claude URL 是历史/入口,不证明 Cookie 可恢复或扩展会重装。未查远端同步就不作未来状态保证。
  • 关闭前在私有文件保存最小恢复信息,避免日志输出私人 URL。恢复原 profile、窗口和标签集合,区分原标签、正常重定向与新建空白启动页;不要越过站点验证页。恢复联网标签可能发请求,用户禁止联网/访问目标站时不能自动恢复;授权明确、可验证的离线恢复才可进行,否则仅将这一冲突留待决定。
  • 完成必要的外部文件冷态验收及授权的原生/暖态回归即可。无新增的确认旧身份命中、保护项完整且无新异常时停止;正常新账号与匿名状态不作为清理失败。