如何从Chrome网上商店下载一个CRX文件为给定的ID



我想从webstore下载一个扩展的。crx文件,当我从webstore安装一个扩展并得到它时,我使用fiddler来分析网络请求。
例如,对于扩展名:https://chrome.google.com/webstore/detail/bjclhonkhgkidmlkghlkiffhoikhaajg
下载链接:

https://clients2.googleusercontent.com/crx/download/OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA/extension_1_7_11.crx
现在我想知道是否有一个通用的方法来获取扩展名的。crx,问题是谷歌如何加密

bjclhonkhgkidmlkghlkiffhoikhaajg

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA ?

任何想法都会有帮助的。

CRX文件本身可以直接从
下载https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&acceptformat=crx2,crx3&x=id%3D[EXTENSIONID]%26uc

  • [PRODVERSION]是Chrome的版本,它必须是31.0.1609.0 至少,和
  • [EXTENSIONID]是扩展名的ID

(2018年新增) acceptformat=crx2,crx3指示服务器也以CRX3格式的扩展响应(而不是204 No Content,当扩展不可用于CRX2时)。

如果您使用的扩展包含特定于操作系统的模块(例如NaCl),那么您必须添加额外的参数(os, arch, nacl_arch)。

生成完整的CRX下载URL的完整逻辑请参见https://github.com/Rob--W/crxviewer/blob/master/src/cws_pattern.js中的get_crx_url函数。

这是Chrome扩展源查看器扩展的一部分,可在Chrome网络商店:https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin


请注意,在Chrome中打开以前的URL将而不是触发下载,因为Chrome会自动拦截Content-Type设置为application/x-chrome-extension的响应。如果你想在Chrome扩展中以编程方式下载crx文件,请将mime类型更改为application/octet-stream(例如在src/lib/crx-to-zip.js中完成)。

对于我的一个扩展,我必须下载其他CRXs自动只知道扩展ID。我通过打开以下URL解决了这个问题:

http://clients2.google.com/service/update2/crx?response=redirect&x=id%3D<EXTENSION_ID_HERE>%26uc%26lang%3Den-US&prod=chrome

本页将把您转到https://clients2.googleusercontent.com/crx/download/地址。

我已经不记得我是如何想出这个URL的(它要么是在页面源代码的某个地方,要么是我使用网络嗅探器),但它自去年12月以来一直为我工作得很好,所以它看起来很可靠。

我写了一个小的python脚本来自动化这个过程@serg @Rob W

https://gist.github.com/arulrajnet/2424bc1ffc40324f3786

你也可以用这个

python ChromeAppDownloader.py -u https://chrome.google.com/webstore/detail/google-maps/lneaknkopdijkpnocmklfnjbeapigfbh

你必须这样使用。

你可以使用下面的URL模板,

https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&x=id%3D[EXTENSIONID]%26uc

PRODVERSION是Chrome版本。(从设置->帮助->关于谷歌浏览器)。版本69.0.3497.100(官方版本)(64位)

EXTENSIONID是扩展的id。例如:这是一个示例插件,https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji?hl=en id是hmhgeddbohgjknpmjagkdomcpobmllji

所以下载的示例请求将是https://clients2.google.com/service/update2/crx?response=redirect&prodversion=69.0.3497.100&x=id%3Dhmhgeddbohgjknpmjagkdomcpobmllji%26uc

另一种获取crx文件的方法。

  1. 复制扩展名的url,例如:https://chrome.google.com/webstore/detail/tiff-viewer/fciggfkkblggmebjbekbebbcffeacknj?hl=es

  2. 在网站http://crxextractor.com/

  3. 点击"START FOR free"选项。

  4. 将扩展名的url粘贴到文本框中

  5. 点击"下载"选项。

  6. 点击"GET . crx "选项。

这是一种比使用fiddler更低技术含量的方法,我意识到这是三年前的事了,但我总是看看别人是否已经解决了这个问题。所以我发现有人这么做了,我只是成功地使用了他们的解决方案几次。他们的解决方案是一个扩展,可以下载其他扩展,称为给我CRX:

https://chrome.google.com/webstore/detail/give-me-crx/acpimoebmfjpfnbhjgdgiacjfebmmmci

要从给定id下载chrome扩展,您可以使用如下命令

var currentEXTId = 'bjclhonkhgkidmlkghlkiffhoikhaajg';    
let downloadURL = https://clients2.google.com/service/update2/crx?response=redirect&x=id%3D" + currentEXTId + "%26uc&prodversion=32;

上面一个是chrome扩展的下载URL。还有一个chrome扩展,可以帮助您下载chrome扩展作为zip或crx文件。https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

也可以在这个Github repo

中找到如何完成的代码

创建书签,添加javascript函数作为地址。浏览到你想下载的chrome扩展,然后点击书签,它应该开始下载。

javascript:(function(){
    var pathname = location.pathname;pathArray = pathname.split("/");   
    location = ("http://clients2.google.com/service/update2/crx?response=redirect&x=id"+"%" + "3D" + pathArray[pathArray.length -1]+"%" + "26uc%" + "26lang%" + "3Den-US&prod=chrome"); })();

谢谢

另外,我建议尝试这个网站http://crxextractor.com。在这里,您可以通过它的Chrome Webstore URL下载扩展,并在浏览器中提取它的源代码,不需要额外的软件,一切都在点击一两下完成。

这适用于Microsoft Edge Chromium:

https://edge.microsoft.com/extensionwebstorebase/v1/crx?response=redirect&prod=chromiumcrx&prodchannel=&x=id%3D<EXTENSION_ID_HERE>%26installsource%3Dondemand%26uc 

我制作了一个简单的Python脚本,用于从Chrome Web Store下载扩展作为CRX文件:

它没有外部依赖,可以与Python 2或Python 3一起使用。

感谢Rob W提供的原始解决方案。

这篇文章中没有任何手动方式适合我,所以我搜索了一个URL来直接下载扩展。找到这个和工作完美的我。

https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3D###EXTENSION_ID###%26installsource%3Dondemand%26uc

您必须将###EXTENSION_ID###替换为chrome商店中的扩展id。它是URL的一部分。

示例Google翻译扩展:

https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3Daapbdbdomjkkjkaonfhkkikfgjllcleb%26installsource%3Dondemand%26uc

您使用https://www.crx4chrome.com/和搜索您的扩展名,它也有该扩展名的不同版本,一旦您点击它下载。crx文件

相关内容

  • 没有找到相关文章

最新更新