web-dev-qa-db-fra.com

Comment télécharger un fichier CRX à partir de la boutique en ligne Chrome pour un identifiant donné?

Je souhaite télécharger le fichier .crx d'une extension à partir de la boutique en ligne. J'utilise fiddler pour analyser la demande réseau lorsque j'installe une extension à partir de la boutique en ligne.
Par exemple, pour l’extension: https://chrome.google.com/webstore/detail/bjclhonkhgkidmlkghlkiffhoikhaajg
le lien de téléchargement est:

https://clients2.googleusercontent.com/crx/download/OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA/extension_1_7_11.crx
Je me demande maintenant s'il existe une méthode universelle pour obtenir l'extension .crx. Le problème est de savoir comment le cryptage Google

bjclhonkhgkidmlkghlkiffhoikhaajgname__

dans

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA?

toute idée sera utile.

61
wong2

Pour l'une de mes extensions, je devais télécharger d'autres CRX en ne connaissant que l'ID de l'extension. J'ai résolu ceci en ouvrant l'URL suivante:

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

cette page vous redirigera vers cette adresse https://clients2.googleusercontent.com/crx/download/.

Je ne me souviens pas déjà de la façon dont j'ai créé cette URL (que ce soit dans le code source ou quelque part, j'ai utilisé sniffer le réseau), mais cela fonctionne très bien pour moi depuis décembre dernier, donc cela semble fiable.

28
serg

Le fichier CRX lui-même peut être directement téléchargé à partir de
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&acceptformat=crx2,crx3&x=id%3D[EXTENSIONID]%26uc

  • [PRODVERSION] est la version de Chrome, qui doit être au moins 31.0.1609.0 , et
  • [EXTENSIONID] est l'ID de l'extension

(Nouveau en 2018)acceptformat=crx2,crx3 demande au serveur de répondre également avec des extensions au format au format CRX3 (au lieu de 204 sans contenu lorsque l'extension n'est pas disponible en tant que CRX2).

Si l'extension que vous utilisez contient des modules spécifiques au système d'exploitation (par exemple, NaCl), vous devez ajouter des paramètres supplémentaires (os, Arch, nacl_Arch).

Pour connaître la logique complète de génération d'une URL de téléchargement CRX complète, voir la fonction get_crx_url dans https://github.com/Rob--W/crxviewer/blob/master/src/cws_pattern.js .

Il s'agit d'une partie de l'extension Chrome Extension Source Viewer, disponible dans le Chrome Web Store: https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin


Notez que l'ouverture de l'URL précédente dans Chrome déclenchera pas un téléchargement, car Chrome intercepte automatiquement les réponses dont le code Content-Type est défini sur application/x-chrome-extension. Si vous souhaitez télécharger par programme le fichier crx dans une extension Chrome, définissez le type MIME sur application/octet-stream (par exemple, comme indiqué dans src/lib/crx-to-Zip.js ).

77
Rob W

Il y a ce site juste pour faire exactement cela:

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

45
John Kentucky

J'ai écrit un petit script python pour automatiser ce processus que @serg @Rob W

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

vous pouvez l'utiliser aussi.

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

C'est comme ça que vous devez utiliser.

3
arulraj.net

Aussi, je recommande d'essayer ce site Web http://crxextractor.com . Ici, vous pouvez télécharger une extension à l'aide de son URL Chrome Webstore et extraire son code source dans le navigateur, aucun logiciel supplémentaire n'est requis, etc. se faire en un clic ou deux.

2
Vladimir Ignatyev

C’est une façon moins technique de le faire que d’utiliser un violoniste, et j’ai conscience que cela fait trois ans maintenant, mais j’ai toujours cherché si quelqu'un d’autre avait résolu le problème. J'ai donc trouvé quelqu'un et j'ai utilisé sa solution plusieurs fois avec succès. Leur solution est une extension qui peut télécharger d’autres extensions, appelée Give Me CRX:

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

2
Bewc

Créez un signet, ajoutez la fonction javascript comme adresse. Accédez à l’extension chrome que vous souhaitez télécharger, puis cliquez sur le signet.

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"); })();

Merci 

2
Zalmy

Vous pouvez utiliser le modèle d'URL ci-dessous,

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

La PRODVERSION est la version de Chrome. (récupérez-le dans les paramètres -> Aide -> À propos de Google Chrome) . Ex: Version 69.0.3497.100 (Version officielle) (64 bits)

Le EXTENSIONID est l'identifiant de l'extension. Ex: voici un exemple de plug-in, https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji?hl=fr l'id est hmhgeddbohgjknpmjagkdomcpobmllji

Exemple de demande de téléchargement: https://clients2.google.com/service/update2/crx?response=redirect&prodversion=69.0.3497.100&x=id%3Dhmhgeddbohgjknpmjagkdomcpobmllji%26uc }

0
prime

Pour télécharger l'extension chrome à partir d'un identifiant donné, vous pouvez simplement l'utiliser comme ceci

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

La précédente est l'URL de téléchargement de l'extension chrome. Il existe également une extension chrome qui pourrait vous aider à télécharger l’extension chrome en tant que fichier Zip ou crx . https://chrome.google.com/webstore/detail/ crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

De plus, le code expliquant comment cela est fait est disponible dans ce rapport Github

0
Ashokkumar

Aucune des manières manuelles dans ce post ne fonctionne pour moi, alors j'ai cherché une URL pour télécharger l'extension directement.

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

Vous devez remplacer ### EXTENSION_ID ### par l'identifiant d'extension du magasin chrome . C'est sa partie de l'URL.

Exemple Google Translate Extension:

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