Greasy Fork++

𝖢𝖸 𝖥𝗎𝗇𝗀
2023-08-24T21:16:50Z

Adds various features and improves the Greasy Fork experience

Greasy Fork++

Please make sure you install the script from greasyfork.org, not fake sites.

GreasyFork++ GreasyFork

This Userscript is based on Greasy Fork+ v2.0.6

The aim of creating this userscript is to resolve all outstanding issues since the last update on 2022.07.09 made by iFelix18

Credit to iFelix18 GitHub

Features

Greasy Fork+:

Hide blacklisted scripts (press Ctrl + Alt + B to show again), based on one or more of the following lists:

Non-Latin: This list blocks all scripts with non-Latin characters in the title/description

Blacklist: A "non-opinionable" list that blocks all scripts with emoji in the title/description, references to "bots", "cheats" and some online game sites, and other "bullshit"

Custom Blacklist: Personal blacklist defined by a set of unwanted words

Add a button to hide the script (press Ctrl + Alt + H to show again)

Add a button to install the script directly, which shows the version of the script, and which changes dynamically according to your version, if any, already installed (dynamic changes only work if you are using Violentmonkey or Tampermonkey)

Shows the number of daily and total installations on the user profile

Get notified whenever your total installs got over one of your set milestones

Greasy Fork++:

those install buttons added by Greasy Fork++ is no-cache

refresh install button label after clicking

UI improvement for library script page

click to select library script @require url

changed install button to copy url button for library (reference script)

Show counting of additional info in script update textarea

UI improvement to Greasy Fork Enhance - Flat Layout

Major Changes in 3.0.0

Disabled NonLatin by default. This totally affects non-English users to use this script at the first time.

Removed the dependency of jQuery

(this is insane to use jQuery and async await on the same time!)

Removed the GM_setValue and GM_getValue which are totally unused and obsoleted.

Avoid too many network requests sending to Greasyfork.org in a batch

(previously, it made the server response 503)

Forced Cache to make the add install button much faster to show on the page.

(it shall update if the user click on the install button, but right now just do like this)

Added a checker to delete invalid stored values

Upgraded dependency @violentmonkey/shortcut to 1.3.0

Added white-space:nowrap to block button (to avoid long script name split the button icon and button text)

Added some error checking

3.0.1 ~ 3.0.11

Bug Fix & Code Tidy Up

Added Language Support - Traditional Chinese, Japanese, Korean

Upgraded dependency @sizzlemctwizzle/GM_config to 2023.06.04

Minor Adjustment on Setting Popup Styles

Fixed Shortcut keys for MacOS

Added firstUse to show the settings dialog when the user first installs the script.

3.1.0 ~ 3.1.4

Fixed @inject-into to content. This is incorrect since Greasy Fork+ 1.0.0.

Fixed the incorrect RegExp strings

Fixed the incorrect css rules

3.2.0 ~ 3.2.8

Bug Fix & Performance Enhance

3.2.9 ~ 3.2.28

Update to VM.shortcut@1.4.0+

Added Length Hint for Additional Info TextArea

3.2.29 ~ 3.2.34

CDN for Script Installation

3.3.0 ~ 3.3.1

Added Recent Users Discussion Filter (New Registration Users within N hours)

Fixed custom blacklist filtering (space bug)

Added custom blacklist RegEx Filtering

Related Scripts

Greasy Fork Enhance

GreasyFork Dark

GreasyFork Search

Custom BlackList RegEx Filtering

It supports both plain text and RegEx filtering for blocking content appeared in script title or script description.

Filtering Methods

1. Plain Text (Case-insensitive)

Syntax: baidu, google fonts

Behavior:

Matches words exactly, ignoring case (e.g., Baidu and GOOGLE FONTS).

2. RegEx Filtering

Syntax: twitter, re/(baidu|google\sfonts)/i

Behavior:

Matches a simple word (e.g., twitter) or a pattern (e.g., re/(baidu|google\sfonts)/i filters "baidu" or "google fonts" case-insensitively).

3. Sub-conditions

Syntax: re/bot/i re/hack/i, game

Behavior:

Each condition is evaluated separately. If any match is found (for instance, text containing both any variant of "bot" and "hack", or "game"), the content is blocked.

Implementation Notes

Case-insensitive Matching:
Both plain text and RegEx (with i flag) ignore case.

RegEx Format:
Use re/<pattern>/<flags>. In RegEx flags, i for case-insensitive and u for unicode > 65535 (such as emojis).

Sub-conditions:
Sub-conditions are space-separated in RegEx format, meaning all conditions must be met to block content. For example, re/bot/i re/hack/i blocks content only if it contains both a variant of "bot" (e.g., Bot, BOT) and a variant of "hack" (e.g., Hack, HACK).

Hide Recent Users' Discussions

Default is 0 (Disabled)

Suggestion Value: 48 (48 hours)

Assume the spam will be removed within 48 hours.