This is a list of user script meta keys that Greasy Fork will read. Keys outside of this list may be included in scripts, and will be present in the installed script, but have no effect in Greasy Fork's UI.
- §
@name
- The name of the script, used as a heading and in links. Required.
- §
@name:XX-YY
- The name of the script in a specific locale, where XX is an ISO 639-1 2-letter code and YY is an optional ISO 3166 country code. Overrides
@name
when the user is browsing in a matching locale. - §
@description
- A description of what the script does. Shown as text under the script name. Required.
- §
@description:XX-YY
- The description of the script in a specific locale, where XX is an ISO 639-1 2-letter code and YY is an optional ISO 3166 country code. Overrides
@description
when the user is browsing in a matching locale. - §
@namespace
- A combination of
@namespace
and@name
is used by user script managers to see if a script is already installed. Greasy Fork requires this field and will warn if it's changed on update. - §
@version
- Identifier for a specific version of a script in Mozilla version format. Version is displayed on a script's info page. Greasy Fork requires this field and will warn if it's decremented or if it's not incremented when the script's code changes.
- §
@include
,@exclude
,@match
- Describe what pages the script will run on. This list will be processed, displayed on the script's info page, and used to categorize scripts. Every script must have at least one
@match
or@include
. Read about the format here. - §
@require
- Includes external JavaScript into a script. See rules for code including external scripts. If you use subresource integrity hashes (see info here and here), Greasy Fork will alert you if your hashes do not match the content at the URL you use.
- §
@resource
- Includes an external resource (JavaScript, CSS, images, etc.) into a script. See rules for code including external scripts. If you use subresource integrity hashes (see info here and here), Greasy Fork will alert you if your hashes do not match the content at the URL you use.
- §
@updateURL
,@installURL
,@downloadURL
- Describe how user script managers should get updates. Greasy Fork will strip these keys, which makes any script installed from Greasy Fork only update from Greasy Fork.
- §
@license
- By posting your script to Greasy Fork, you give others permission to install and use it. The license describes whether and how people are allowed to modify and distribute your script. License is displayed on a script's info page.
@license
can be:- The name of a license (for example,
@license GPL3
). Using a "Full name" or "Identifier" from the SPDX License List is recommended. - The conditions under which you allow use (for example
@license You can modify as long as you credit me
, though using a pre-existing license is recommended. - A copyright statement (for example
@license Copyright MyName
) if you don't want to release under a license. - Omitted entirely, which is the same as having a copyright statement, but less clear to users.
- The name of a license (for example,
- §
@supportURL
- URL for a page where users can get support on a script (e.g. a bug tracker, a forum, an e-mail address). Support URL is displayed on a script's feedback page.
- §
@contributionURL
- URL for a page where users can donate to the author of a script. Contribution URL is displayed on a script's feedback page. URLs can be http, https, or Bitcoin protocols. To link to a PayPal donation page, use a URL in the format https://www.paypal.com/cgi-bin/[email protected]&item_name=Greasy+Fork+donation, replacing the sample e-mail address with your own.
- §
@contributionAmount
- Suggested donation amount, used in conjunction with
@contributionURL
. - §
@compatible
- Flags this script as compatible with a browser. Compatibility information will be shown on a script's page. Comments on compatibility can be included in the format
@compatible firefox Must disable pop-up blocker
. Recognized browsers are:firefox
,chrome
,opera
,safari
,edge
. - §
@incompatible
- Flags this script as incompatible with a browser. Compatibility information will be shown on a script's page. Optional comments on compatibility can be included in the format
@incompatible firefox Broken since Firefox 23
. Recognized browsers are:firefox
,chrome
,opera
,safari
,edge
. - §
@antifeature
- Discloses features in a script that are there to benefit the author, not the user. The format of this key is
@antifeature type description
. type is required, description is optional. Read here for info on the types read by Greasy Fork. - §
@antifeature:XX-YY
- An
@antifeature
described in a specific locale, where XX is an ISO 639-1 2-letter code and YY is an optional ISO 3166 country code. Overrides@antifeature
s of the same type when the user is browsing in a matching locale.