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