谷歌在 Chrome 上的一個騷操作,讓開發(fā)者炸了鍋
來源:三易生活
作為如今全球最流行的瀏覽器,Chrome 有著數(shù)以億計的用戶,如果再算上谷歌主導(dǎo)下開源的 Chromium 生態(tài),幾乎已經(jīng)覆蓋了超過全球網(wǎng)民的四分之三。就像谷歌方面在 Android 上的每一次改動一樣,Chrome 上的變革也同樣牽動人心。
眾所周知,作為現(xiàn)代瀏覽器的 Chrome 之所以 " 現(xiàn)代 ",靠的就是豐富多彩的擴展,可如今谷歌要對 Chrome 的擴展 " 動刀 " 了。
日前在 Chrome 的開發(fā)者博客中,谷歌產(chǎn)品經(jīng)理 David Li 詳解描述了 Manifest V3 迭代的更多細節(jié)。據(jù)他的說法,原計劃將于 2023 年 1 月上線的 Chrome Manifest V3 被推遲到明年 6 月實施,到明年 6 月的 Chrome M115 版發(fā)布后,將變更為所有擴展都必須及時更新到 Manifest V3 版本。
Manifest V3 到底是什么,它又為什么會被推遲實裝呢?其實對于 Chrome 來說,manifest.json 是擴展的配置文件,其指明了擴展的各種信息,而 Manifest V3 則是一個 API,它規(guī)定了一個符合標準的擴展究竟應(yīng)該是什么樣子。簡單來說,Manifest 之于 Chrome 開發(fā)者,就與 蘋果 App Store 的審核指南之于 iOS 開發(fā)者一樣,為 Chrome 的擴展制定了規(guī)則。
就像每一次蘋果方面更新 App Store 審核指南都會引發(fā)爭議一樣,谷歌推出 Manifest V3 同樣也伴隨著諸多的爭議,但這也很好理解,畢竟每一次改變現(xiàn)狀都代表著既得利益者想要維持現(xiàn)狀的意圖落空。
事實上,Manifest V3 是谷歌方面在 2019 年的 Chrome 開發(fā)者峰會上提出的。也就是說即便是在 2023 年 6 月實施,也花費了 4 年時間,這也足以證明其在開發(fā)者社區(qū)中的爭議性。
而 Manifest V3 在 Chrome 的開發(fā)者群體中備受爭議,其實與谷歌在這一版本上想要實現(xiàn)的效果息息相關(guān)。作為瀏覽器擴展自十年前推出以來最大的轉(zhuǎn)變之一,Manifest V3 號稱更能夠提升安全、隱私,以及瀏覽器性能,并將限制擴展的功能,尤其是那些旨在監(jiān)視、修改和瀏覽器與用戶訪問的網(wǎng)站間交互的功能。然而相比于 Manifest V2,谷歌在 Manifest V3 上進行的改變卻與所宣稱的更安全、更能保護隱私背道而馳。
比如說,谷歌提出為了保證瀏覽器的安全性,用來查看、修改或阻止瀏覽器請求的 webRequest API,將會被效能有限的 Declarative Net Request API 取代。但 webRequest API 最核心的用途就是攔截網(wǎng)頁上的廣告,并被 AdBlock 等廣告攔截工具廣泛使用,開發(fā)者通過該 API 寫入攔截瀏覽器請求的規(guī)則、分辨廣告請求地址,以達到幫用戶攔截瀏覽器發(fā)送含有廣告內(nèi)容的請求。
經(jīng)過無數(shù)開發(fā)者的不斷努力和維護,目前最新的廣告過濾規(guī)則包含注釋在內(nèi)一共接近 9 萬條,無限制寫入攔截規(guī)則的 webRequest API 讓廣大用戶避免了被無孔不入的瀏覽器廣告騷擾。但根據(jù)開發(fā)者的反饋,Declarative Net Request API 的過濾條目限制為 3 萬條,這就意味著當(dāng)前主流的廣告攔截工具使用的規(guī)則必然會有大部分失靈、攔截效果會大打折扣,用戶未來想要不看廣告的難度自然也就更高了。
打著為用戶安全著想的大旗、行的卻是讓用戶要看更多的廣告,這顯然很契合作為全球最大數(shù)字廣告巨頭谷歌的 商業(yè) 利益。當(dāng)然,由于 webRequest API 的改動實際上只影響了消費者和廣告攔截工具的開發(fā)者,所以它的影響還不算很大。真正讓所有開發(fā)者沸反盈天的則是這樣一條新規(guī),那就是為了提高安全性、并保護用戶免受惡意軟件的侵害,谷歌在 Manifest V3 上阻止來自外部的遠程托管腳本被擴展使用。
這一規(guī)定影響的是大名鼎鼎的油猴插件,也就是 GreasemonkeyTampermonkey。而這個插件的功能其實很簡單,它就是一個可以安裝腳本的擴展,有了這個 " 工具箱 ",用戶才能往里面放各種 " 工具 ",有了這些 " 工具 ",Chrome 瀏覽器才能擁有各種功能。換而言之,油猴插件就相當(dāng)于是 Android 系統(tǒng)里的 微信 ,腳本就等同于微信小程序。
那么問題就來了,絕大多數(shù)用戶是不具備自己動手寫腳本的能力,所以需要開發(fā)者提供的腳本,但導(dǎo)致了油猴一部分核心功能失效的就是加載遠程腳本。Manifest V3 不允許擴展加載遠程腳本,幾乎就等同于讓油猴迎來滅頂之災(zāi)。如果說廣告攔截擴展的效果打折扣用戶忍忍就過去了,但是擴展不能加載腳本,幾乎就意味著 Chrome 的擴展生態(tài)要面臨重新洗牌,開發(fā)者需要想其他的方法來實現(xiàn)同樣的功能。
所謂另外的方式,其實就是將腳本托管在谷歌的服務(wù)器上,這等于是逼著開發(fā)者都必須注冊谷歌開發(fā)者賬戶、并交納注冊費才能確保油猴等擴展的正常使用。在開發(fā)者看來,這就是在強制向谷歌付費了,顯然是不能忍的。