uBlock Origin Lite (也就是 MV3 版本) 放棄在 Mozilla Add-ons 平台上繼續上架

整包故事大概都在「uBOL version updates missing in Firefox add-ons store #197」這邊了。

Raymond Hill (uBlock Origin 以及這次提到的 uBlock Origin Lite 的作者) 被 Mozilla 的 Add-ons Team 亂搞以後不爽,決定徹下 Mozilla Add-ons 平台上的 uBlock Origin Lite,改成自己 host。

先是「#issuecomment-2329365796」這邊提到他收到 Mozilla Add-ons Team 兩封信件,開頭就提到這是 manual review:

Your Extension uBlock Origin Lite was manually reviewed by the Mozilla Add-ons team in an assessment performed on our own initiative of content that was submitted to Mozilla Add-ons.

然後 Raymond Hill 提到三個 Mozilla 亂搞的問題,其中第三個我覺得是第一個的延伸,所以我這邊就只講第一個與第二個。

第一個是 Mozilla 指控他傳輸資料但卻沒有取得使用者同意:

Consent, specifically Nonexistent: For add-ons that collect or transmit user data, the user must be informed and provided with a clear and easy way to control this data collection.

這邊 Mozilla 提出來的檔案是 web_accessible_resources/googlesyndication_adsbygoogle.js

第二個 Mozilla 指控的問題是放了 minified 的檔案但沒有提供 source:

Sources, specifically Sources or instructions missing: Your add-on contains minified, concatenated or otherwise machine-generated code. You need to provide the original sources, together with instructions on how to generate the exact same code used in the add-on.

這邊 Mozilla 提出來的檔案是 web_accessible_resources/fingerprint2.jsweb_accessible_resources/google-analytics_analytics.jsweb_accessible_resources/google-analytics_ga.js 以及 web_accessible_resources/googletagservices_gpt.js 這四個。

然後這五個檔案打開來看,完全可以同意 Raymond Hill 說明的,完全看不到 Mozilla 指控的東西。

最後是 Mozilla 的處置方法也超級奇怪,將除了最早的版本以外的所有版本都 takedown,但最早的版本也被 flag 上面五個檔案... 這樣就導致用戶會裝到一堆 bug 的版本,逼的 Raymond Hill 也得把最早的這個版本 disable。

最後他已經講的很客氣了:「I am unable to see this as a mistake」,原文大概是「他媽的你 Mozilla 故意搞事」:

@Rob--W I appreciate you trying to build a bridge, but as much as I have tried over and over, I am unable to see this as a mistake, it takes only a few seconds for anyone who has even basic understanding of JavaScript to see the raised issues make no sense, and that the steps taken (disable all but the oldest version instead of all but the most recent) were the worse for both the extension and new users interested in it.

Stripe 的 Dashboard 停止支援 Firefox

在「Tell HN: Stripe Dashboard no longer supports Firefox」這邊看到有人提到 Stripe 抽掉 Firefox 支援...

看起來是 corporation-facing 的系統,而非 user-facing 的,但還是頗蠻意外這個時間點就開始動手了,而且還是 Stripe?

Browser Market Share Worldwide 這邊看起來的確是沒什麼起色:

抓個趨勢來看也是:

關閉 Firefox 的廣告蒐集功能

前陣子有提到 Mozilla 併購了廣告公司後,就在 Firefox 裡面實作廣告投放的蒐集功能:「Firefox 128 實作廣告投放蒐集功能 (Ad measurement)」,然後看到「Make Firefox Private Again (make-firefox-private-again.com)」這篇,網站是 make-firefox-private-again.com

其中的設定就是把 dom.private-attribution.submission.enabled 設為 false,透過 GUI 介面改記得也是類似的效果。

但 Mozilla 已經變成廣告公司了,後續應該只會有更多動作;而廣告公司熟悉的 PR 方法應該都會被拿出來用,至於對 open source community 有沒有用就再看看了...

網站名字的梗... 應該就是 Donald TrumpMake America Great Again 口號。

Firefox 128 實作廣告投放蒐集功能 (Ad measurement)

六月底的時候就有一些消息,然後這幾天熱起來了,先是 Hacker News 上這兩篇,在講 Firefox 128 (現在的 stable 版) 預設開啟了廣告蒐集行為:「Firefox 128 enables "privacy-preserving" ad measurements by default (mstdn.social)」、「"Firefox added [ad tracking] and has already turned it on without asking you" (mastodon.social)」。

這個消息剛好可以跟六月底的時候「併購」了 Anonym 這家廣告公司一起看:「Mozilla acquires ad analytics company, for some reason」。

愈來愈像廣告公司了...

Firefox 的 UI 修正方案

在「Firefox Proton UI userChrome.css fixes. (2021) (github.com/black7375)」這邊看到的,GitHub 上的專案頁面在「Lepton (old name: Proton Fix)」這邊。

作者先前有寫過,我在「Firefox 的 UI/UX 歷史」這篇,同一個 repository 裡面就包含了「修正方案」,補上了一些 icon,並且改了 css 效果。

不過我已經沒什麼在用 Firefox 了,而且目前看起來也不會回去了,看起來只有在交叉找問題的時候會用到...

各家瀏覽器與工具對於 blur 效果的實際呈現比較

Hacker News 上看到「Blur Radius Comparison (bjango.com)」,原文在「Blur radius comparison」。

重點在這張:

前面九個分成三種效果在三個不同的瀏覽器呈現的結果,然後是 FigmaIllustratorPhotoshopSketch 的效果。

可以看出來在瀏覽器上的部分,大家的 rendering 沒有差太多。

而 Figma 所有 blur 類的效果,在瀏覽器上比較接近的只有 box-shadow,其他三套則是有不同的變化...

Firefox 與 Chrome 處理 Intermediate CA 的不同方式

Fediverse 上看到「The recording of my "Browsers biggest TLS Mistake" lightning talk at #37C3」這個,這是出自 37C3 的 lightning talk,影片不長,只有五分鐘,可以在「Browsers biggest TLS mistake」這邊看到。

正常的 HTTPS server 會送出 Intermediate CA certificate 與自己的 TLS certificate:

當伺服器端沒有設定好,通常是只送出自己的 TLS certificate:

這種情況在 Firefox 裡有處理,軟體本身會預載所有的 Intermediate CA 避免這種問題 (當然會需要跟著軟體更新),這點在三年前有提到過:「Firefox 試著透過預載 Intermediate CA 降低連線錯誤發生的機率?」,也就是這張投影片提到的情況:

Chrome 則是去看目前的 cache 資料,找看看是不是在其他地方有看到適合的 Intermediate CA 可以接起來:

這好像可以解釋為什麼之前遇到類似的問題的時候,在 Chrome 上面會需要進 chrome:// 裡面清東西才能重製...

Firefox 宣布從 Mercurial 換到 Git

Firefox 宣佈從 Mercurial 換到 Git:「Firefox Development Is Moving From Mercurial To Git」。

目前是 Mercurial 與 Git 都支援,理由是不想要維持兩套:

For a long time Firefox Desktop development has supported both Mercurial and
Git users. This dual SCM requirement places a significant burden on teams which
are already stretched thin in parts. We have made the decision to move Firefox
development to Git.

不過不知道決策的過程到底是怎麼產生的,算是 Mozilla 的老問題了...

Firefox 的 :has() 支援度問題

Can I Use... 上面的「:has() CSS relational pseudo-class」裡面可以看到 Firefox 一直都還沒支援,只有在 nightly 版本上面預設有開,這也代表還沒辦法很穩定的用這個 selector... (除非你直接忽略掉 Firefox)。

看到「Prodding Firefox to Update :has() Selection」這篇,Eric Meyer 在抱怨 Firefox 的這個問題,就算是 nightly 的版本也還是有奇怪的 bug,會抓不到 :has() 條件,需要用 contenteditable 的 workaround 觸發 Firefox 的計算。

MozillaBugzilla 上可以看到票還開著:「Implement the :has() pseudo class」,看起來這陣子是一直有在更新,應該是有資源在上面追進度。

等到真的支援,就可以在 querySelectorAll() 裡面直接用 :has() 了,現在 Firefox 的情況讓 Userscript 寫起來有點卡...

Mullvad 也推出了自家的瀏覽器

Hacker News 上看到 VPN 廠商 Mullvad 也推出了自家的瀏覽器,Mullvad Browser:「The Mullvad Browser (mullvad.net)」。

改自 Tor Browser,最底層是 Firefox,然後開起來看,內建了三個套件:

然後因為是基於 Tor Browser,所以許多的預設值會更偏向強化隱私性的設定,這點可以從 fingerprint.com 這邊測發現,每次重開瀏覽器會是不一樣的值,這代表用 canvas 的網站有一定機會會掛掉... 另外會有一些不方便的地方,像是時間相關的設定因為要隱藏 timezone,所以 server 端無法取得 client 的正確時間資訊。

而在 FAQ 裡面有提到,Mullvad Browser 不允許你透過 cookie 記錄登入資訊:

How do I stay logged into specific websites between sessions?
It’s not possible. It’s an action to combat tracking.

所以這個瀏覽器的定位不會是給你當作一般用的... 但這樣的話我更偏好用 Tor Browser?