使用 PHP 按需创建 .CRX(chrome 扩展 / webapp)文件
我需要即时创建 CRX 文件。它适用于我的 CMS 后端,因此它仅适用于经过身份验证的用户,他们可以将 CMS 后端安装为 Web 应用程序并为 Web 应用程序提供更多权限。问题是,后端用于许多域,因此为每个域创建 CRX 文件是一项相当艰巨的工作。所以我认为按需创建 CRX 文件会更容易,该文件将由 PHP 使用自己的域和可能的自定义图标生成。
I need to create CRX file on the fly. It's for my CMS backend, so it will be just for authenticated users who can install CMS backend as webapp and offer some more privileges to the web app. The problem is, that the backend is used for many domains so creating CRX file for each of them is quite a work. So I figured that it would be easier to just create CRX file on demand which would be generated by PHP using its own domain and probably custom icon.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在文档页面上,他们解释了 CRX 包格式。有许多第三方库实现了该格式。在接下来的页面中,您可以了解该格式并下载 Ruby / Bash 脚本(您也可以在网上找到其他脚本),如果您想实现自己的打包器,您可以遵循此处描述的格式。
https://developer.chrome.com/extensions/crx
如果您确实不想按照格式,您可以让 PHP 脚本执行以下操作之一:
chrome.exe --pack-extension=c:\myext --pack-extension-key=c:\myext.pem< /code>
希望有帮助!
On the documentation page, they explain the CRX package format. There are many third party libraries that implemented that format. In the following page, you can learn the format and either download a Ruby / Bash script (you can find others too online), and if you want to implement your own packager, you can follow the format described there.
https://developer.chrome.com/extensions/crx
If you really don't want to follow the format, you can let your PHP script do one of the following:
chrome.exe --pack-extension=c:\myext --pack-extension-key=c:\myext.pem
Hope that helps!
另外,对于仍在寻找在 PHP 中创建 CTX 的方法的任何人,请查看以下问题:使用 PHP 创建 Google Chrome Crx 文件
Also, for anyone still looking for a way to create a CTX in PHP, look at this question: Create Google Chrome Crx file with PHP
这对我有用:DI 只是从真实路径更改为 null,否则更改将无法在新的 chrome 上工作:D
/**
* 类Crx生成器
*
* 从以下位置创建 Chrome 扩展 CRX 包
* 文件夹& pem 私钥
*
* 基于 CRX 格式文档:http://developer.chrome.com/extensions/crx.html< /a>
*
* @作者:托马斯·巴纳西亚克
* @许可证:麻省理工学院
* @日期:2013-11-03
*/
类 CrxGenerator {
const TEMP_ARCHIVE_EXT = '.zip';
}
This works for me :D I just change from real path to null without that changes won't work on new chrome :D
/**
* Class CrxGenerator
*
* Create Chrome Extension CRX packages from
* folder & pem private key
*
* Based on CRX format documentation: http://developer.chrome.com/extensions/crx.html
*
* @author: Tomasz Banasiak
* @license: MIT
* @date: 2013-11-03
*/
class CrxGenerator {
const TEMP_ARCHIVE_EXT = '.zip';
}
看起来我已经找到了我正在寻找的东西。 Chrome 团队提供此选项是为了创建无 CRX 的网络应用,只需通过使用简单的清单文件。
创建自己的 Web 应用程序并将其发布到网站上进行安装要容易得多。当我有很多网站有很多域并且我不必为每个域创建自定义 CRX 文件时,它也解决了我的问题。我只是创建一个小的 PHP 脚本,它为每个域动态创建清单文件。
Looks like I have found exactly what I was looking for. Chrome team has made this option to create CRX-less web apps, just by using simple manifest file.
Much easier to create own webapp and publish it on website for installation. And it also solves my problem when I have many websites with a lot of domains and I don't have to create custom CRX file for each domain. I just create small PHP script which creates manifest files on the fly for each domain.