A web app that converts Tampermonkey/Greasemonkey userscripts into cross‑browser Manifest V3 extensions. The generated ZIP can be loaded in Chrome or Firefox and uses the native userScripts API to inject the userscript.
- Registers scripts with
chrome.userScripts.registerin a sandboxed world. - Generates a
manifest.jsonwith host permissions,optional_permissions: ['userScripts'], and aminimum_chrome_versionof 120. - Provides a Greasemonkey API polyfill (
GM_*functions,unsafeWindow, etc.) viauserscript_api.js. - Supports dynamic code execution by configuring the user‑script world with a relaxed CSP (
script-src 'self' 'unsafe-eval' blob:). - Exposes the latest JSON response on
window.zand includes a helper to safely evaluate dynamic element expressions. - Includes both
background.service_workerandbackground.scriptsentries for Chrome and Firefox compatibility.
npm install
npm run devnpm run buildThe built files are output to dist/.
Pushes to main trigger the GitHub Actions workflow in .github/workflows/deploy.yml which builds and publishes the site to GitHub Pages.
- Build or convert a userscript through the web UI to obtain a ZIP archive.
- Extract the ZIP and load it as an unpacked extension.
- Chrome: visit
chrome://extensions, enable Developer mode, choose Load unpacked, and select the extracted folder. Open the extension’s Details page and enable Allow User Scripts (or enable the#enable-extension-content-script-user-scriptflag on older versions). - Firefox: open
about:debugging, choose This Firefox, click Load Temporary Add-on, and selectmanifest.json. Grant the requested permission when prompted. If you enable the permission later from the add-on's details page, the extension will now detect the change and register automatically without requiring a manual reload.
- Chrome: visit
After these steps the userscript is registered and runs on matching pages using each browser’s native user‑script engine.
Have suggestions or found a bug? Please visit feel free to open issues or provide feedback.
If you'd like to support the project, consider donating via PayPal.