Làm cách nào để tải xuống tệp CRX từ cửa hàng Chrome trực tuyến cho một ID nhất định?


81

Tôi muốn tải xuống tệp .crx của một tiện ích mở rộng từ cửa hàng trực tuyến, tôi sử dụng fiddler để phân tích yêu cầu mạng khi tôi cài đặt tiện ích mở rộng từ cửa hàng trực tuyến và nhận được nó.
Ví dụ: đối với tiện ích mở rộng: https://chrome.google.com/webstore/detail/bjclhonkhgkidmlkghlkiffhoikhaajg
, liên kết tải xuống là:

https://clients2.googleusercontent.com/crx/download/OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA/extension_1_7_11.crx
Bây giờ tôi đang tự hỏi nếu có một phương pháp phổ quát cho get .crx của một phần mở rộng, vấn đề là cách làm của Google mã hóa

bjclhonkhgkidmlkghlkiffhoikhaajg

thành

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA ?

bất kỳ ý tưởng sẽ hữu ích.


2
Đối với tất cả những gì chúng ta biết, chúng có thể dễ dàng chỉ là hai số ngẫu nhiên được lưu trữ trong cơ sở dữ liệu ở đâu đó mà không có ánh xạ thực tế. Tại sao bạn muốn điều này - bạn muốn loại bỏ tất cả các tiện ích mở rộng khỏi trang web một cách máy móc?
Rup

1
Bạn cũng có thể sử dụng 'Give Me CRX', một tiện ích mở rộng của Google Chrome để lấy tệp .crx nguồn của bất kỳ tiện ích mở rộng Chrome nào thông qua Cửa hàng trực tuyến của nó. Tái bút: Tôi đã tạo và xuất bản phần mở rộng này. Liên kết tiện ích mở rộng: Give Me CRX (một Tiện ích mở rộng của Chrome)
iAnuj

Câu trả lời:


30

Đối với một trong các tiện ích mở rộng của mình, tôi phải tự động tải xuống các CRX khác khi chỉ biết ID tiện ích mở rộng. Tôi đã giải quyết vấn đề này bằng cách mở URL sau:

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

trang này sẽ chuyển bạn đến https://clients2.googleusercontent.com/crx/download/địa chỉ đó .

Tôi không nhớ mình đã nghĩ ra URL đó như thế nào (nó có trong nguồn trang ở đâu đó hoặc tôi đã sử dụng trình kiểm tra mạng), nhưng nó đã hoạt động rất tốt đối với tôi kể từ tháng 12 năm ngoái, vì vậy nó có vẻ đáng tin cậy.


1
Ồ, bạn là nhà phát triển của "Thư viện tiện ích mở rộng và Thanh tra cửa hàng trực tuyến"? cảm ơn rất nhiều!
wong2

16
Có vẻ như Google đã thay đổi điều gì đó gần đây và cách tiếp cận này không còn hoạt động nữa (nó trả về 204). Bất cứ ai có bất kỳ ý tưởng những gì đã thay đổi? Tác giả của chrome-extension-downloader.com dường như đã sửa nó nhưng chưa cập nhật tài liệu.
Matthew Gertner

5
Công việc ngắn hạn. Tôi hiểu 204 No Content. Ngay cả sau khi thay thế %3Dbằng =%26với &.
Dan Dascalescu,

8
Tôi xác nhận rằng URL này không còn hoạt động 204 No Contentnữa. Xem câu trả lời đề cập đến PRODVERSION, câu trả lời đó hoạt động.
i336_

1
Đây là cái mà tôi sử dụng phù hợp với tiện ích mở rộng gốc và không phải tiện ích mở rộng: 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}%26ucvới {ID}là id tiện ích mở rộng.
damio

111

Bản thân tệp CRX có thể được tải xuống trực tiếp từ
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[PRODVERSION]&acceptformat=crx2,crx3&x=id%3D[EXTENSIONID]%26uc

  • [PRODVERSION] là phiên bản của Chrome, tối thiểu phải là 31.0.1609.0 và
  • [EXTENSIONID] là ID của tiện ích mở rộng

(Mới trong năm 2018) acceptformat=crx2,crx3 hướng dẫn máy chủ cũng phản hồi với các tiện ích mở rộng ở định dạng CRX3 (thay vì 204 Không có Nội dung khi tiện ích mở rộng không khả dụng là CRX2).

Nếu phần mở rộng bạn đang sử dụng có chứa các module hệ điều hành cụ thể (ví dụ NaCl), sau đó bạn phải thêm tham số bổ sung ( os, arch, nacl_arch).

Để biết đầy đủ logic của việc tạo URL tải xuống CRX hoàn chỉnh, hãy xem get_crx_urlhàm trong https://github.com/Rob--W/crxviewer/blob/master/src/cws_pattern.js .

Đây là một phần của tiện ích mở rộng Trình xem nguồn mở rộng của Chrome, có trong Cửa hàng Chrome trực tuyến: https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin


Lưu ý rằng việc mở URL trước đó trong Chrome sẽ không kích hoạt tải xuống vì Chrome tự động chặn các phản hồi Content-Typeđược đặt thành application/x-chrome-extension. Nếu bạn muốn tải xuống theo chương trình tệp crx trong một tiện ích mở rộng của Chrome, hãy thay đổi kiểu MIME thành application/octet-stream(ví dụ như xong trong src/lib/crx-to-zip.js).


1
Lưu ý: Một số tiện ích mở rộng chứa mô-đun NaCl, yêu cầu tham số chuỗi truy vấn bổ sung. Xem mã nguồn của tiện ích mở rộng crxviewer của tôi để biết thành phần của URL: github.com/Rob--W/crxviewer/commit/…
Rob W

Chrome đã gặp khó khăn khi cố gắng mở url này, nếu bạn đang sử dụng windows, thì hãy mở nó trong IE để tải xuống mà không có vấn đề gì.
craastad 24/09/13

@craastad Vì Chrome nhận dạng tệp là một phần mở rộng. Cài đặt tiện ích mở rộng trình xem mã nguồn của tiện ích mở rộng Chrome để dễ dàng truy cập mã nguồn của tiện ích mở rộng trong Chrome / Opera.
Rob W

Chúa phù hộ cho bạn, người lạ trên internet. Điều này hoạt động tại thời điểm nhận xét này. Url cũ hơn mà tôi có chỉ hoạt động cho một số url, nhưng không phải tất cả. Cái này đã giải quyết được rồi: D
BBerastegui

Điều này có thể được sử dụng để cài đặt Chủ đề trong Microsoft Edge (Chromium) mà không cần phải tin tưởng vào trang web hoặc tiện ích mở rộng của bên thứ ba để có được CRX cho bạn; chỉ cần bấm trực tiếp URL như được chỉ định vào thanh địa chỉ và Edge thực hiện phần còn lại.
Ashley

54

Có trang web này chỉ để làm chính xác điều đó:

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


24
... ngoại trừ bạn không bao giờ có thể biết chắc chắn rằng bạn tải xuống cùng một mã từ trang web của họ mà bạn muốn.
törzsmókus

5
@ inf3rno làm sao bạn biết? chỉ vì tiện ích mở rộng đã tải xuống 'hoạt động' với bạn, nó cũng có thể lấy cắp dữ liệu của bạn hoặc giết mèo con của bạn trong nền. Đó là lý do bạn chỉ nên tải về từ máy chủ của Google, trừ khi bạn có thể kiểm tra tính toàn vẹn của file crx (ví dụ bởi một checksum)
törzsmókus

6
@ törzsmókus Tôi đã kiểm tra mã trong tệp crx, đó là cách tôi biết. Ofc. không có gì đảm bảo rằng trình tải xuống này luôn an toàn.
inf3rno

2
Tôi biết câu trả lời này hơi cũ, nhưng trong khi trang web này vẫn còn tồn tại - nó cố gắng tải các tập lệnh của bên thứ ba. Hãy lưu ý trước khi sử dụng nó.
Jonathan Walker

7

Tôi đã viết một tập lệnh python nhỏ để tự động hóa quá trình đó @serg @Rob W

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

bạn cũng có thể sử dụng nó.

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

Đây là cách bạn phải sử dụng.


3

Đây là một cách làm công nghệ thấp hơn so với sử dụng fiddler, và tôi nhận ra rằng cách này đã được ba năm rồi, nhưng tôi luôn tìm xem có ai khác đã giải quyết vấn đề hay không. Vì vậy, tôi tìm thấy ai đó đã làm, và tôi chỉ sử dụng giải pháp của họ vài lần thành công. Giải pháp của họ là một tiện ích mở rộng có thể tải xuống các tiện ích mở rộng khác, được gọi là Give Me CRX:

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


2

Tạo dấu trang thêm chức năng javascript làm địa chỉ. Duyệt đến tiện ích mở rộng chrome bạn muốn tải xuống, sau đó nhấp vào dấu trang và nó sẽ bắt đầu tải xuống.

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

Cảm ơn


1
@adardesign Bạn đã thử chưa? Điều này thậm chí không hoạt động, vì hai lý do: 1. Sử dụng location.pathnamethay vì location.href. Nếu URL chứa ?lang=en, thì đoạn mã này sẽ không thành công. 2. Chrome sẽ không "bắt đầu tải xuống" mà yêu cầu bạn cài đặt tiện ích mở rộng.
Rob W

Bạn nói đúng, tôi chỉ đang cố gắng trả lời câu hỏi này với ý chính sau đây, nhưng sau đó tôi thấy câu trả lời này, nơi ý tưởng tương tự được đưa vào một bookmarklet .. và không, tôi đã không thử. Xem ý chính .. 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
workes này cho tôijavascript:(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

Ngoài ra, tôi khuyên bạn nên thử trang web này http://crxextractor.com . Tại đây, bạn có thể tải xuống tiện ích mở rộng bằng URL Cửa hàng Chrome trực tuyến và trích xuất mã nguồn của tiện ích này trong trình duyệt, không cần phần mềm bổ sung và mọi thứ được thực hiện chỉ trong một hoặc hai cú nhấp chuột.


Chrome chặn tải xuống mà không cho tôi tùy chọn giữ tệp ngoài nút hủy. Làm thế nào để giải quyết vấn đề này?
echo

2

Bạn có thể sử dụng mẫu URL bên dưới,

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

Các PRODVERSION là phiên bản Chrome. (tải xuống từ cài đặt -> Trợ giúp -> Giới thiệu về Google Chrome). Ví dụ: Phiên bản 69.0.3497.100(Bản dựng chính thức) (64-bit)

Các EXTENSIONID là id cho phần mở rộng. Ví dụ: Đây là một plugin mẫu, https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji?hl=vi id làhmhgeddbohgjknpmjagkdomcpobmllji

Vì vậy, mẫu yêu cầu tải xuống sẽ là https://clients2.google.com/service/update2/crx?response=redirect&prodversion=69.0.3497.100&x=id%3Dhmhgeddbohgjknpmjagkdomcpobmllji%26uc


2

Để tải xuống tiện ích mở rộng chrome từ một id nhất định, bạn chỉ có thể sử dụng như thế này

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

Ở trên là URL tải xuống cho tiện ích chrome. Ngoài ra còn có một phần mở rộng chrome có thể giúp bạn tải xuống phần mở rộng chrome dưới dạng tệp zip hoặc crx. https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

Ngoài ra, mã để thực hiện nó cũng có sẵn trong repo Github này


1
Xin đừng chỉ đăng một số công cụ hoặc thư viện như một câu trả lời. Ít nhất hãy chứng minh cách nó giải quyết vấn đề trong chính câu trả lời.
Zoe

0

Không có cách thủ công nào trong bài đăng này phù hợp với tôi vì vậy tôi đã tìm kiếm một URL để tải xuống trực tiếp tiện ích mở rộng. Tìm thấy điều này và hoạt động hoàn hảo cho tôi.

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

Bạn phải thay thế ### EXTENSION_ID ### bằng id tiện ích mở rộng từ chrome shop. Nó là một phần của URL.

Tiện ích mở rộng Google Dịch mẫu:

https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3Daapbdbdomjkkjkaonfhkkikfgjllcleb%26installsource%3Dondemand%26uc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.