Top Related Projects
Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.
Violentmonkey provides userscripts support for browsers. It works on browsers with WebExtensions support.
An open-source userscript manager for Safari
Stylus - Userstyles Manager
Quick Overview
Greasy Fork is an open-source website for hosting and managing user scripts. It serves as a platform for users to share, discover, and install scripts that enhance or modify web pages. The project is built using Ruby on Rails and provides a user-friendly interface for script management and distribution.
Pros
- Provides a centralized platform for user script sharing and discovery
- Offers a clean and intuitive user interface for script management
- Supports multiple languages and localization
- Includes built-in script validation and security checks
Cons
- May require significant server resources to host and maintain
- Potential for abuse through malicious scripts if not properly moderated
- Limited customization options for individual script pages
- Dependency on external services for some features (e.g., Google reCAPTCHA)
Getting Started
To set up a local development environment for Greasy Fork:
-
Clone the repository:
git clone https://github.com/greasyfork-org/greasyfork.git cd greasyfork
-
Install dependencies:
bundle install yarn install
-
Set up the database:
cp config/database.yml.sample config/database.yml # Edit config/database.yml with your database settings rails db:create db:schema:load
-
Start the development server:
rails server
-
Visit
http://localhost:3000
in your web browser to access the local Greasy Fork instance.
Note: This is a simplified setup process. For a complete guide, including additional configuration steps and requirements, refer to the project's README and documentation.
Competitor Comparisons
Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.
Pros of Tampermonkey
- Browser extension for userscript management, offering direct script installation and execution
- Provides a built-in editor for creating and modifying userscripts
- Supports automatic script updates and synchronization across devices
Cons of Tampermonkey
- Limited to browser-based usage, not a centralized script repository
- Requires installation of a browser extension, which may not be suitable for all users
- Lacks community features like ratings, comments, and discussions found in Greasyfork
Code Comparison
Greasyfork (Ruby on Rails):
class Script < ApplicationRecord
belongs_to :user
has_many :script_versions
has_many :comments
end
Tampermonkey (JavaScript):
function GM_xmlhttpRequest(details) {
return new Promise((resolve, reject) => {
// Implementation details
});
}
The code snippets highlight the different focuses of the projects. Greasyfork's code relates to managing scripts in a database, while Tampermonkey's code is about providing userscript functionality within the browser.
Violentmonkey provides userscripts support for browsers. It works on browsers with WebExtensions support.
Pros of Violentmonkey
- More actively maintained with frequent updates and bug fixes
- Supports a wider range of browsers, including Firefox, Chrome, and Edge
- Offers a more user-friendly interface for managing userscripts
Cons of Violentmonkey
- Lacks a centralized script repository like Greasy Fork
- May have slightly higher resource usage due to additional features
- Smaller community compared to Greasy Fork, potentially resulting in fewer available scripts
Code Comparison
Violentmonkey (JavaScript):
// @grant GM_xmlhttpRequest
GM_xmlhttpRequest({
method: 'GET',
url: 'https://example.com',
onload: function(response) {
console.log(response.responseText);
}
});
Greasy Fork (Ruby on Rails):
class Script < ApplicationRecord
belongs_to :user
has_many :script_versions
validates :name, presence: true
scope :active, -> { where(deleted: false) }
end
The code snippets highlight the different focus of each project. Violentmonkey provides APIs for userscript functionality, while Greasy Fork manages script metadata and relationships in a web application context.
An open-source userscript manager for Safari
Pros of userscripts
- Focused on macOS, providing a native app experience for managing userscripts
- Offers a clean, user-friendly interface for script management
- Includes features like script syncing and automatic updates
Cons of userscripts
- Limited to macOS, reducing accessibility for users on other platforms
- Smaller community and fewer available scripts compared to Greasy Fork
- Less extensive documentation and support resources
Code comparison
Greasy Fork (Ruby on Rails):
class Script < ApplicationRecord
belongs_to :user
has_many :script_versions
validates :name, presence: true
end
userscripts (Swift):
struct Script: Codable, Identifiable {
let id: UUID
var name: String
var content: String
var enabled: Bool
}
The code snippets show different approaches to script management. Greasy Fork uses a Ruby on Rails model with associations, while userscripts employs a Swift struct for script representation. Greasy Fork's approach is more suitable for a web-based platform, whereas userscripts' implementation is tailored for a native macOS application.
Stylus - Userstyles Manager
Pros of Stylus
- Focuses specifically on user styles, providing a more streamlined experience for CSS customization
- Offers a browser extension for easy style management and application
- Supports advanced features like style editing and live preview
Cons of Stylus
- Limited to CSS styles only, unlike Greasy Fork's support for userscripts
- Smaller user base and community compared to Greasy Fork
- Less extensive documentation and resources for new users
Code Comparison
Stylus (manifest.json):
{
"name": "Stylus",
"version": "1.5.21",
"description": "Redesign the web with Stylus, a user styles manager.",
"manifest_version": 2,
"minimum_chrome_version": "49"
}
Greasy Fork (Gemfile):
source 'https://rubygems.org'
gem 'rails', '~> 6.1.0'
gem 'mysql2'
gem 'devise'
gem 'therubyracer'
The code snippets highlight the different focus of each project. Stylus is a browser extension for managing user styles, while Greasy Fork is a Ruby on Rails web application for hosting and managing userscripts and styles.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Greasy Fork is an online repository of user scripts and user styles.
Help
Post in the Greasy Forum for help with Greasy Fork, user scripts, user script managers, or related.
Contributing
Greasy Fork welcomes contributions. Learn about running Greasy Fork locally and contributing code.
Donations
If you like Greasy Fork, consider making a donation to help pay for hosting. Suggested amount is $10.
License
Greasy Fork is licensed under the GPLv3.
Top Related Projects
Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.
Violentmonkey provides userscripts support for browsers. It works on browsers with WebExtensions support.
An open-source userscript manager for Safari
Stylus - Userstyles Manager
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot