如何从Chrome网上应用店下载特定ID的CRX文件?

时间:2011-08-25 03:22:26

标签: google-chrome google-chrome-extension download chrome-web-store

我想从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
现在我想知道是否有扩展的get .crx的通用方法,问题是Google加密是怎么做的

bjclhonkhgkidmlkghlkiffhoikhaajg

进入

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA

任何想法都会有所帮助。

14 个答案:

答案 0 :(得分:83)

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指示服务器也使用the CRX3 format中的扩展名进行回复(当扩展程序不可用作CRX2时,而不是204 No Content)。

如果您使用的扩展包含特定于操作系统的模块(例如NaCl),则必须添加其他参数(osarchnacl_arch)。

有关生成完整CRX下载网址的完整逻辑,请参阅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中打开上一个网址会触发下载,因为Chrome会自动拦截Content-Type设置为application/x-chrome-extension的回复。如果您想以编程方式下载Chrome扩展程序中的crx文件,请将MIME类型更改为application/octet-stream(例如,如src/lib/crx-to-zip.js中所述)。

答案 1 :(得分:47)

这个网站就是这样做的:

http://chrome-extension-downloader.com/

答案 2 :(得分:28)

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

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月以来它一直很适合我,所以它看起来很可靠。

答案 3 :(得分:4)

我编写了一个小的python脚本来自动执行@serg @Rob W

的过程

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

你也可以使用它。

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

这是您必须使用的方式。

答案 4 :(得分:2)

创建书签添加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"); })();

谢谢

答案 5 :(得分:2)

这是一种较低技术的方式,而不是使用小提琴手,我意识到这已经有三年了,但我总是想看看是否其他人已经解决了这个问题。所以我发现有人做了,我只是成功地使用了他们的解决方案几次。他们的解决方案是一个可以下载其他扩展的扩展,名为Give Me CRX:

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

答案 6 :(得分:2)

此外,我建议您尝试使用此网站http://crxextractor.com。 在这里,您可以通过它的Chrome Webstore URL下载扩展程序,并在浏览器中提取它的源代码,无需其他软件,只需点击一两下即可完成所有操作。

答案 7 :(得分:1)

我制作了一个简单的 Python script,用于从 Chrome 网上应用店下载扩展程序作为 CRX 文件:

它没有外部依赖,适用于 Python 2 或 3。

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

答案 8 :(得分:0)

本文中没有一种手动方式对我有用,因此我搜索了一个URL,以直接下载扩展名。 找到这个,对我来说很完美。

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

您必须使用chrome shop的扩展程序ID替换### EXTENSION_ID ###。 它是网址的一部分。

Google翻译扩展示例:

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

答案 9 :(得分:0)

您可以使用以下URL模板,

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

PRODVERSION 是Chrome版本。 (从设置->帮助->关于Google Chrome浏览器获取)。 例如:版本69.0.3497.100(正式版本)(64位)

EXTENSIONID 是扩展名。 例如:这是一个示例插件,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

答案 10 :(得分:0)

要从给定的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

中也提供了有关其完成方式的代码

答案 11 :(得分:0)

这适用于 Microsoft Edge Chromium:

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

答案 12 :(得分:0)

您使用 https://www.crx4chrome.com/ 并搜索您的扩展程序,它也有该扩展程序的不同版本,单击它下载 .crx 文件

答案 13 :(得分:0)

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

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

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

  3. 点击“免费开始”选项。

  4. 将扩展程序的网址粘贴到文本框中。

  5. 点击“下载”选项。

  6. 点击“GET .CRX”选项。