You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以root身份通过命令行获取用户Firefox标签页的标题或URL?

root权限下通过命令行获取指定用户Firefox已打开标签页的URL与标题

可以实现,核心是解析Firefox存储运行时会话的定制压缩格式json文件,具体操作步骤如下:

前提说明

  • 操作全程持有root权限,目标用户的Firefox处于运行状态;若Firefox已关闭,可读取上次退出时保存的会话备份文件
  • Firefox的用户配置目录默认路径为/home/目标用户名/.mozilla/firefox/随机字符串.default-release/,可执行以下命令快速获取对应配置目录名:
    grep "Path=" /home/目标用户名/.mozilla/firefox/profiles.ini | cut -d'=' -f2
    

操作步骤

1. 准备jsonlz4格式解码工具

Firefox的会话存储使用定制的lz4压缩格式,头部带有8字节的mozLz40标识,无法用普通lz4工具直接解压,可使用如下Python脚本实现解码,保存为mozlz4_decode.py:

import sys
import lz4.block

if len(sys.argv) < 3:
    print(f"Usage: {sys.argv[0]} <input.jsonlz4> <output.json>")
    sys.exit(1)

with open(sys.argv[1], 'rb') as f_in:
    f_in.seek(8)
    decompressed = lz4.block.decompress(f_in.read())
    with open(sys.argv[2], 'wb') as f_out:
        f_out.write(decompressed)

运行前先安装依赖:
pip install lz4

2. 导出并解码会话文件

当前运行中Firefox的最新会话数据存放在配置目录下的sessionstore-backups/recovery.jsonlz4,先复制文件到临时目录避免读取锁冲突:

cp /home/目标用户名/.mozilla/firefox/你的配置目录名/sessionstore-backups/recovery.jsonlz4 /tmp/

执行解码操作:

python3 mozlz4_decode.py /tmp/recovery.jsonlz4 /tmp/recovery.json

如果Firefox处于关闭状态,将上述路径替换为配置目录下的sessionstore.jsonlz4即可。

3. 提取标签页URL与标题

推荐使用jq工具快速解析json内容,先按你的发行版安装对应包,比如Debian/Ubuntu下执行apt install jq。

  • 提取所有标签页URL:
    jq '.windows[].tabs[].entries[-1].url' /tmp/recovery.json
  • 提取所有标签页标题:
    jq '.windows[].tabs[].entries[-1].title' /tmp/recovery.json
  • 同时输出标题与URL,格式化展示:
    jq -r '.windows[].tabs[].entries[-1] | "标题: \(.title)\nURL: \(.url)\n-------------------------"' /tmp/recovery.json

注意事项

  • 即使持有root权限,也建议先执行su - 目标用户名切换到对应用户执行文件读取操作,避免触发Firefox的文件锁保护导致读取到损坏的会话数据
  • 以上方法适配Firefox 57及以上的Quantum版本

内容的提问来源于stack exchange,提问作者Xetolone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:06:02