如何查看谷歌瀏覽器擴充功能的來源?

如何查看谷歌瀏覽器擴充功能的來源?

我對一些 Google Chrome 擴充功能感興趣,即 Minimalist for Gmail 和 Minimalist for Google Reader,但我想在安裝它們之前查看它們的原始程式碼。

  1. 可以查看插件原始碼嗎?
  2. 有人知道他們到底在訪問什麼嗎?或者還有更多備考

我不喜歡那些能夠以某種方式存取我的書籤、瀏覽歷史記錄和 Google 資料的行為,正如右側欄中所述。

答案1

可以查看插件原始碼嗎?

是的。

Minimalist for Gmail 和 Minimalist for Google Reader 都是開源項目GPLv3 許可證。您可以瀏覽他們的源代碼樹,下載完整的源代碼存儲庫以及更多內容Google程式碼首頁:

Gmail 的極簡主義

適用於 Google 閱讀器的極簡主義

有人知道他們到底在訪問什麼嗎?或者有更多的形式嗎?

有點半開玩笑:是的,開發人員知道他們正在訪問什麼。也就是說,您應該在他們的論壇中詢問他們。或閱讀原始碼。我相信他們會很樂意與您討論他們的資料存取例程。開源軟體也有很多圍繞它的開放論壇討論,這是一件好事(tm)。

答案2

另一種選擇是下載 CRX 檔案(右鍵單擊“安裝”按鈕並選擇“另存為”),然後在 ZIP 相容存檔程式(如 7-Zip)中開啟它。

該擴充功能應該有一個清單文件,它本質上只是一個 JavaScript 文字文件。擴充功能的程式碼本身也是一個您可以查看的 JavaScript 檔案。

某些擴充功能不在本地執行任何工作,只是將工作傳遞給外部伺服器來執行,這當然意味著您無法看到程式碼或那裡的資料發生了什麼。然而,對於更簡單的擴展,您可以在安裝之前查看程式碼並自行審查(當然假設您對 JavaScript 有相當的了解)。

答案3

作為喬吉凱西評論,原來的答案是完全錯誤的。簡而言之,是的,查看 Google Chrome 擴充功能的源代碼非常容易,它只是具有不同檔案副檔名的 ZIP 檔案。

除了開源插件之外,您看不到插件的原始程式碼。那是專有資訊。

確切地知道它們正在訪問什麼:這很棘手。你可以從適用於 Windows 的 sysinternals 工具,或strace以 Linux 為例。然而,這並不是一件容易的事,因為有大量的系統呼叫。

答案4

有兩種方法可以查看 Chrome 擴充功能的源代碼:

方法一)不安裝擴充功能:

您需要下載擴充功能。為此,請前往擴充功能下載頁面並記下擴充功能 ID,它是 URL 的最後一部分(在最後一個斜線之後)。它類似於: bmihblnpomgpjkfddepdpdafhhepdbek 您可以透過此 URL 下載擴充功能(將 <EXTENSION_ID> 替換為實際 ID):

https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromiumcrx&prodchannel=beta&prodversion=79.0.3945.53&lang=ru&acceptformat=crx3&x=id%3D<EXTENSION_ID>%26installsource%3Dondemand%26uc

對於上述 ID (bmihblnpomgpjkfddepdpdafhhepdbek),它將是:

https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromiumcrx&prodchannel=beta&prodversion=79.0.3945.53&lang=ru&acceptformat=crx3&x=id%3Dbmihblnpomgpjkfddepdpdafhhepdbek%26installsource%3Dondemand%26uc

這將下載相關的 .crx 檔案。下載 .crx 檔案後,您可以透過使用 7-Zip 解壓縮其中的檔案來輕鬆取得程式碼

方法2)安裝擴充功能後:

安裝後就容易多了。該擴充功能安裝在:

視窗:C:\Users\<user_name>\AppData\Local\Google\Chrome\User Data\Default\Extensions\

Linux:~/.config/google-chrome/Default/Extensions/

有些資料夾帶有 ID,例如 bmihblnpomgpjkfddepdpdafhhepdbek。在 ID 資料夾中您將找到原始碼。

相關內容