检查 Firefox WebExtensions storage.local
Inspect Firefox WebExtensions storage.local
WebExtensions 可以在本地存储数据 storage.local. Apparently 它是键值存储,值可以是基本类型(例如数字、布尔值和字符串)或数组类型。
我想检查此区域中存储的特定 WebExtension(不是我制作的)。
如何做到这一点?
奖励方法可以自动化,允许我从 bash
脚本中提取数据。但是 GUI 解决方案也很容易接受。
在 Firefox 中
- 在导航栏中输入
about:debugging
并按回车键
- 检查该页面顶部的
Enable add-on debugging
- 在下方您可以看到所有已安装扩展的列表。找到您要检查的那个并单击其
debug
link.
Incoming Connection
提示将显示。单击 OK
以允许它。
- 在新的弹出窗口中切换到
Console
选项卡
- 在这里你可以在扩展的上下文中执行代码
粘贴以下代码以获取 storage.local
内容:
chrome.storage.local.get(null, function(items) {
console.log(items);
});
编辑:
如果你想下载对象,你可以将它字符串化,从它创建一个 blob,然后从 blob 创建一个数据 URL 并在新选项卡中打开它或下载它。像这样:
chrome.storage.local.get(null, function(items) {
var blob = new Blob([JSON.stringify(items, null,' ')], {type: "text/plain"});
var url = URL.createObjectURL(blob);
chrome.tabs.create({ url: url }); // requires that the extension has the "tabs" permission
//chrome.downloads.download({ url: url }); // requires that the extension has the "downloads" permission
});
目标扩展程序需要具有 "tabs" 权限才能打开选项卡或 "downloads" 权限才能开始下载。
您还可以寻找其他访问数据的方法。例如,通过 "browserAction"/"pageAction"-弹出窗口或向外部服务器发送 ajax 调用,在 post 正文中提交数据...
要从 Bash 访问数据,您可以尝试从扩展的 storage.js 文件中读取它。您应该可以在您的主目录 (Linux) 中找到它。对我来说是:~/.mozilla/firefox/{profile}/browser-extension-data/{extension}/storage.js
。在 Windows 上,它将位于 appdata 中的某个位置。关于 OS X 我不知道。
storage.js
文件是 json 文件。
我以后不会依赖它工作了。 Firefox 可能会在某个时候切换为以加密格式存储数据。也不要依赖于最新的数据。 Firefox 可能不会立即将存储与磁盘上的文件同步。
WebExtensions 可以在本地存储数据 storage.local. Apparently 它是键值存储,值可以是基本类型(例如数字、布尔值和字符串)或数组类型。
我想检查此区域中存储的特定 WebExtension(不是我制作的)。
如何做到这一点?
奖励方法可以自动化,允许我从 bash
脚本中提取数据。但是 GUI 解决方案也很容易接受。
在 Firefox 中
- 在导航栏中输入
about:debugging
并按回车键 - 检查该页面顶部的
Enable add-on debugging
- 在下方您可以看到所有已安装扩展的列表。找到您要检查的那个并单击其
debug
link. Incoming Connection
提示将显示。单击OK
以允许它。- 在新的弹出窗口中切换到
Console
选项卡 - 在这里你可以在扩展的上下文中执行代码
粘贴以下代码以获取
storage.local
内容:chrome.storage.local.get(null, function(items) { console.log(items); });
编辑:
如果你想下载对象,你可以将它字符串化,从它创建一个 blob,然后从 blob 创建一个数据 URL 并在新选项卡中打开它或下载它。像这样:
chrome.storage.local.get(null, function(items) {
var blob = new Blob([JSON.stringify(items, null,' ')], {type: "text/plain"});
var url = URL.createObjectURL(blob);
chrome.tabs.create({ url: url }); // requires that the extension has the "tabs" permission
//chrome.downloads.download({ url: url }); // requires that the extension has the "downloads" permission
});
目标扩展程序需要具有 "tabs" 权限才能打开选项卡或 "downloads" 权限才能开始下载。 您还可以寻找其他访问数据的方法。例如,通过 "browserAction"/"pageAction"-弹出窗口或向外部服务器发送 ajax 调用,在 post 正文中提交数据...
要从 Bash 访问数据,您可以尝试从扩展的 storage.js 文件中读取它。您应该可以在您的主目录 (Linux) 中找到它。对我来说是:~/.mozilla/firefox/{profile}/browser-extension-data/{extension}/storage.js
。在 Windows 上,它将位于 appdata 中的某个位置。关于 OS X 我不知道。
storage.js
文件是 json 文件。
我以后不会依赖它工作了。 Firefox 可能会在某个时候切换为以加密格式存储数据。也不要依赖于最新的数据。 Firefox 可能不会立即将存储与磁盘上的文件同步。