Greasy Fork umožňuje v určitých prípadoch použiť externý kód. Každý skript, pri ktorom sa zistí, že obsahuje externý kód mimo povoleného rozsahu, bude odstránený. Ak nájdete skript, ktorý porušuje tieto pravidlá, nahláste ho.

Upozorňujeme, že tieto pravidlá sa vzťahujú len na externý spustiteľný kód. Načítanie nespustiteľného kódu, napríklad JSON alebo CSS, nie je obmedzené.

Odôvodnenie

Používateľské skripty majú technickú schopnosť načítať a vykonávať iné skripty. To možno vykonať niekoľkými rôznymi spôsobmi, vrátane:

Hoci ide o užitočnú funkciu a väčšina autorov skriptov ju využíva na legitímne účely, môže byť použitá aj zlomyseľne. Jednou zo základných zásad stránky Greasy Fork je, že používateľ musí mať možnosť kontrolovať kód v skripte. Externé skripty môžu túto zásadu obchádzať viacerými spôsobmi: môžu sa meniť bez varovania alebo histórie, môžu slúžiť na zobrazenie rôzneho kódu rôznym ľuďom a môžu sa použiť na skrytie škodlivého kódu uprostred známych knižníc. Aj keby niekto skontroloval externý skript a určil ho ako legitímny, nebola by to žiadna záruka, že tento skript vždy bol alebo vždy bude legitímny.

Povolené externé kódy

Nižšie sú uvedené spôsoby, akými je povolený externý kód na Greasy Fork. Ak nie je uvedené inak, všetky ostatné pravidlá pre kód sa vzťahujú na externý kód.

Sieť pre doručovanie obsahu (CDN)

Kód z CDN je povolený. Pozrite si zoznam uznaných CDN. Tento kód môže byť minifikovaný, ale nie obfuskovaný.

Skripty s hashmi integrity čiastkových zdrojov

Použitie @require a @resource s adresami URL s integrita čiastkových zdrojov vo formáte Tampermonkey je povolené.

Knižnice Greasy Fork

Skripty zverejnené ako knižnice na Greasy Fork sú povolené. Knižnice možno vytvoriť výberom tejto možnosti pri vytváraní nového skriptu. Tie možno dodatočne nastaviť na synchronizáciu z externej adresy URL, napríklad z úložiska GitHub.

Injektovanie skriptov z pôvodného hostiteľa

Injektovanie externých skriptov na rovnakej doméne, z ktorej pochádzajú, je povolené. Ak sa skript spustí na adrese https://example.com, stiahne https://priklad.com/script.js, upraví skript a injektuje späť na adresu https://priklad.com/, bude to povolené.

Ak je https://priklad.com/script.js injektovaný na https://inastranka.com, bolo by to zakázané.