Greasy Fork permite o uso de código externo em casos específicos. Qualquer código que estiver incluindo código externo fora do que é permitido está sujeito a ser deletado. Se você encontrar código violando essas regras, por favor denuncie.

Note que essas regras são aplicadas somente para códigos externos que sejam executáveis. Códigos não-executáveis como JSON ou CSS são permitidos.

Justificativa

Os scripts de usuário têm a capacidade técnica de carregar e executar outros scripts. Isso pode ser feito de algumas maneiras diferentes, inclusive:

Embora esse seja um recurso útil e a maior parte dos autores de scripts o utilize para fins legítimos, ele também pode ser empregado de forma maliciosa. Um dos princípios fundamentais do Greasy Fork é que o usuário deve ser capaz de inspecionar o código em um script. Scripts externos podem contornar esse princípio de várias maneiras: eles podem mudar sem aviso ou registro, podem fornecer códigos diferentes para pessoas diferentes e podem ser utilizados para ocultar códigos mal-intencionados no meio de bibliotecas conhecidas. Mesmo que alguém verifique um script externo e determine que ele é legítimo, isso não garante que esse script sempre foi ou sempre seguirá sendo legítimo.

Códigos externos permitidos

A seguir estão os casos em que códigos externos são permitidos em Greasy Fork. Em outro caso, todas rules for code são aplicadas à códigos externos.

Redes de distribuição de conteúdo (CDNs)

Códigos de CDNs (Redes de distribuição de conteúdo) são permitidas. See a list of recognized CDNs. Esse código pode estar reduzido (minified), mas não ofuscado.

Códigos com chaves de integridade de sub recursos

O uso de @require e @resourcecom URLs com subresource integrity em Tampermonkey format é permitido.

Greasy Forkbibliotecas

Códigos publicados como bibliotecas em Greasy Fork são permitidas. Bibliotecas podem ser criadas escolhendo a opção ao criar um novo código. Também podem serem sincronizadas a partir de uma URL externa, como por exemplo um repositório no Github.

Injeção de códigos a partir do servidor de origem

A injeção de scripts externos do mesmo domínio é permitida. Se um script é executado em https://exemplo.com, e baixa https://exemplo.com/script.js, modifica e injeta de volta em https://exemplo.com/, isso é permitido.

Se https://exemplo.com/script.js é injetado em https://sitediferente.com, isso é proibido.