주어진 ID에 대해 Chrome 웹 스토어에서 CRX 파일을 다운로드하는 방법은 무엇입니까?
웹 스토어에서 확장 프로그램의 .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는
GET .crx로 확장의에 대한 보편적 인 방법이 있다면 지금은 궁금하네요 문제는 구글을 어떻게했는지입니다 암호화
bjclhonkhgkidmlkghlkiffhoikhaajg
으로
OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA ?
어떤 아이디어라도 도움이 될 것입니다.
내 확장 중 하나의 경우 확장 ID 만 알고있는 다른 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 (어딘가에있는 페이지 소스에 있었거나 네트워크 스니퍼를 사용 했음)을 어떻게 생각해 냈는지 이미 기억이 나지 않지만 작년 12 월부터 잘 작동했기 때문에 안정적으로 보입니다.
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 형식의 확장으로도 응답하도록 지시 합니다 (확장을 CRX2로 사용할 수없는 경우 204 No Content 대신).
사용중인 확장 OS 특정 모듈 (예 : 염화나트륨)을 포함하는 경우, 당신은 추가 매개 변수를 추가해야합니다 ( os, arch, nacl_arch).
완전한 CRX 다운로드 URL을 생성하는 전체 로직은 https://github.com/Rob--W/crxviewer/blob/master/src/cws_pattern.js 의 get_crx_url함수를 참조하십시오 .
이것은 Chrome 웹 스토어 ( https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin) 에서 사용할 수있는 Chrome 확장 소스 뷰어 확장 프로그램의 일부입니다.
Chrome에서 로 설정된 응답을 자동으로 가로 채기 때문에 Chrome 에서 이전 URL을 열면 다운로드가 트리거 되지 않습니다 . Chrome 확장 프로그램에서 crx 파일을 프로그래밍 방식으로 다운로드하려면 MIME 유형을로 변경하십시오 (예 :에서 수행됨 ).Content-Typeapplication/x-chrome-extensionapplication/octet-streamsrc/lib/crx-to-zip.js
바로이 웹 사이트가 있습니다.
http://chrome-extension-downloader.com/
@serg @Rob W를 처리하는 과정을 자동화하기 위해 작은 파이썬 스크립트를 작성했습니다.
https://gist.github.com/arulrajnet/2424bc1ffc40324f3786
그것도 사용할 수 있습니다.
python ChromeAppDownloader.py -u https://chrome.google.com/webstore/detail/google-maps/lneaknkopdijkpnocmklfnjbeapigfbh
이것이 당신이 사용해야하는 방법입니다.
북마크를 만들고 javascript 기능을 주소로 추가합니다. 다운로드하려는 크롬 확장 프로그램을 찾은 다음 북마크를 클릭하면 다운로드가 시작됩니다.
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"); })();
감사
이것은 피들러를 사용하는 것보다 덜 기술적 인 방법이며, 지금은 3 년이 된 것을 알고 있지만 다른 사람이 문제를 해결했는지 항상 확인합니다. 그래서 누군가 그랬다는 것을 알았고 그들의 솔루션을 여러 번 성공적으로 사용했습니다. 그들의 솔루션은 Give Me CRX라는 다른 확장을 다운로드 할 수있는 확장입니다.
https://chrome.google.com/webstore/detail/give-me-crx/acpimoebmfjpfnbhjgdgiacjfebmmmci
또한이 웹 사이트 http://crxextractor.com 을 사용해 보는 것이 좋습니다 . 여기에서 Chrome Webstore URL로 확장 프로그램을 다운로드하고 브라우저에서 소스 코드를 추출 할 수 있으며 추가 소프트웨어가 필요하지 않으며 모든 작업이 한두 번의 클릭으로 완료됩니다.
아래 URL 템플릿을 사용할 수 있습니다.
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&x=id%3D[EXTENSIONID]%26uc
PRODVERSION은 크롬 버전입니다. (설정-> 도움말-> Google 크롬 정보에서 가져옵니다). 예 : 버전 69.0.3497.100(공식 빌드) (64 비트)
EXTENSIONID는 확장의 ID입니다. 예 : 다음은 샘플 플러그인입니다. https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji?hl=ko ID는hmhgeddbohgjknpmjagkdomcpobmllji
따라서 다운로드 요청 샘플은 https://clients2.google.com/service/update2/crx?response=redirect&prodversion=69.0.3497.100&x=id%3Dhmhgeddbohgjknpmjagkdomcpobmllji%26uc입니다.
이 게시물의 수동 방법 중 어느 것도 나를 위해 작동하지 않으므로 확장 프로그램을 직접 다운로드하기 위해 URL을 검색했습니다. 이것을 찾아 저에게 완벽하게 작동합니다.
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3D###EXTENSION_ID###%26installsource%3Dondemand%26uc
You must replace ###EXTENSION_ID### with the extension id from the chrome shop. Its part of the URL.
Example Google Translate Extension:
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3Daapbdbdomjkkjkaonfhkkikfgjllcleb%26installsource%3Dondemand%26uc
To download the chrome extension from a given id, you could just use like this
var currentEXTId = 'bjclhonkhgkidmlkghlkiffhoikhaajg';
let downloadURL = https://clients2.google.com/service/update2/crx?response=redirect&x=id%3D" + currentEXTId + "%26uc&prodversion=32;
The above one is the download URL for the chrome extension. There is also a chrome extension which could help you for downloading chrome extension as zip or crx file.https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda
Also the code for how its done is available in this Github repo
'Nice programing' 카테고리의 다른 글
| 패턴과 일치하거나 빈 문자열 인 정규식 (0) | 2020.11.19 |
|---|---|
| Java에서 일반적인 예외를 던지는 방법은 무엇입니까? (0) | 2020.11.19 |
| Android에서 이름으로 드로어 블 리소스에 액세스하는 방법 (0) | 2020.11.19 |
| 목록 이외의 유형에 대해 접기를 구성하는 것은 무엇입니까? (0) | 2020.11.19 |
| 오류 : 알 수없는 유형 이름 'bool' (0) | 2020.11.19 |