【问题标题】:Firefox extension automatic update featureFirefox 扩展自动更新功能
【发布时间】:2011-06-24 09:44:31
【问题描述】:

我正在遵循http://www.borngeek.com/firefox/automatic-firefox-extension-updates/ 上的教程,以使我的 FF 扩展可以自动更新给用户,但是我在使用 Tomcat 服务时停留在最后一部分“托管更新清单”,我不知道如何设置.htaccess(.h​​taccess文件在配置服务器方面是否与WEB-INF目录相似?)

到目前为止我做了什么,

创建密钥对:公钥和私钥

计算 sha256: b3290c69a1...

创建 update.rdf

  • 1.0.1版本> {ec8030f7-c20a-464f-9b0e-13a3a9e97384}3.55.0.*http://localhost:8080/myextension/pluginupdate/myextension.xpi sha256:b3290c69a1... 描述> 描述>
  • 序列> 更新> 描述>

    使用密钥签署 update.rdf

    将singed update.rdf 和myextension.xpi 放在pluginupdate 目录下,其中pluginupdate 与WEB-INF 处于同一级别。

    我的 install.rdf

    myextension@mozilla.myextension.org我的测试扩展1.0测试 Mozilla 扩展。测试组http://?????????/ MIGfMA0G..... http://localhost:8080/myextension/pluginupdate/update.rdf{ec8030f7-c20a-464f-9b0e-13a3a9e97384}3.55.0.*说明> 说明>

    当我重新启动 FF 浏览器时,没有任何反应。 当我使用带有选项 -console 的命令行启动 FF 浏览器时

    *** LOG addons.xpi:启动 *** LOG addons.xpi: checkForChanges *** LOG addons.xpi:未发现任何更改 *** LOG addons.xpi: 打开数据库

    那么,如何托管和配置 Tomcat 以托管更新清单?谢谢

    更新

    嗨,弗拉基米尔,

    在 web.xml 中定义 MIME 类型后,-console 选项提供了更多信息。

    我删除了扩展并重新安装了它,日志是

    *** LOG addons.xpi:启动 *** LOG addons.xpi: checkForChanges *** LOG addons.xpi:未发现任何更改 *** LOG addons.xpi: 打开数据库 *** LOG addons.repository:请求 https://services.addons.mozilla.org/en-GB/firefox/api/1.5/search/guid:myextension%40mozilla.myextension.org?src=firefox&appOS=Linux&appVersion=5.0 &tMain=23&tFirstPaint=1641&tSessionRestored=1042 *** LOG addons.xpi:开始安装 file:///home/me/browserplugindev/firefox/test/myextension.xpi *** LOG addons.xpi:插件 myextension@mozilla.myextension.org 将作为打包的 xpi 安装 *** LOG addons.xpi:安装文件:///home/me/browserplugindev/firefox/test/myextension.xpi 已完成。 注意:子进程收到“再见”,关闭 *** LOG addons.xpi:关机 *** LOG addons.xpi:启动 *** LOG addons.xpi: checkForChanges *** LOG addons.xpi:在 app-profile 中找到 myextension@mozilla.myextension.org 的更新清单 *** LOG addons.xpi:在 app-profile 中处理 myextension@mozilla.myextension.org 的安装 *** LOG addons.xpi: 打开数据库 *** LOG addons.xpi:安装在 app-profile 中的新插件 myextension@mozilla.myextension.org *** LOG addons.xpi:使用已安装插件的更改更新数据库 *** LOG addons.xpi:更新插件状态 *** LOG addons.xpi:编写插件列表

    起始行

    LOG addons.repository:请求 https://services.addons.mozilla.org/en-GB/firefox/api/1.5/search/guid:myextension%40mozilla.myextension.org?src=firefox&appOS=Linux&appVersion=5.0&tMain=23&tFirstPaint =1641&t会话恢复=1042

    我们可以看到更新管理器 (?) 正在向位于 https://services.addons.mozilla.org/en-GB/firefox/api/1.5/search/guid:myextension%40mozilla.myextension 的存储库发出请求。 org?src=firefox&appOS=Linux&appVersion=5.0&tMain=23&tFirstPaint=1641&tSessionRestored=1042

    还有,启动后

    ​​> *** LOG addons.xpi:在 app-profile 中找到 myextension@mozilla.myextension.org 的更新清单 *** LOG addons.xpi:在 app-profile 中处理 myextension@mozilla.myextension.org 的安装

    那么是否意味着找到了更新。但是我没有在浏览器上看到通知告诉我“有一个新版本的 myextension,更新?”。

    我错过了什么吗?

    【问题讨论】:

    • 请注意,如果您通过 HTTPS 提供更新,则无需签署更新 - 这可能更简单。
    • 嗨,我刚刚注意到我的“extensions.update.url”设置为versioncheck.addons.mozilla.org/update/…,这是问题吗?
    • 不,这是默认的更新地址——如果扩展指定了更新地址,它优先于默认。
    • 好的,我刚刚google了一下,发现了。看来我正面临一个难题,因为我已经在这里停留了几个小时。
    • @user200340:请不要编辑问题以将其变成不同的问题。如果您有一个新问题 - 创建一个新问题并感谢回答您的人。通过编辑问题,您会使所有答案无效。见stackoverflow.com/faq#howtoask

    标签: firefox tomcat firefox-addon


    【解决方案1】:

    .htaccess 文件的目的只是确保服务器知道 MIME 类型。看来您可以通过更改 conf/web.xml 文件来为 Tomcat 做到这一点:

    <mime-mapping>
      <extension>xpi</extension>
      <mime-type>application/x-xpinstall</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>rdf</extension>
      <mime-type>application/rdf+xml</mime-type>
    </mime-mapping>
    

    我查看了您的 update.rdf 和 install.rdf 文件,没有发现任何明显的问题 - 它应该可以工作。您可能想要转到about:config 并打开extensions.logging.enabled 首选项但是,这将确保将其他信息发送到错误控制台(按Ctrl-Shift-J 打开或在命令行上使用-jsconsole) .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多