Greasy Fork 允許在特定情況下使用外部代碼。任何腳本發現使用超出允許範圍的外部代碼都將被刪除。如果你發現腳本違反了這些規則,請立即檢舉

注意:這些規則僅適用於外部可執行代碼。加載但非可執行代碼不受限制,例如JSON或CSS

運作原理

使用者腳本具有加載和執行其他腳本的技術能力。這可以透過幾種不同的方式實現,包括:

雖然這是一個實用功能,並且大多數腳本作者都是出於合法目的使用,但它也可能被惡意利用。Greasy Fork 的核心原則之一是使用者必須能夠檢查腳本中的代碼。外部腳本可以透過多種方式繞過這一原則:它們可能會在沒有警告或歷史記錄的情況下發生更改,它們可以為不同的人提供不同的代碼,它們還可以用於在已知庫的中間隱藏惡意代碼。即使有人檢查了外部腳本並確定其是合法的,也不能保證該腳本一直是合法的或將來會一直是合法的。

允許外部程式碼

以下是外部代碼在 Greasy Fork 上被允許的方式。除非另有規定,否則所有其他 代碼規則 都適用於外部代碼。

內容傳遞網路(CDNs)

允許使用源自 CDN 的代碼。詳見獲准 CDN 名單。代碼可以縮制,但不能進行加密和混淆。

附有子資源完整性哈希值的腳本

允許使用 Tampermonkey 格式 下的有子資源完整性@require@resource URL

Greasy Fork 函式庫

在 Greasy Fork 上發佈作為庫的腳本是被允許的。可以透過選擇創建新腳本時的選項來創建庫。這些庫還可以額外設定為從外部 URL 同步,例如 GitHub 倉庫

來自原始主機的腳本注入

允許對與其來源相同域的外部腳本進行注入。如果某個腳本在 https://example.com 上運行,並下載 https://example.com/script.js,對其進行修改,然後注入回 https://example.com/,這是被允許的。

把 https://example.com/script.js 被注入到 https://不同網站.com 上是不被允許的