如何从 LevelDB 恢复 Chrome 扩展程序设置

XCa*_*anG 5 google-chrome data-recovery database google-chrome-extensions

当Chrome吃掉太多RAM并且我退出或RAM时,我会失败,当这种情况发生在Chrome崩溃的插件选项卡大纲中时,我用它来存储和卸载许多选项卡,写笔记等当发生这种情况时,Chrome要求恢复插件,看起来就像通过重新加载来恢复它一样,但是它会重置所有设置,并且只显示当前打开的选项卡。我立即进入设置文件夹,其中数据保存为LevelDB/IndexedDB,路径是:C:\\Users\\__NAME__\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\IndexedDB\\chrome-extension_eggkanocgddhmamlbiijnphhppkpkmkl_0.indexeddb.leveldb

\n\n

在重新加载崩溃的插件之前,我发现仍然没有删除带有时间戳的数据库文件,我复制文件来保存它们,这是:

\n\n
000005.ldb 4.1Mb\n000006.log 1.3Mb\n000007.ldb 4.1Mb\nCURRENT 1Kb\nLOCK 0Kb\nLOG 1Kb\nMANIFEST-000001 1Kb\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,最后 4 个文件已经修改,并且稍后000008.ldb创建了 200Kb 的小文件,这可能是当前打开的选项卡,仅覆盖当前打开的选项卡的设置。

\n\n

我尝试读取清单文件,但它有很多二进制内容,可能无法读取,我还在扩展页面上打开 DevTools 并在 Application \xe2\x86\x92 IndexedDB 中导航,在其中我找到了一个以 JSON 格式存储此选项卡的密钥。还尝试用谷歌搜索类似的问题,我发现这篇文章https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB其中显示了从控制台写入数据库的示例,我也尝试打开它并取得成功:

\n\n
000005.ldb 4.1Mb\n000006.log 1.3Mb\n000007.ldb 4.1Mb\nCURRENT 1Kb\nLOCK 0Kb\nLOG 1Kb\nMANIFEST-000001 1Kb\n
Run Code Online (Sandbox Code Playgroud)\n\n

但现在主要问题我无法解决。我有两种恢复内容的选择:

\n\n
    \n
  1. 以某种方式重写设置以读取000005.ldb并恢复此数据库中的所有其他信息
  2. \n
  3. 以某种方式从 DevTools 或以其他方式读取000005.ldb,使用所有设置(~4Mb)导出 JSON,然后从控制台重写到当前数据库。
  4. \n
\n\n

PS扩展本身没有导入选项,但有导出(以不同的格式)

\n\n

PSS 扩展已与 Google 云端硬盘同步,但是我没有需要恢复的实际数据版本,因为它不是自动过程,加上 Google 云端硬盘中的文件,我无法访问这些文件,因为它们隐藏在扩展访问权限后面功能,我只能授予对存储数据的访问权限,但不能自己上传最新文件,如果它们以相同或其他方式存储,这将是更复杂的任务。

\n\n

PSSS 不可能从作者那里获得帮助,作者多年来没有回复任何人(看到很多关于此的帖子)。

\n

小智 1

Tabs Outliner 扩展在当前版本的 Google Chrome 中有些损坏,它会几乎随机地自发地自我损坏,完全没有任何警告。备份文件越大,自发自我损坏的风险就越高。当扩展第一次停止为我工作时,我的备份大小约为 14000 KB (14 MB),因为我已经使用 Tabs Outliner 好几年了。

告诉 Chrome 修复它(或重新安装)是唯一的解决方案,这两种方法都会删除该扩展程序的所有本地数据和设置。

修复或重新安装 Tabs Outliner 后,您需要找到原始许可证密钥电子邮件并单击该电子邮件中的链接来重新激活它。您还必须重新授权扩展程序才能连接到您的 Google 云端硬盘。完成后,您应该能够访问所有备份功能。

我无法帮助从 db 文件恢复扩展数据,但我可以帮助提供 Tabs Outliner 的一些基本使用说明,这些说明很容易被忽视......

要从 Google 云端硬盘备份恢复:

  1. 右键单击工具栏或菜单中的“选项卡大纲视图”扩展图标,然后Options从出现的上下文菜单中进行选择。
  2. Tabs Outliner Options在随后打开的窗口/选项卡中,单击该BACKUP选项卡。
  3. 在窗口/选项卡Google Drive Backups的部分中Tabs Outliner Options,找到要恢复的备份,然后单击View列表中该条目的按钮。
  4. Tabs Outliner Backup将 Tabs Outliner 扩展的主列表视图窗口排列在刚刚打开的窗口旁边。
  5. 要从备份中抢救/恢复节点、窗口或选项卡,您需要将它们从备份列表视图窗口单击并拖动到主扩展列表视图窗口中。此操作可能需要几分钟的时间来处理,并且扩展程序将冻结(很可能您的浏览器也会冻结),直到完成。
  6. 返回窗口中Export的选项卡部分,单击并将生成的文件保存在安全的地方以供以后参考。您可以稍后重新导入此文件,就像 Google 云端硬盘备份一样。BACKUPTabs Outliner OptionsExport Tree To File

目前与该文件进行有意义交互的唯一方法是使用窗口/选项卡View Exported Tree中的选项Tabs Outliner Options。您可能会幸运地使用轻量级 JSON 查看器,或者您可能希望编写自己的 Chrome 扩展程序或脚本来读取此文件和/或将其转换为更有用或人类可读的格式。

在三周的时间里,我从备份中恢复了大约十次。最后,我不得不放弃并重新开始(并从我的备份中拖动了一小部分重要的窗口),因为我的树太大了,扩展无法处理,并且开发人员不太可能随时发布任何更新可预见的未来。欢迎来到惊喜废弃软件。

自从我允许它重置我的树以来,我对扩展(跨多台计算机)没有任何问题。我当前的备份大小约为 400 KB。我现在仍然偶尔手动将树导出到本地文件,以防万一。

希望这些说明可以让您至少从该扩展程序中挽救大部分数据。

如果您选择继续深入研究 Chrome 的内部结构并手动从扩展数据库中提取内容,我祝您好运。

  • 我仍然保留着我的文件,我仍然无法读取 Chrome 自定义数据库,除了 Chrome 本身之外,互联网上没有可用的软件可以读取它。如果我以某种方式设法打开它,那么我将以我可以稍后读取和编写解析器的格式导出它,并有机会稍后在某些插件中导入它或手动读取。或者在其他情况下,我将花费数年时间来寻找和恢复其中收集的东西。我宁愿启动与它类似的开源插件,但这里最重要的事情是首先恢复我自己的选项卡。 (2认同)