uBlock Origin 提前在 Firefox 官方頻道上架 WebExtension 擴充套件

uBlock Origin 於今天凌晨在 Firefox 火狐官方網站的正式版更新頻道提前上架了 WebExtension 型態的擴充套件(add-on、擴展),也就是說擋廣告神器將從 1.14.0 版本開始,自官網安裝的將不再是傳統型(legacy)擴充套件了。

uBlock Origin(以下簡稱 uBO)的使用方式過去已經簡介過,故這篇將和「[Firefox] uBlock 和 uBlock0(uBlock Origin)的差別是?」相同,只做版本變更的介紹而不涉及使用方式。有興趣的話可以點下面兩篇閱讀:

uBlock Origin 的不同型態

隨著 Firefox 版本逐漸靠近 57,由傳統型擴充套件過渡到強制使用 WebExtension 的動盪時期,uBO 開發者 gorhill 也有一套過度計畫,他將同時開發 uBO/Legacy(傳統型)、uBO/webext-hybrid(混和型)和 uBO/webext(WebExtension 型)三種型態的擴充套件,以分別對應不同的 Firefox 版本,參考下表:

火狐版本/uBlock型態 Fx 24~5 Fx 54~56 Fx 57+
uBO/Legacy 可用 可用 不可
uBO/webext-hybrid 不可 可用 不可
uBO/webext 不可 可用 可用

1、uBO/Legacy

uBO/Legacy 即傳統型態的擴充套件,擁有最強悍的功能,採用的儲存格式是使用 ublock0.sqlite。Firefox 官方頻道上的最後一個版本是 1.13.8。儘管之後不在官網更新了,但是作者將持續開發,所以有需要的使用者依然可以從 uBO 的 Github 頻道安裝最新版本的傳統型態擴充套件。

2、uBO/webext-hybrid

uBO/webext-hybrid 是做為傳統版套件轉往 WebExtension 的過度型態,當安裝此型態 uBO 擴充套件後,會自動將 ublock0.sqlite 儲存格式轉換成 WebExtension 能夠讀取的 indexedDB 格式。當然本質上這還是傳統型態的擴充套件,在 Firefox 57 後會掛掉。

  • 第一次安裝這個型態的 uBO 因為要轉換儲存格式的緣故,會有一小段遲滯(依訂閱規則和自訂規則數而定
  • 轉換後不會砍掉原先的 .sqlite 檔,想回頭用傳統版亦可。
  • 延伸閱讀 Embedded WebExtensions
3、uBO/webext

uBO/webext 如前所述是指 WebExtension 型態的 uBO,官方版本的 Firefox 57 之後都強制採用這種型態的擴充套件。儘管我用這個版本一段時間,沒遇到什麼問題,但開發者本意是基於穩定性將到 Firefox 57 正式發佈之後,才將火狐官網更新改為 WebExtension。會提前完全是一個意外。

  • 尚不具備傳統版 uBO 能訪問所有背景網路請求的能力,預計 Firefox 56 會修復
  • 其他不可避免的 WebExtension 共有缺陷。

提前上架 WebExtension 的原因

按照開發者原先計畫,官方 Firefox 55 的當下應該是採用 uBO/webext-hybrid 型態,但在火狐官網更新第一也是唯一一個 uBO/webext-hybrid 1.13.10 版時,即遇到了 Firefox 55 的 bug,造成部分人自訂的規則無法啟用或著套件乾脆就消失部分人可以移除重裝找回,Firefox 56 會修復)。

故障無法排除下,開發者建議 Firefox 32-bit 的使用者先退回 uBO/Legacy 1.13.8(官方更新頻道裡版本歷史裡可以找到) ,或著也可以試著安裝放在 github 上最新的 uBlock0.firefox.xpi(legacy)避免再度出錯。

因為計劃外的問題,所以開發者在 9 月 1 日凌晨,把火狐官網上的正式版本直接更改為 uBO WebExtension 1.14.0,也宣告了 uBO/webext-hybrid 的提前夭折。

結論

最後以使用者的狀況做個整理,對於使用 Firefox 54 之前所有版本、uBO 自訂規則多到放不下、Firefox 是 32-bit、偏好使用傳統擴充套件的使用者:

對於隨著官方正式版本更新 Firefox 55.0.3 的新 uBO 使用者:

對於 Firefox 54+ 以上想用 WebExtension,且以前安裝過 uBO 有設定檔的使用者:

You may also like...

Top