Magic Userscript+
IMPORTANT
If the current webpage is set to block resources through CSP
It can cause this script not work for that webpage!
https://developer.mozilla.org/docs/Web/HTTP/CSP
A complete rewrite of Userscript+ : Show Site All UserJS
Finds available Userscripts for the current webpage, the power of Greasy Fork on the go!
Changelog
List of known issues by Web Browser
Download
Userscript:
Web Extension:
Version |
Install |
Alternative |
Notes |
Chrome/Edge/Opera |
GitHub |
N/A |
Work in progress |
Firefox |
GitHub |
Add-on Store |
Work in progress |
(Not Recommended) Bookmarklet:
Save this URL as a bookmark, clicking it will cause the userscript version to inject itself into the current webpage.
javascript:(function(){['https://cdn.jsdelivr.net/gh/magicoflolis/Userscript-Plus@master/userscript/dist/magic-userjs.user.js'].map(s=>document.body.appendChild(document.createElement('script')).src=s)})();
Demos |
|
|
Features
- Designed for mobile and desktop devices
- Support multiple languages - date formats will match your current language
- Ability to customize theme
- Ability to import / export config and theme
- Ability to search for userscripts
- Ability to filter userscripts which do not match your current language
- Ability to query userscripts from any hostname
- Ability to sort userscripts, default sorting "Daily Installs"
- Available search engines Greasy Fork, Sleazy Fork, Open UserJS, GitHub ( requires a Personal Access Token, the token does not require any permissions )
- Built-in userscript Greasyfork Search with Sleazyfork Results include
- Preview any userscript code before install
- Save any userscript to local file
- Highlights which userscripts are created by the author
- Highlights recommended userscripts from the author
Userscript Features:
Tested and compatible with TamperMonkey or ViolentMonkey
- Ability to maximize, minimize, or exit the userscript list
- Ability to change the position of floating counter
- Sync config with Userscript Manager or choose to have site based configs
Bookmarklet Features:
- Ability to maximize, minimize, or exit the userscript list
- Ability to change the position of floating counter
- Ability to choose to have site based configs
Webextension Features:
FAQ / Troubleshooting
How do I open the menu?:
- Click or touch the bottom right of a webpage
Nothing appears bottom right:
List of known issues by Web Browser
Error occurred while injecting Container:
- Try again on another webpage [Test Page]
- This error is caused by the current webpage not supporting attachShadow
Error occurred while loading UserJS for this webpage:
- Reload the webpage or try again on a different webpage [Test Page]
- This error may be caused by
- An error occurred in an enabled search engine while fetching content
- Script is unable to fetch content on current or all webpages
No available UserJS for this webpage:
- This error can be caused when no UserJS could be found in enabled search engines
- If there are known UserJS to exist in enabled search engines, enable
Filter out other languages
Viewing UserJS Logs
- Open your web browsers Inspect Element and navigate to it's Console
- Locate the following [UserJS] < message > ( you can filter your Console by entering UserJS or [ )
- If nothing appears, this means the script is not executing at all!
- For any additional help, submit a New Issue
Build
Developed in VSCodium
Install Node.js and pnpm. The version of Node.js should match "node"
key in package.json
.
# Install dependencies
$ pnpm i
Userscript Version
Desktop version - developed using ViolentMonkey, see How to edit scripts with your favorite editor?
Mobile version - developed using FireFox Developer Edition "Responsive Design Mode" on desktop + cromite app on Android
# Watch and compile to local HTTP server
$ pnpm run dev:UserJS
# Compile UserJS
$ pnpm run pub:UserJS
Webextension Version
# Compile webextension (dev version) for "Chromium" to "./tests/chrome"
$ pnpm run dev:Cr
# Compile webextension (dev version) for "Firefox" to "./tests/chrome"
$ pnpm run dev:FF
# Compile webextension (public version) for "Chromium" to "./tests/chrome"
$ pnpm run webpack:Cr
# Compile webextension (public version) for "Firefox" to "./tests/chrome"
$ pnpm run webpack:FF
# [ Testing ]
# Browsers can be launched via "Run and Debug" in VSCode.
# Edit runtimeExecutable in ".vscode/launch.json" to your Chrome executable.
# Recommended to create an additional profile "about:profiles" for Firefox.
Roadmap
- Finish webextension version
Source Code