1 个不稳定版本
0.3.1 | 2023年4月4日 |
---|
#26 in #chrome
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导出
- 使用特定标准修剪数据库
- 有配置文件来配置相关设置
- 处理
CurrentSession
和PreviousSession
会话
它好吗?
是的,当然。它是用Rust编写的,非常快。
发现
* 由于某种原因,扩展产生的JSON备份以 <feff>
作为第一个字节,即一个 BOM 字符
即 Zero Width No-Break Space
,这破坏了它对大多数解析器。我认为在JSON文件的开始处放置这个是不好的。删除后,一切正常。这里有一些在Stack Overflow上的讨论: https://stackoverflow.com/q/4990095/220472。
免责声明
我和这个工具与Session Buddy的开发者没有任何关联。
依赖项
~43–58MB
~1M SLoC