1 个不稳定版本

0.3.1 2023年4月4日

#26 in #chrome

MIT 许可证

52KB
934

会话助手辅助工具

命令行工具用于进行与您的会话助手数据库的各种操作

是什么

会话助手 是一个 Google Chrome 扩展程序,用于存储和恢复浏览器标签页。所有数据都存储在 SQLite3 数据库中。有一个 Google 群组,其中有些关于会话助手的讨论,似乎有时人们会丢失他们的数据或遇到导出或导入数据的问题。这个工具旨在对该数据库进行各种操作,并帮助有需要的人。

功能

  • 备份:创建一个类似于扩展程序会创建的 JSON 文件。生成的输出并不完全相同,但应该可以导入到会话助手中。

  • 导入:将扩展程序或此工具创建的备份文件导入到数据库中。

  • 搜索:在您的磁盘上搜索会话助手数据库。有时确定扩展程序的数据库路径有点麻烦,所以这应该会让事情变得更容易。

  • 新建:创建一个新的空会话助手数据库。它将具有与扩展程序创建时相同的模式。

  • 调试:尝试确定数据库或备份文件中是否存在问题。

  • 统计:打印有关数据库的各种统计信息。在执行数据库上的其他任务后,这有助于了解发生了什么。

  • 转储:将所有链接打印到 stdout。

当前状态 & 动机

到目前为止似乎工作正常。

多年来,我已经收集了多个数据库,总共有大约 5,000 个存储的会话,包括大约 15,000 个窗口和超过 130,000 个标签页。扩展程序在导出时会卡住,或者使扩展程序或浏览器本身崩溃。通过在 SQLite 数据库本身上执行所有这些操作,所有这些都正常工作。

但是,仍然不建议您总是将所有内容都保存在 Chrome 扩展程序中。通过定期安排数据库的备份和修剪操作,会话助手可能不会丢失数据,并且您可以方便(并且性能良好)地访问所有数据。

如果您对此工具有任何想法或愿望,或者需要帮助恢复数千个标签页,请随时在 讨论 中提出。

安装

cargo install sbh
git clone https://www.github.com/rxw1/sbh
cd sbh
cargo install --release .
curl -LSfs https://japaric.github.io/trust/install.sh |\
 sh -s -- --git rxw/sbh

或从这里下载预编译的软件包:此处

使用示例

搜索数据库

搜索数据库并打印路径。默认情况下,我们尝试根据操作系统自动确定正确的路径。有关这些路径的更多信息,请参阅 dirs-rs

sbh search

或者,您可以传递任何路径进行搜索

sbh search ~/.config

将数据库备份到JSON

sbh backup -o whatever.json

如果没有指定输出文件,生成的JSON将打印到标准输出。

搜索并备份每个找到的数据库到一个带时间戳的文件

for db in "$(sbh search)"; do
  o=sb-$(sbh id $db)-$(date +%Y%m%d%H%M%S).json
  sbh backup -o $o $db
  sbh validate backup $o
done

转储、排序并计算数据库中存储的所有URL

sbh search | while read -r l; do
  sbh dump "$l" | grep -Ev 'chrome(|-.*)://' | sort | uniq -c | sort -g
done

待办事项(可能)

  • CSV导出
  • 使用特定标准修剪数据库
  • 有配置文件来配置相关设置
  • 处理 CurrentSessionPreviousSession 会话

它好吗?

是的,当然。它是用Rust编写的,非常快。

发现

* 由于某种原因,扩展产生的JSON备份以 <feff> 作为第一个字节,即一个 BOM 字符Zero Width No-Break Space,这破坏了它对大多数解析器。我认为在JSON文件的开始处放置这个是不好的。删除后,一切正常。这里有一些在Stack Overflow上的讨论: https://stackoverflow.com/q/4990095/220472

免责声明

我和这个工具与Session Buddy的开发者没有任何关联。

依赖项

~43–58MB
~1M SLoC