/ScratchAddons

All-in-one browser extension for Scratch.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Scratch Addons logo

Welcome to Scratch Addons' repository!


About

Scratch Addons is a WebExtension (supports both Chrome and Firefox). Scratch Addons' mission is to combine all existing Scratch extensions, userscripts and userstyles into a single easy-to-access place, while still letting users choose which ones to enable.

What's actually an "addon"?

An addon is similar to an extension or a userscript, but they use special APIs provided by the Scratch Addons extension. These APIs allow addons to run scripts on a Scratch page (userscripts), run scripts on the background (persistent scripts), or apply styles to the Scratch website (userstyles).

Userscripts and persistent scripts can use the addon.* JavaScript APIs, which allow them to obtain Scratch-related information (for example, get the current logged in user) and also use extension APIs (like sending notifications).

Converting an already existing extension/userscript into an addon, or writing your own, is very easy. Check out the guide.

If everything is an addon, then what does Scratch Addons do?

Scratch Addons by itself is just an addon loader. Its main tasks are:

  • Allow users to enable, disable and configure addons.
  • Run addons and provide APIs to them.
  • Provide global state to addons (for example, the addon.auth API).
  • Pollute prototypes for use by addon userscripts.
  • Provide ways to access and modify Redux state.
  • Avoid addons from interfering with each other.
  • Avoid duplicate work from different addons.

Addons outside of Scratch Addons itself

Other extensions (and even forks of Scratch) can also provide their users with most addons from Scratch Addons, as long as a compatibility layer for addon.* and other parts of the addon loader is present. Notable examples are the Scratch 3 Developer Tools extension and the TurboWarp editor. These also inherit translations from the Scratch Addons project.

Install

From extension stores


    ↳ Install on Google Chrome, Opera, Brave, Vivaldi, Microsoft Edge (>79), and other Chromium-based browsers.


    ↳ Install on Mozilla Firefox.

From source

No build is required. You may download the source code by doing one of these steps.

  1. Cloning the repository by running git clone https://github.com/ScratchAddons/ScratchAddons.git.
  2. Download the zipball of the current state of the repository here.
  3. Download one of the builds on the releases page. (.zip recommended)

After downloading the extension to your computer, just load it by following these steps.

  • Google Chrome/Microsoft Edge

    1. Open chrome://extensions or edge://extensions to open the Extension Management page by typing it into your address bar.
    2. Enable Developer Mode by clicking the toggle switch next to Developer mode.
    3. Click the Load unpacked button on the top and select the extension directory which has the manifest.json file in it.
  • Mozilla Firefox

    1. Open about:debugging to open the debugging page by typing it into your address bar.
    2. Click This Firefox on the left-hand menu.
    3. Click Load Temporary Add-on... and select the manifest.json file.

Contribute

If you found a bug, or want to suggest new features, please use the issues tab. If you want to help with the code or add a new addon, fork this repository, and then create a pull request. Also, please read our contributing guidelines.

License

Scratch Addons is licensed under the terms of the GNU General Public License v3.0.

Other third-party libraries used are listed on /libraries/README.md.