【问题标题】:Share greasemonkey script and database between Windows and Android Firefox在 Windows 和 Android Firefox 之间共享greasemonkey 脚本和数据库
【发布时间】:2020-03-13 04:30:57
【问题描述】:

多年来,我一直在笔记本电脑 Firefox 上使用自制的greasemonkey 脚本。它包括使用 GM.setValue 存储数据。

现在我刚刚购买了一台 Android 平板电脑,并且希望能够使用此脚本并更新值,而我使用的是笔记本电脑或平板电脑。

希望 Firefox Sync 能够处理这个问题,但甚至脚本都没有同步。

我想过同步脚本 dans db 文件(Google 驱动器、保管箱等),但我意识到自从 v4 以来,以前在 gm_scripts 中的 db 已经消失了,我也不知道 Greasemonkey 将脚本或其关联的数据库。

我正在寻找任何可能使它起作用的东西。

1) 有没有办法通过 Firefox Sync 来处理?

2) 替代品(Tampermonkey,Violentmonkey,?)会更好地处理吗?

3) 我在哪里可以找到新 Greasemonkey 系统中的脚本/数据库?

4) 我可以通过 Google 驱动器同步它们吗? (似乎有一些技巧可以在机器之间同步文件)

5) 是否有一个简单、免费的替代方案可以让我在机器之间同步一个非常小的文件?

================================================ 更新:

我尝试使用 TamperMonkey,它具有同步功能,但即使在不同的笔记本电脑或我的手机上看起来还可以,但在平板电脑上同步充其量是随机的。

还意识到只有脚本被同步,而不是它们的数据。脚本几乎从不改变,但数据一天会更新几次,所以无论如何都不是真正的解决方案。

数据不再以可读文件格式存在,因此在外部同步数据文件时也没有运气。

TamperMonkey 还有一个导入/导出功能,这确实考虑了数据。所以我现在能做的最好的就是在每次切换设备时考虑导出然后导入。不理想所以仍在寻找更好的解决方案。

【问题讨论】:

    标签: android firefox greasemonkey


    【解决方案1】:

    结论: 1-2) 我切换到 TamperMonkey,我可以轻松地从 Google Drive(或其他)上传/下载脚本。

    3-4-5) 新的浏览器扩展架构意味着您基本上无法访问文件系统上的数据

    唯一的解决方案是在别处存储/检索数据,而不是使用 GM 方法。我将我的存储在 airtable base 中,因为它提供了一个非常易于使用的 API,可以从用户脚本中调用。

    【讨论】:

      【解决方案2】:

      storage.sync

      表示同步存储区域。同步存储中的项目由 浏览器,并且在该浏览器的所有实例中都可用 用户已登录(例如通过 Firefox 同步或 Google 帐户),跨不同的设备。

      同步存在限制。

      • 同步需要登录
      • 最多可以同步 100kb,超过 100kb 会失败
      • 存储同步通常会同步整个扩展存储,对于用户脚本管理器,它们通常大于 100kb,因为它们也包含用户脚本
      • 数据存储在可能存在安全/隐私问题的其他地方(而不是您的计算机上)
      • 由于远程数据存储,存储读取/写入需要互联网访问和更长的时间
      • 扩展程序必须具有同步选项

      1) 有没有办法通过 Firefox Sync 来处理?

      是的,但取决于上述。虽然 Firefox sync 似乎没有 100kb 的限制,但同步整个 Firefox 需要更长的时间 (How do I set up Sync on my computer?)。

      2) 替代品(Tampermonkey,Violentmonkey,?)会更好地处理吗?

      Greasemonkey:没有同步功能
      Tampermonkey:同步到 Dropbox、Google Drive 或 WebDAV 服务
      Violentmonkey:同步到 Dropbox、OneDrive、Google Drive 或 WebDAV 服务
      Firemonkey:没有同步功能

      TM/VM 3rd 方存储同步允许存储超过 100KB。但是,使用第 3 方存储允许第 3 方跟踪,这是出于隐私考虑。存储读写操作也慢了很多。

      3) 我在哪里可以找到新 Greasemonkey 系统中的脚本/数据库?

      自 Firefox 57 起,扩展无法将文件保存到硬盘,唯一的存储区域是扩展存储,无法像以前一样访问。

      4) 我可以通过 Google 驱动器同步它们吗? (似乎有一些技巧可以在机器之间同步文件)

      参考上面

      5) 是否有一个简单、免费的替代方案可以让我在机器之间同步一个非常小的文件?

      这取决于设置和数据更改的频率。

      例如,如果数据不经常更改,尤其是在数据隐私非常重要的情况下,则可以使用备份导出/导入选项(脚本 + 数据)。因此,扩展数据可以保存到 U 盘并在任何地方加载(适合共享环境)。

      【讨论】:

      • 与3)有关,当你说“不可访问”时,是不是意味着无法读取、复制、甚至在磁盘上找到?
      • 至于 5) 的用途是跟踪我已阅读/未阅读/不想阅读/存储在不同网站上的内容。数据很小(基本上是 url 作为名称,一个 int 作为值),但一天会更改几次。所以导入/导出会很麻烦。
      • @user2739975 AFAIK,存储在 sqlite 中,适用于所有文件,而不是单个文件。另请阅读:support.mozilla.org/en-US/kb/… 如果数据很小,基本的扩展存储同步应该没问题。与脚本管理员核实,看看他们是否可以提供。
      • 那是我没有找到的。我知道我的个人资料在哪里(至少在 Windows 上),我已经保存它并将其从一台机器转移到另一台机器超过 15 年。 (虽然我不知道它在 Android 上的位置,因为 /profilemanager 不可用)。我在所有配置文件中搜索了应该在我的数据库中的值,但找不到它。某些扩展程序至少有一个带有其名称的文件夹,而greasemonkey 则没有。也没有找到脚本名称。
      • @user2739975 例如:C:\Users\.....\AppData\Roaming\Mozilla\Firefox\Profiles\.......default\storage\default 我不知道关于Android,我怀疑是否可以像计算机一样访问它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 2011-03-02
      • 2015-01-15
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多