Как скачать файл CRX из интернет-магазина Chrome для данного идентификатора? - PullRequest
62 голосов
/ 25 августа 2011

Я бы хотел загрузить .crx файл расширения из интернет-магазина, я использую 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 расширения, проблема в том, как Google шифрование

bjclhonkhgkidmlkghlkiffhoikhaajg

в

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA?

любая идея будет полезна.

Ответы [ 10 ]

85 голосов
/ 31 декабря 2012

Сам файл CRX можно напрямую загрузить с
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=<b>[PRODVERSION]</b>&<b>acceptformat=crx2,crx3</b>&x=id%3D<b>[EXTENSIONID]</b>%26uc

  • [PRODVERSION] - это версия Chrome, которая должна быть как минимум 31.0.1609.0 по крайней мере и
  • [EXTENSIONID] - это идентификатор расширения

(Новое в 2018 г.) acceptformat=crx2,crx3 указывает серверу также отвечать расширениями в формате CRX3 (вместо 204 Нет содержимого, когда расширение недоступно как CRX2) .

Если используемое расширение содержит специфичные для ОС модули (например, NaCl), то вам необходимо добавить дополнительные параметры (os, arch, nacl_arch).

Полную логику генерации полного URL загрузки CRX см. В функции get_crx_url в https://github.com/Rob--W/crxviewer/blob/master/src/cws_pattern.js.

Это часть расширения просмотра исходного кода Chrome, доступного в Интернет-магазине Chrome: https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin


Обратите внимание, что открытие предыдущего URL в Chrome не инициирует загрузку, поскольку Chrome автоматически перехватывает ответы, для которых Content-Type имеет значение application/x-chrome-extension. Если вы хотите программно загрузить файл crx с расширением Chrome, измените MIME-тип на application/octet-stream (например, как это сделано в src/lib/crx-to-zip.js).

47 голосов
/ 05 марта 2014

Этот сайт предназначен только для этого:

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

28 голосов
/ 25 августа 2011

Для одного из моих расширений мне пришлось автоматически загружать другие CRX, зная только идентификатор расширения. Я решил это, открыв следующий 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 (он был где-то в исходном коде страницы или я использовал сетевой анализатор), но он отлично работает для меня с декабря прошлого года, поэтому он выглядит надежным.

4 голосов
/ 26 ноября 2014

Я написал небольшой скрипт на python для автоматизации этого процесса. @Serg @Rob W

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

Вы также можете использовать это.

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

Этоэто то, как вы должны использовать.

2 голосов
/ 26 января 2017

Кроме того, я рекомендую попробовать этот веб-сайт http://crxextractor.com. Здесь вы можете скачать расширение по URL-адресу интернет-магазина Chrome и извлечь его исходный код в браузере, никакого дополнительного программного обеспечения не требуется, и все будет сделано в один клик илидва.

2 голосов
/ 05 ноября 2014

Это менее технологичный способ сделать это, чем использовать fiddler, и я понимаю, что сейчас три года, но я всегда смотрю, чтобы решить, решил ли кто-то еще проблему.Так что я нашел, что кто-то сделал, и я просто успешно использовал их решение несколько раз.Их решением является расширение, которое может загружать другие расширения, называемое Give Me CRX:

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

2 голосов
/ 10 апреля 2014

Создать закладку и добавить функцию 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"); })();

Спасибо

0 голосов
/ 21 марта 2019

Чтобы загрузить расширение chrome с заданного идентификатора, вы можете просто использовать вот так

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

Вышеуказанный URL-адрес является расширением для расширения chrome.Существует также расширение chrome, которое может помочь вам загрузить расширение chrome в виде файла zip или crx. https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

Также в этом Github repo * 1009 представлен код для его выполнения.*

0 голосов
/ 20 сентября 2018

Вы можете использовать следующий шаблон 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 идентификатор: hmhgeddbohgjknpmjagkdomcpobmllji

Таким образом, пример запроса на скачивание будет https://clients2.google.com/service/update2/crx?response=redirect&prodversion=69.0.3497.100&x=id%3Dhmhgeddbohgjknpmjagkdomcpobmllji%26uc

0 голосов
/ 07 августа 2018

Ни один из способов вручную в этом посте не работает для меня, поэтому я искал URL для прямой загрузки расширения. Найдите это и отлично подойдет для меня.

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

Вы должны заменить ### EXTENSION_ID ### идентификатором расширения из магазина Chrome. Его часть URL.

Пример расширения Google Translate:

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