阅读:6830回复:20
如何修改扩展xpi文件
手动修改link alart,但是改好后压成zip,再改成xpi,安装显示错误。谁能帮我改一下扩展,将txt改名为jar,替换原扩展里chrome下的同名文件。我再想办法签名。
linkalert.txtlink_alert-1.0.6-fx - 副本.xpi |
|
1楼#
发布于:2017-01-03 16:03
怎么能这么改呢。jar本质是一个zip格式压缩包,里面还有实际运行的代码等文件。按照扩展本来的结构弄好以后,先压缩成zip格式,然后改名为jar格式。最上层也是按照原来结构弄好,打包成zip格式,再改成xpi格式。
|
|
|
2楼#
发布于:2017-01-03 17:19
我就是这么做的。
linkalart.jar是我自己修改好的,上传时由于论坛限制改成了TXT。 把linkalart.jar直接放到我目前ff的配置里是直接可以起作用的。但一段时间后,ff会自检出扩展的安全问题,强制禁用。 所以我才想做到扩展里,然后签名。 |
|
3楼#
发布于:2017-01-03 17:22
|
|
4楼#
发布于:2017-01-04 11:50
难道要装java sdk
|
|
5楼#
发布于:2017-01-04 13:54
hill:我就是这么做的。看了下,这个扩展虽然是将xpi解压到linkalert.conlan@addons.mozilla.com路径内,但如果修改该路径内的任何文件,都会导致该路径内的签名文件失效。firefox v48之后的版本自动禁止为签名扩展,可以用下面的方法绕过强制签名。 // Create a file first, you can do it with a text document editor. // Paste the following code (10-15 lines) into the document. // Save the document afterwards. // Right-click on it, and rename to config.js, make sure it is called config.js, not config.js.txt. // Move the config.js file in the Firefox installation folder. // On Windows, this is C:\Program Files\Mozilla Firefox\ or C:\Program Files (x86)\Mozilla Firefox\. // On OS/X, it is /Applications/Firefox.app/. // On Linux, it is /usr/lib/firefox-<version>/ or /usr/lib64/firefox-<version>/. // try { Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("SIGNED_TYPES.clear()"); } catch(ex) {} // Create a second text document and open it afterwards in a text editor. // Paste the following code (6 and 7 lines) into it. // Rename the file to config-prefs.js. // Move the file into the name is "pref" in "defaults" folder of the Firefox program folder. pref("general.config.obscure_value", 0); pref("general.config.filename", "config.js"); |
|
6楼#
发布于:2017-01-04 14:24
多谢,但我有两个问题。
1. 正如楼上所说,直接在ff配置文件夹里修改扩展,虽然当时可以生效,但是一段时间后就会提示签名无效。所以我想自己申请签名。但是我不知道为什么打包不了xpi。总是显示损坏,所以更没法弄签名。能不能帮我打包一个xpi,我去弄签名。 2. 楼上提供的方法没听说过,50.x以后的版本都可以用吗? |
|
7楼#
发布于:2017-01-04 19:57
你用的解压软件太垃圾的缘故吧,总之7z是可以完美支持xpi和jar格式资源替换的
在7z GUI里打开到相应文件路径,把要替换的文件拖拽出来改完了再直接拖拽回去更新压缩文件就搞定了 签名是另外的问题,楼上有解决方案 |
|
|
8楼#
发布于:2017-01-04 22:29
hill:多谢,但我有两个问题。关于签名,你可以看着两个帖子。 https://www.firefox.net.cn/read-50839 https://www.firefox.net.cn/read-53524 |
|
9楼#
发布于:2017-01-04 23:04
签名好说,关键是打包不了xpi。先用的winrar,后来用tc自带的7z插件,今天上午专门装了7z。三种方法都是过来,装的时候都说损坏。
|
|
10楼#
发布于:2017-01-04 23:38
|
|
11楼#
发布于:2017-01-05 00:08
修改已正确签名的扩展时
请记得先删掉 META-INF 目录 你大概没这么做吧 link alert 目录结构太过时了 外加 unpack 属性为 true 导致 xpi 安装后被解压缩 已作修改 diff 了你修改的 jar 只是改动了几张图片? 这种情况不需要改动原扩展 新建扩展直接 override 相关路径即可 然后去签名这个新扩展或者直接滥用系统扩展大法免签都可 参考附件的 linkalert.icons@hill.xpi |
|
|
12楼#
发布于:2017-01-05 00:20
对了
原版图标中的 jsp-icon.png 其实指的是 javascript: 协议 并不是 JavaServer Pages 的 jsp 见 chrome/content/overlay.js 不要用那个巨大的 java 图标 你自己改吧 |
|
|
13楼#
发布于:2017-01-05 01:53
非常非常感谢各位。这个扩张确实有些原始,如果用stylish几行就能实现。我是看中他的规则写的相对准确一些,我是完全不会。然而他的图片太辣眼,我修改扩展的目的也是为了替换10组icon。javascript图标只是因为我喜欢咖啡杯,觉得特别有特色。大小懒得调成32和16的了,因为指示的时候是可以自动缩小的。
ff的签名验证机制真是佩服。我当时直接改linkalert.conlan@addons.mozilla.com路径内的icon,当时可以生效,但是一天后会提示签名失效。这种验证方式真厉害。 ls给linkalert配个扩展的方法确实厉害。免签名的方法就是5楼兄弟说的方法吗? 另外总结各位所说我之所以没打包成xpi,原因是因为没有删除META-INF 目录吗? |
|
14楼#
发布于:2017-01-05 02:45
已将aaaa007cn的版本签名,非常的好用。想请教一下jar文件实际上是没有用处的是吗?
因为我看到你修改的扩展直接去除了打包jar的环节。去除jar打包是对哪个文件进行修改了呢?我想知道一下,这样以后扩展升级了,我就知道怎么改了。 而你做的linkalert.icons@hill.xpi直接可以调用jar里的文件。 |
|
上一页
下一页