[情報] 2023年一月將無法使用油猴類套件

看板Browsers (瀏覽器)作者 (道可道非常道)時間2年前 (2022/01/27 07:52), 2年前編輯推噓15(15032)
留言47則, 22人參與, 2年前最新討論串1/1
相關的資料在 #1XiiUezf (Browsers) 等 Manifest V3 的相關帖子都有提到, 只是非開發者可能不會留意,所以換個比較能引起注意的標題。XD 2023 年一月開始 Chromium 將無法執行 Manifest V2 套件, 而 Manifest V3 套件禁止執行遠端腳本, (所謂遠端腳本就是一切套件可以主動從遠端抓來的 JS 程式碼) 換言之所有油猴類自訂腳本的套件都會死掉, 包括 Greasemonkey、Violentmonkey、Tampermonkey 等等。 Google 對 MV3 套件有明確額外規範: Additional requirements for Manifest V3 Extensions using Manifest V3 must meet additional requirements related to the extension's code. Specifically, the full functionality of an extension must be easily discernible from its submitted code. This means that the logic of how each extension operates should be self contained. The extension may reference and load data and other information sources that are external to the extension, but these external resources must not contain any logic. Some common violations include: * Including a <script> tag that points to a resource that is not within the extension's package * Using JavaScript's eval() method or other mechanisms to execute a string fetched from a remote source * Building an interpreter to run complex commands fetched from a remote source, even if those commands are fetched as data 換言之,有些人想過的用 evaljs 或 WASM 等繞道方式,都會被視為違規。 Chromium 系列如此,那 Firefox 呢? 根據情報,Firefox 的 Manifest V3 也會跟進 Choromium 做法。 雖然 Firefox 目前還不支援 Manifest V3, 也尚未提出明確開始支援 MV3 和停止支援 MV2 的時程, 但長遠來看,結果一樣。 Firefox 和 Chromium 有個差別是 Firefox 本來就支援 user chrome JS, 但無法使用一般套件 API, 只能使用舊套件的類 XUL/XPCOM 技術,寫起來比較麻煩,且可能升級就不相容。 油猴類套件廢掉,短期內衝擊可能不小, 但長遠來看,我個人對此政策沒有太大意見。 禁止遠端腳本的理由很明顯,就是有被濫用的風險, 今天某套件可以下載一段遠端的腳本執行, 明天就會有攻擊者架設有惡意腳本的遠端網站, 且任何套件都有可能主動抓惡意腳本搞恐怖攻擊, 這對瀏覽器使用者的數位安全非常沒有保障。 技術上來說,所有油猴類腳本都可以改寫成套件, 而套件起碼會通過 Google、Firefox 站方審核和監管, 安全性比較有保障。 雖然說套件和油猴腳本相比, 開發上的確麻煩一點,效能也可能差一點, 但這就是未來的趨勢,除非有能力自己寫個全新瀏覽器來反壟斷。 開發者倒是可以抓緊時機,搶先把各種實用油猴腳本改寫成套件, 早發表早卡位早得流量。XD 除此之外,一些比較簡單的腳本,其實可以寫成書籤小工具。 或許未來會有人寫個簡單的書籤小工具管理套件。XD 順便在以下開放大家分享常用、實用的使用者腳本, 及可以替代的套件或書籤小工具(如果能找到), 也許可以得到使用者和一些開發者的關切:) 相關資料: Violent monkey 的 issue: https://github.com/violentmonkey/violentmonkey/issues/505 Tampermonkey 的 issue: https://github.com/Tampermonkey/tampermonkey/issues/644 裡面有提到 Google 有計畫讓 power user 設定 user script 或 CSS, 但目前八字沒有一撇,也沒看到相關的 API 和文件。 其他討論: https://groups.google.com/a/chromium.org/g/chromium-extensions/c/hQeJzPbG-js 各種使用者抱怨XD -- 《終結內容農場》瀏覽器套件 Chrome: http://bit.ly/CFTGC (桌機 & Kiwi Browser on Android) Firefox: http://bit.ly/CFTFx (桌機 & Firefox for Android) 真相:http://bit.ly/CFTss1http://bit.ly/CFTss2 詳細介紹:http://bit.ly/CFTinfo -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.60.81 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1643241171.A.243.html

01/27 08:04, 2年前 , 1F
推說明!
01/27 08:04, 1F

01/27 08:26, 2年前 , 2F
推說明,希望能找到共存的道路。畢竟用stylus寫了一些
01/27 08:26, 2F

01/27 08:27, 2年前 , 3F
擋廣告or礙眼項目的內容
01/27 08:27, 3F

01/27 08:51, 2年前 , 4F
Stylus 也不能喔,哭阿
01/27 08:51, 4F

01/27 08:54, 2年前 , 5F
我只想改掉 Chrome Windows 上難看的字體
01/27 08:54, 5F
更新資訊, Manifest V3 有新 API 支援 inject/remove CSS: https://developer.chrome.com/docs/extensions/reference/scripting/ 所以 user CSS 類套件還是可以使用。 ※ 編輯: danny0838 (59.115.60.81 臺灣), 01/27/2022 09:30:03

01/27 09:35, 2年前 , 6F
CSS 可以用就好,script 我自己是很少用
01/27 09:35, 6F

01/27 09:35, 2年前 , 7F
推详细
01/27 09:35, 7F
※ 編輯: danny0838 (59.115.60.81 臺灣), 01/27/2022 10:14:39

01/27 10:21, 2年前 , 8F
晴天霹靂
01/27 10:21, 8F

01/27 10:54, 2年前 , 9F
禁止執行遠端腳本 = 所有油猴類自訂腳本的套件都會死掉
01/27 10:54, 9F

01/27 10:54, 2年前 , 10F
怎麼推導出來的阿?
01/27 10:54, 10F
這類套件的主要功能就是從第三方網站下載腳本執行, 這就是所謂的執行遠端腳本啊, 有很難理解嗎?XD 更多資訊請爬本版 MV3 相關討論, 本文貼的幾篇 ref 也都有提到。 ※ 編輯: danny0838 (223.140.102.60 臺灣), 01/27/2022 12:03:10

01/27 12:50, 2年前 , 11F
Userscript 可以本地執行啊 未必需要遠端
01/27 12:50, 11F
以套件的角度來說, 所有不是一開始包在套件裡的程式碼都在 MV3 禁止之列, 如果覺得「遠端」不精準,改成「外部」、「第三方」也可以, 問題的本質不會因此改變。

01/27 13:11, 2年前 , 12F
Google Darkest Fusion, 巴哈深色主題, FaviconizeGoogle
01/27 13:11, 12F

01/27 13:12, 2年前 , 13F
PTT Imgur Fix, PTT Push Count,
01/27 13:12, 13F
Imgur fix 現在還有需要嗎? push count 應該前面討論的 PTT web enhanced 就有提供。

01/27 13:12, 2年前 , 14F
XXXBG - XXX and magnet links,
01/27 13:12, 14F

01/27 13:12, 2年前 , 15F
Reddit expand media and comments, 百度簡易下載助手
01/27 13:12, 15F

01/27 13:13, 2年前 , 16F
有些簡易的小腳本要寫成套件反而會變困擾吧?
01/27 13:13, 16F
其實還好,簡單腳本就是個 content script,加個制式 manifest 就好。

01/27 13:17, 2年前 , 17F
Google確實有人手和資源可以搞定這些,FF應該會再緩緩?
01/27 13:17, 17F

01/27 13:17, 2年前 , 18F
我無法想像沒有Greasyfork的那一天…
01/27 13:17, 18F

01/27 13:19, 2年前 , 19F
至於userstyles…嘛…網頁卡到爆這問題幾年來都沒進展…
01/27 13:19, 19F
※ 編輯: danny0838 (223.140.102.60 臺灣), 01/27/2022 13:32:54

01/27 13:56, 2年前 , 20F
強制 Script 都要弄成套件 開發者帳號開通要 5 美元
01/27 13:56, 20F

01/27 13:57, 2年前 , 21F
如果整站的 Script 都弄成套件 google 賺翻嚕
01/27 13:57, 21F
我倒是沒想到這點,哈哈。 不然大家一起抵制 Google,只上架 Fx、Edge、Opera 吧XD

01/27 14:15, 2年前 , 22F
Youtube聊天室顯示PTT推文要死去了嗎
01/27 14:15, 22F
※ 編輯: danny0838 (223.140.102.60 臺灣), 01/27/2022 14:43:46

01/27 14:46, 2年前 , 23F
那就好,感謝
01/27 14:46, 23F

01/27 14:49, 2年前 , 24F
腳本套件發展歷史跟延伸套件差不多了吧 有出過什麼安
01/27 14:49, 24F

01/27 14:49, 2年前 , 25F
全性大事嗎 不如說這東西不都完全開源的 商業考量還差
01/27 14:49, 25F

01/27 14:49, 2年前 , 26F
不多吧
01/27 14:49, 26F

01/27 14:54, 2年前 , 27F
反倒是套件漏洞的新聞看到不少喔 真棒
01/27 14:54, 27F
這問題不是這樣看的, 我們當然都知道 monkey 類套件有不錯的開放審核機制, 問題在於,只要套件 API 允許執行外部腳本, 就有可能被惡意套件濫用, 而且好套件壞套件要的都是同樣的「存取所有網站」權限,防不勝防, 而相關的 case 都會算在「套件漏洞」的鍋上,不是算在 user scripts 的鍋。 ※ 編輯: danny0838 (223.140.102.60 臺灣), 01/27/2022 16:24:01

01/27 22:50, 2年前 , 28F
個人目前用 userscript 的一大原因是不需要走簽署流程,
01/27 22:50, 28F

01/27 22:51, 2年前 , 29F
對於上一些私人甚至是臨時用的自製腳本很方便。
01/27 22:51, 29F

01/27 22:51, 2年前 , 30F
希望到時候會留選項給進階使用者來規避這些限制。如果
01/27 22:51, 30F

01/27 22:51, 2年前 , 31F
userscript 真的全面死去,就只能轉戰 unbranded 版了。
01/27 22:51, 31F
目前看到的是 API 拿掉,並不存在保留的一手。 Chromium 方面,除非 Google 未來有增加新 API, 有可能會像 webRequestBlocking 一樣必須用管理員設定登錄檔的方式才能安裝使用。 但是這條路超麻煩,也只能安裝發布在 Chrome 商店的套件。 Firefox 方面沒有類似先例(Fx 在 MV3 會保留 webRequestBlocking), 如果要我提議, 可以比照 Chromium 加入新 API 但必須在 manifest.json 加入特殊的設定值, 而該設定值一律不會在審核套件時給過,也就是只能用在未簽署套件的意思。 如果沒有,另一個選擇是走 userChrome JS 路線。 (如果只用到 content script 而不涉及套件 API,應該不會太複雜) 再不然,就是寫成私人套件。 這方面 Chromium 大概比較方便,用開發模式載入未打包套件就可以一直用; 還有一個我不曉得是不是 bug 的方式是,把套件拖放到管理頁面就能安裝。 Firefox 如果用開發模式載入未打包套件,瀏覽器重啟後會全部消失, 若要持續使用, 要嘛到 AMO 發布成非公開套件(現在沒太大疑慮的都是機器審核,速度很快), 要嘛包成未簽署的套件用 Beta/Developer/Nightly/ESR/Unbranded 發行版安裝。 ※ 編輯: danny0838 (59.115.60.81 臺灣), 01/28/2022 00:23:51

01/28 02:57, 2年前 , 32F
百度盤沒得白嫖囉
01/28 02:57, 32F

01/28 14:35, 2年前 , 33F
我有百來個自己寫的小script,這對我來說超困擾,雖然可
01/28 14:35, 33F

01/28 14:36, 2年前 , 34F
以轉移到AdGuard上,不過編修起來比較麻煩,有些GM函式
01/28 14:36, 34F

01/28 14:36, 2年前 , 35F
和metadata也不支援
01/28 14:36, 35F

01/28 14:37, 2年前 , 36F
然後Fx果然又要跟哦... 你們要不要乾脆像MS說的改用
01/28 14:37, 36F

01/28 14:38, 2年前 , 37F
Chromium核算了? 然後專心搞搞UI、開開一些3年後會中止
01/28 14:38, 37F

01/28 14:38, 2年前 , 38F
的專案或服務
01/28 14:38, 38F

01/28 17:55, 2年前 , 39F
自己包就要弄開發環境, 沒像userscript那麼方便
01/28 17:55, 39F

01/28 19:37, 2年前 , 40F
好用的東西一點一點的被改被拔掉 限制越來越多 又沒替代品
01/28 19:37, 40F

01/28 19:38, 2年前 , 41F
搞到我對瀏覽器的未來好悲觀= =
01/28 19:38, 41F

01/29 03:25, 2年前 , 42F
FF要變成GC的形狀了,唉…
01/29 03:25, 42F

01/29 16:56, 2年前 , 43F
火狐早就是chromium的形狀了
01/29 16:56, 43F

01/29 16:57, 2年前 , 44F
除了核心外基本上差沒多少
01/29 16:57, 44F

01/29 23:52, 2年前 , 45F
Chromium舔狗
01/29 23:52, 45F

01/31 05:41, 2年前 , 46F
FX也跟 到底如何跟Chromium區別化
01/31 05:41, 46F

01/31 23:53, 2年前 , 47F
未來某天大概心死用edge算了
01/31 23:53, 47F
文章代碼(AID): #1XyTxJ93 (Browsers)
文章代碼(AID): #1XyTxJ93 (Browsers)