Mozilla 將開始接受基於 Chrome 宣言第三版的附加元件

21 月 109 日,AMO 目錄 (addons.mozilla.org) 將開始使用 Chrome 清單第 17 版接受附加元件並對其進行數位簽署。 這些附加元件可以在 Firefox 的夜間版本中進行測試。 在穩定版本中,Firefox 2023 將於 2023 年 XNUMX 月 XNUMX 日啟用對清單版本 XNUMX 的支援。 在可預見的將來,將維持對第二版宣言的支持,但到 XNUMX 年底,在評估向第三版宣言轉移補充內容的動態後,可能會取消對第二版宣言的支持會被考慮。

Chrome 清單定義了使用 WebExtensions API 編寫的擴充功能可用的功能和資源。 從版本 57 開始,Firefox 完全轉而使用 WebExtensions API 來開發附加元件,並停止支援 XUL 技術。 向WebExtensions的過渡使得Chrome、Opera、Safari和Edge平台統一插件的開發成為可能,簡化了不同Web瀏覽器之間插件的移植,並可以充分利用WebExtensions的多進程模式。操作(WebExtensions 附加元件可以在單獨的進程中執行,與瀏覽器的其餘部分隔離)。 為了與其他瀏覽器統一加載項的開發,Firefox 提供了與 Chrome 清單第二版的幾乎完全相容。

Chrome 目前正在努力轉向清單版本 2024,對版本 XNUMX 的支援將於 XNUMX 年 XNUMX 月停止。 新版本中所做更改的主要目標是使創建安全且高效能的附加元件變得更加容易,並使創建不安全且緩慢的附加元件變得更加困難。 由於清單的第三個版本受到了攻擊,並且將破壞許多內容阻止和安全附加元件,因此 Mozilla 決定不再與 Firefox 中的清單完全相容,並以不同的方式實施一些更改。

對第三版宣言的主要不滿與將 webRequest API 轉換為唯讀模式有關,這使得連接您自己的處理程序成為可能,這些處理程序可以完全存取網路請求並且可以動態修改流量。 該 API 用於 uBlock Origin 和許多其他附加元件中,以阻止不當內容並提供安全性。 第三個版本的清單提供了一個功能有限的declarativeNetRequest API,而不是webRequest API,該API 提供對內置過濾引擎的訪問,該引擎獨立處理阻止規則,不允許使用自己的過濾演算法,並且不允許使用內置過濾引擎。允許根據條件設定相互重疊的複雜規則。

在 Firefox 中實作新清單的功能包括:

  • 新增了新的聲明式內容過濾 API,但與 Chrome 不同的是,對 webRequest API 的舊阻止模式的支援並未停止。
  • 清單定義了使用 Service Workers 選項取代後台頁面,該選項會作為背景進程(Background Service Workers)運作。 為了確保未來的相容性,Firefox 將支援Service Workers,但目前它們被新的Event Pages 機制所取代,該機制對於Web 開發人員來說更為熟悉,不需要對附加元件進行徹底的返工,並且消除了與使用 Service Worker。 事件頁面將允許現有的後台頁面新增符合清單第三版的要求,同時保持對使用 DOM 所需的所有功能的存取。
  • 新的細化權限請求模型 - 此附加元件將無法一次為所有頁面啟動(「all_urls」權限已被刪除),但只能在活動標籤的上下文中工作,即使用者需要確認該附加元件適用於每個網站。 在Firefox 中,所有存取網站資料的請求都將被視為可選,並且授予存取權限的最終決定將由使用者做出,使用者將能夠選擇性地決定哪個加載項授予對其特定網站上的資料的訪問權限。

    為了管理權限,介面中新增了一個新的「統一擴充功能」按鈕,該按鈕已經可以在 Firefox 的夜間版本中進行測試。 該按鈕提供了一種直接控制每個附加元件可以存取哪些網站的方法 - 使用者可以授予和撤銷附加元件對任何網站的存取權限。 權限管理僅適用於基於第三版清單的加載項;對於基於第二版本清單的加載項,不執行對網站的精細存取控制。

    Mozilla 將開始接受基於 Chrome 宣言第三版的附加元件
  • 處理跨來源請求的變更 - 根據新的清單,內容處理腳本將受到與嵌入這些腳本的主頁相同的權限限制(例如,如果該頁面無權訪問location API,那麼腳本附加元件也不會收到此訪問權限)。 此變更已在 Firefox 中完全實現。
  • 基於 Promise 的 API。 Firefox 支援此 API,並且對於清單的第三個版本,會將其移至「chrome.*」命名空間。
  • 禁止執行從外部伺服器下載的程式碼(我們討論的是加載項載入並執行外部程式碼的情況)。 Firefox 使用外部程式碼阻止,Mozilla 開發人員在清單的第三個版本中添加了額外的程式碼下載追蹤技術。 對於內容處理腳本,提供了單獨的內容存取限制策略(CSP,內容安全策略)。

來源: opennet.ru

添加評論