如何恢复Firefox会话中的url
昨天升级到了macOS Catalina 10.15 Beta (19A526h),发现Firefox无法打开了…
不得以,只能看下如何在不打开Firefox的情况下,将会话中打开的url拿出来。
首先,得找到Profile的问题,参考 https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data 找到位置,将Profile目录下的sessionstore-backups文件夹拷出来。
其中,recovery.jsonlz4文件即为会话的恢复信息,但是这个文件不是标准的lz4压缩文件,得使用特殊的工具来解压,在 https://github.com/avih/dejsonlz4 下载dejsonlz4源码,编译。
通过命令将jsonlz4解压成json:
./dejsonlz4 /path/to/recovery.jsonlz4 /path/to/output/recovery.json
接下来就是探索这个recovery.json的内容了,很简单:
- jq keys查看这个json文件中的顶级key,比如
cat recovery.json | jq keys
- 查看某一个节点可以通过
.
来引用,比如jq '.[0].entrys'
就是查看第零个元素中的entrys属性
最终,可以通过如下命令输出会话中所有的url:
1 | jq -r '.windows[].tabs[].entries[].url' recovery.json |
至此就拿到了所有的url,但是看到url,我就跑了一下脚本看看统计信息:
- 共打开了421个标签页
- 去重之后,有46个url重复打开了,最多的是一个url打开了6次,是公司的一个安排任务的内部系统。
- 按照域名来分的话, 公司内部的git托管系统打开最多,打开了119个
- 第二名是leetcode,16个标签页
如何恢复Firefox会话中的url