阅读:7286回复:20
如何修改扩展xpi文件
手动修改link alart,但是改好后压成zip,再改成xpi,安装显示错误。谁能帮我改一下扩展,将txt改名为jar,替换原扩展里chrome下的同名文件。我再想办法签名。
linkalert.txtlink_alert-1.0.6-fx - 副本.xpi |
|
1楼#
发布于:2017-01-06 13:30
|
|
|
2楼#
发布于:2017-01-06 13:24
|
|
3楼#
发布于:2017-01-06 00:49
META-INF 里面保存了签名的校验数据
修改已签名扩展时如果没删掉 META-INF 就直接打包 xpi 的话 会因为校验错误导致 firefox 提示扩展损坏 这和扩展未签名的提示不同 你试一下就知道了 因为 unpack 为 true 原版 link alert 在安装后会解开 xpi 可能 firefox 在处理这种类型时有 bug 才导致“当时可以生效,但是一天后会提示签名失效” 正确的应该是改动后就立即提示签名失效并禁用扩展才对 java 那张图太大了 link alert 的选项也会调用这张图 而且没有设定大小 替换后 link alert 的选项会被撑变形的 就算你喜欢 java 的图标……还是调下大小吧 滥用系统扩展大法和 autoconfig 大法不同 不需要额外添加任何 js 文件 也不会破坏 firefox 的签名校验机制 但是有明显的缺陷:不显示在 about:addons,没法使用 inline option 模式 不过对于你这个仅仅是替换某个扩展的图片的需求来说 正好完美适合 只要把那个 linkalert.icons@hill.xpi 放到 firefox 安装目录下的 browser\features 就行 通过 about:support 列出的扩展项来确认加载 关于 jar,看这个 https://developer.mozilla.org/en-US/docs/Extensions/Updating_extensions_for_Firefox_4#XPI_unpacking 所以我说这个扩展结构太过时 不过看它还要支持 firefox 3,那也没办法就是了 对于当前版本来说就没必要在 xpi 内部再打个 jar 包了 改动在 chrome.manifest 你 diff 一下就明白 参考文档 https://developer.mozilla.org/en-US/docs/Chrome_Registration linkalert.icons@hill.xpi 是利用 override 实现的 linkalert 的 chrome.manifest 注册了 chrome://linkalert/skin/ 开头的路径,指向 jar 内的 skin 目录 override 后 当 firefox 需要访问路径 chrome://linkalert/skin/ 下特定文件时 会使用新扩展 chrome.manifest 中注册的路径 b 来替换 并不是直接调用 jar 里面的文件 文档还是看上面那个链接 |
|
|
4楼#
发布于:2017-01-05 14:42
|
|
5楼#
发布于:2017-01-05 12:50
hill:非常非常感谢各位。这个扩张确实有些原始,如果用stylish几行就能实现。我是看中他的规则写的相对准确一些,我是完全不会。然而他的图片太辣眼,我修改扩展的目的也是为了替换10组icon。javascript图标只是因为我喜欢咖啡杯,觉得特别...回到原帖007已经把该做的都做完了, 而且unpack已被禁用, 如果作者升级, 扩展文件结构没变化的话, 直接解压linkalert.jar出来放到与defaults同级路径, 用007的xpi中的chrome.manifest, install.rdf替换作者的同名文件, 压缩成xpi, 重新签名, 哦, 还有你修改的图片吧. PS 看来我的可信度较低啊, 太伤感了... PPS 007为你做了这么多 也不说点个喜欢 太说不过去啦 ![]() PPPS 理论上 签名文件会被自动替换 但也不排除上传zip或xpi失败的可能, 所以建议删除. PPPPS @fiag @fang5566 貌似论坛的回复按钮点击不了了?必须得点高级模式->发布? |
|
6楼#
发布于:2017-01-05 02:52
已将aaaa007cn的版本签名,非常的好用。想请教一下jar文件实际上是没有用处的是吗?
因为我看到你修改的扩展直接去除了打包jar的环节。去除jar打包是对哪个文件进行修改了呢?我想知道一下,这样以后扩展升级了,我就知道怎么改了。 而你做的linkalert.icons@hill.xpi直接可以调用jar里的文件。 |
|
7楼#
发布于:2017-01-05 02:45
已将aaaa007cn的版本签名,非常的好用。想请教一下jar文件实际上是没有用处的是吗?
因为我看到你修改的扩展直接去除了打包jar的环节。去除jar打包是对哪个文件进行修改了呢?我想知道一下,这样以后扩展升级了,我就知道怎么改了。 而你做的linkalert.icons@hill.xpi直接可以调用jar里的文件。 |
|
8楼#
发布于:2017-01-05 01:53
非常非常感谢各位。这个扩张确实有些原始,如果用stylish几行就能实现。我是看中他的规则写的相对准确一些,我是完全不会。然而他的图片太辣眼,我修改扩展的目的也是为了替换10组icon。javascript图标只是因为我喜欢咖啡杯,觉得特别有特色。大小懒得调成32和16的了,因为指示的时候是可以自动缩小的。
ff的签名验证机制真是佩服。我当时直接改linkalert.conlan@addons.mozilla.com路径内的icon,当时可以生效,但是一天后会提示签名失效。这种验证方式真厉害。 ls给linkalert配个扩展的方法确实厉害。免签名的方法就是5楼兄弟说的方法吗? 另外总结各位所说我之所以没打包成xpi,原因是因为没有删除META-INF 目录吗? |
|
9楼#
发布于:2017-01-05 00:20
对了
原版图标中的 jsp-icon.png 其实指的是 javascript: 协议 并不是 JavaServer Pages 的 jsp 见 chrome/content/overlay.js 不要用那个巨大的 java 图标 你自己改吧 |
|
|
10楼#
发布于:2017-01-05 00:08
修改已正确签名的扩展时
请记得先删掉 META-INF 目录 你大概没这么做吧 link alert 目录结构太过时了 外加 unpack 属性为 true 导致 xpi 安装后被解压缩 已作修改 diff 了你修改的 jar 只是改动了几张图片? 这种情况不需要改动原扩展 新建扩展直接 override 相关路径即可 然后去签名这个新扩展或者直接滥用系统扩展大法免签都可 参考附件的 linkalert.icons@hill.xpi |
|
|
11楼#
发布于:2017-01-04 23:38
|
|
12楼#
发布于:2017-01-04 23:04
签名好说,关键是打包不了xpi。先用的winrar,后来用tc自带的7z插件,今天上午专门装了7z。三种方法都是过来,装的时候都说损坏。
|
|
13楼#
发布于:2017-01-04 22:29
hill:多谢,但我有两个问题。关于签名,你可以看着两个帖子。 https://www.firefox.net.cn/read-50839 https://www.firefox.net.cn/read-53524 |
|
14楼#
发布于:2017-01-04 19:57
你用的解压软件太垃圾的缘故吧,总之7z是可以完美支持xpi和jar格式资源替换的
在7z GUI里打开到相应文件路径,把要替换的文件拖拽出来改完了再直接拖拽回去更新压缩文件就搞定了 签名是另外的问题,楼上有解决方案 |
|
|
上一页
下一页