주어진 ID에 대해 Chrome 웹 스토어에서 CRX 파일을 다운로드하는 방법은 무엇입니까?


81

웹 스토어에서 확장 프로그램의 .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 ?

어떤 아이디어라도 도움이 될 것입니다.


2
우리가 아는 한, 실제 매핑이없는 데이터베이스 어딘가에 저장된 두 개의 난수 일 수 있습니다. 왜 이것을 원합니까? 사이트에서 모든 확장을 기계적으로 긁어 내고 싶습니까?
Rup

1
또한 웹 스토어를 통해 모든 Chrome 확장 프로그램의 소스 .crx 파일을 얻기 위해 Google 크롬 확장 프로그램 인 'Give Me CRX'를 사용할 수 있습니다. 추신 :이 확장 프로그램을 만들고 게시했습니다. 확장 링크 : Give Me CRX (Chrome 확장 프로그램)
iAnuj

답변:


30

내 확장 프로그램 중 하나의 경우 확장 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 월부터 잘 작동했기 때문에 안정적으로 보입니다.


1
"확장 갤러리 및 웹 스토어 검사기"의 개발자입니까? 매우 감사합니다!
wong2

16
Google이 최근에 무언가를 변경 한 것으로 보이며이 접근 방식은 더 이상 작동하지 않습니다 (204 반환). 누구든지 무엇이 바뀌 었는지 아십니까? chrome-extension-downloader.com의 작성자가 문제를 수정 한 것으로 보이지만 문서를 업데이트하지 않았습니다.
Matthew Gertner 2014-06-19

5
더 이상 작동하지 않습니다. 나는 204 No Content. 심지어 교체 후 %3D=%26함께 &.
Dan Dascalescu

8
이 URL이 더 이상 작동하지 않음을 확인하면 나도 알 수 204 No Content있습니다. PRODVERSION에 대한 답변을 참조하십시오.
i336_

1
: 여기 네이티브 및 비 네이티브 확장을위한 그 작품을 사용하는 하나 https://clients2.google.com/service/update2/crx?response=redirect&os=linux&arch=x86-64&nacl_arch=x86-64&prod=chromiumcrx&prodchannel=unknown&prodversion=49.0.2623.108&x=id%3D{ID}%26uc{ID}확장 ID되고.
damio

113

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.jsget_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


1
참고 : 일부 확장에는 추가 쿼리 문자열 매개 변수가 필요한 NaCl 모듈이 포함되어 있습니다. URL 구성에 대해서는 내 crxviewer 확장의 소스 코드를 참조하십시오. github.com/Rob--W/crxviewer/commit/…
Rob W

Chrome이이 URL을 열려고 시도하는 동안 문제가 발생했습니다. Windows를 사용하는 경우 IE에서 열면 문제없이 다운로드 할 수 있습니다.
craastad 2013 년

@craastad Chrome은 파일을 확장자로 인식하기 때문입니다. Chrome / Opera에서 확장 프로그램의 소스 코드에 쉽게 액세스 하려면 Chrome 확장 소스 뷰어 확장 프로그램 을 설치하십시오 .
롭 W

인터넷 이방인 여러분, 신의 축복을 빕니다. 이것은이 댓글의 시점에서 작동합니다. 내가 가진 이전 URL은 일부 URL에서만 작동했지만 전부는 아닙니다. 이것은 그것을 해결했습니다 : D
BBerastegui

이것은 CRX를 얻기 위해 타사 웹 사이트 또는 확장을 신뢰하지 않고도 Microsoft Edge (Chromium)에 테마를 설치하는 데 사용할 수 있습니다. 지정된대로 URL을 주소 표시 줄에 직접 입력하면 Edge가 나머지 작업을 수행합니다.
Ashley

54

바로이 웹 사이트가 있습니다.

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


25
... 원하는 사이트에서 동일한 코드를 다운로드했는지 절대 알 수 없습니다.
törzsmókus

5
@ inf3rno 어떻게 알아? 다운로드 한 확장 프로그램이 '작동'하기 때문에 데이터를 훔치거나 백그라운드에서 새끼 고양이를 죽일 수도 있습니다. 당신이 (체크섬에 의해 예)를 CRX 파일의 무결성을 검사 할 수 있습니다하지 않는 경우에만, Google 서버에서 다운로드해야하는 이유의 그
törzsmókus

6
@ törzsmókus crx 파일의 코드를 확인했습니다. Ofc. 이 다운로더가 항상 안전하다는 보장은 없습니다.
inf3rno

2
이 답변이 약간 오래되었다는 것을 알고 있지만이 사이트가 아직 살아있는 동안 타사 스크립트를로드하려고 시도합니다. 사용하기 전에주의하십시오.
Jonathan Walker

7

@serg @Rob W를 처리하는 과정을 자동화하기 위해 작은 파이썬 스크립트를 작성했습니다.

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

그것도 사용할 수 있습니다.

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

이것이 당신이 사용해야하는 방법입니다.


3

이것은 피들러를 사용하는 것보다 덜 기술적 인 방법이며, 지금은 3 년이 된 것을 알고 있지만 다른 사람이 문제를 해결했는지 항상 확인합니다. 그래서 누군가 그랬다는 것을 알았고 그들의 솔루션을 성공적으로 여러 번 사용했습니다. 그들의 솔루션은 Give Me CRX라는 다른 확장을 다운로드 할 수있는 확장입니다.

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


3

또한이 웹 사이트 http://crxextractor.com 을 사용해 보는 것이 좋습니다 . 여기에서 Chrome Webstore URL로 확장 프로그램을 다운로드하고 브라우저에서 소스 코드를 추출 할 수 있으며 추가 소프트웨어가 필요하지 않으며 모든 작업이 한두 번의 클릭으로 완료됩니다.


Chrome은 삭제 버튼 외에 파일을 보관하는 옵션을 제공하지 않고 다운로드를 차단합니다. 이 문제를 해결하는 방법?
echo

3

아래 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입니다.


2

북마크를 만들고 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"); })();

감사


1
@adardesign 시도해 보셨습니까? 이것은 두 가지 이유로 작동하지 않습니다. 1. location.pathname대신 location.href. URL ?lang=en에이 포함되어 있으면 이 스 니펫이 실패합니다. 2. Chrome은 "다운로드를 시작"하지 않지만 확장 프로그램을 설치하도록 요청합니다.
Rob W

당신 말이 맞아요, 저는 다음 요점으로이 질문에 대답하려고했지만,이 대답을 봤는데, 같은 아이디어가 북마크릿에 담겼습니다. 그리고 저는 시도하지 않았습니다. 요점 .. 참조 gist.github.com/adardesign/c0dff591556b90fefcc5
adardesign

location.href = 'http://clients2.google.com/service/update2/crx?response=redirect&prodversion=42&x=' + encodeURIComponent('uc&id=' + location.pathname.split('/').pop());
Alf Eaton

1
나를 위해이 workesjavascript:(function(){ location.href = 'https://clients2.google.com/service/update2/crx?response=redirect&prodversion=38.0&x=' + encodeURIComponent('id=' + location.pathname.split('/').pop() + '%26installsource%3Dondemand%26uc'); })();
염소

2

주어진 ID에서 크롬 확장 프로그램을 다운로드하려면 다음과 같이 사용할 수 있습니다.

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

위는 크롬 확장 프로그램의 다운로드 URL입니다. 크롬 확장을 zip 또는 crx 파일로 다운로드하는 데 도움이 될 수있는 크롬 확장도 있습니다. https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

또한 수행 방법에 대한 코드는이 Github 저장소 에서 사용할 수 있습니다.


1
답변으로 도구 나 라이브러리를 게시하지 마십시오. 최소한 답변 자체에서 문제해결하는 방법을 보여 줍니다 .
Zoe

0

이 게시물의 수동 방법 중 어느 것도 나를 위해 작동하지 않으므로 확장 프로그램을 직접 다운로드하기 위해 URL을 검색했습니다. 이것을 찾아 저에게 완벽하게 작동합니다.

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

### EXTENSION_ID ###을 Chrome 상점의 확장 ID로 바꿔야합니다. URL의 일부입니다.

Google 번역 확장의 예 :

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

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 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.