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
bjclhonkhgkidmlkghlkiffhoikhaajg
name__
dans
OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA
?
toute idée sera utile.
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.
Le fichier CRX lui-même peut être directement téléchargé à partir dehttps://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&acceptformat=crx2,crx3&x=id%3D[EXTENSIONID]%26uc
(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
).
Il y a ce site juste pour faire exactement cela:
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.
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.
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
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
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 }
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
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