Skip to content

SysAdminDoc/ScriptVault

Repository files navigation

ScriptVault

ScriptVault

A powerful, open-source userscript manager built on Chrome Manifest V3

Version Manifest V3 License Chrome 120+

FeaturesInstallationQuick StartSecurityContributing


Features

GM API — 24+ Functions

Full Greasemonkey/Tampermonkey API compatibility with promise-based GM.* async variants.

Storage Network UI Utilities
GM_getValue GM_xmlhttpRequest GM_addStyle GM_info
GM_setValue GM_fetch GM_notification GM_log
GM_deleteValue GM_download GM_registerMenuCommand GM_setClipboard
GM_listValues GM_unregisterMenuCommand GM_openInTab
GM_getValues GM_addElement GM_getResourceText
GM_setValues GM_getResourceURL
GM_deleteValues
GM_addValueChangeListener
GM_removeValueChangeListener

Plus GM_getTab, GM_saveTab, GM_getTabs for cross-tab state management.

Script Management

  • Auto-detect installation — Navigate to any .user.js URL
  • One-click toggle — Enable/disable scripts individually or globally
  • Auto-updates — Configurable update intervals with notifications
  • Version tracking — Installed vs. available version comparison
  • Tags & search — Organize and filter scripts by name, description, or metadata
  • Popup quick-edit — Click any script in the toolbar popup to jump straight into the editor

Advanced URL Matching

  • Full @match, @include, @exclude, @exclude-match support
  • User overrides — Add custom match patterns without editing script code
  • Per-pattern toggles — Disable individual original patterns per-script
  • Glob and regex pattern support

Cloud Sync

Sync scripts across devices with 5 providers:

Provider Method
WebDAV Self-hosted or any WebDAV server
Google Drive OAuth2 integration
Dropbox App folder sync
OneDrive Microsoft account integration
Browser Sync Chrome's built-in sync

Built-in Code Editor

  • CodeMirror with JavaScript syntax highlighting
  • 5 dark themes — Monokai, Dracula, Material Darker, Nord, Ayu Dark
  • Code folding, bracket matching, auto-close
  • Search & replace (Ctrl+F / Ctrl+H)
  • Real-time userscript metadata linting
  • Open in vscode.dev for external editing

Security

  • Script isolationUSER_SCRIPT world via chrome.userScripts API
  • Blacklist system — Remote + manual blacklists
  • Permission analysis — Visual @grant permission breakdown on install
  • @connect validation — Restrict XHR domains
  • CSP handling — Works on sites with strict Content Security Policies
  • Zero telemetry — No phone home, all data stays local

Import & Export

  • ZIP — Full backup with scripts + settings
  • JSON — Text-based backup
  • URL import — Install directly from any URL
  • Clipboard import — Paste script code directly

Internationalization

Available in 8 languages:

English • German • Spanish • French • Japanese • Portuguese • Russian • Chinese


Installation

From Source (Developer Mode)

  1. Clone or download this repository:

    git clone https://github.com/SysAdminDoc/ScriptVault.git
    cd ScriptVault
  2. Open Chrome and navigate to chrome://extensions

  3. Enable Developer mode (toggle in top right)

  4. Click Load unpacked and select the repository folder

  5. Chrome 138+: Click the extension's "Details" and enable Allow User Scripts

Chrome Web Store

Coming soon


Quick Start

Installing Scripts

Method Steps
Direct URL Navigate to any .user.js URL — ScriptVault auto-detects it
Dashboard import Dashboard → Utilities → paste URL or code → Import
Create new Dashboard → click + → write script → Ctrl+S

Managing Scripts

Action How
Toggle Click the switch next to any script
Edit Click the script name (dashboard or popup)
Delete Click the trash icon
View storage Click the database icon to inspect GM_getValue data

Keyboard Shortcuts

Shortcut Action
Alt+Shift+S Open ScriptVault popup
Alt+Shift+D Open Dashboard
Alt+Shift+E Toggle all scripts on/off
Ctrl+S Save script (in editor)
Ctrl+F Find in editor
Ctrl+H Find and replace
Ctrl+G Go to line

Supported Metadata

// ==UserScript==
// @name           Script Name
// @namespace      https://example.com
// @version        1.0.0
// @description    What the script does
// @author         Your Name
// @match          https://example.com/*
// @include        http://example.org/*
// @exclude        *://example.com/private/*
// @exclude-match  *://admin.example.com/*
// @grant          GM_getValue
// @grant          GM_setValue
// @grant          GM_xmlhttpRequest
// @require        https://code.jquery.com/jquery-3.6.0.min.js
// @resource       myCSS https://example.com/style.css
// @icon           https://example.com/icon.png
// @run-at         document-end
// @connect        api.example.com
// @downloadURL    https://example.com/script.user.js
// @updateURL      https://example.com/script.meta.js
// @supportURL     https://github.com/user/repo/issues
// @homepageURL    https://github.com/user/repo
// @license        MIT
// @antifeature    tracking
// @tag            productivity
// ==/UserScript==

@run-at Options

Value Timing
document-start Before DOM loads
document-body When <body> exists
document-end When DOM is complete (default)
document-idle When page is fully loaded

Security Model

Layer Protection
Script isolation Scripts run in isolated USER_SCRIPT world via chrome.userScripts API
Permission transparency Installation page shows all requested @grant permissions
Network restrictions @connect domains are validated before XHR requests
Blacklist protection Remote + manual blacklists block known malicious scripts
Zero telemetry No data collection, no phone home — everything stays local

Comparison

Feature ScriptVault Tampermonkey ViolentMonkey
Manifest V3 Yes Yes Yes
Full GM API (24+) Yes Yes Yes
Cloud Sync (5 providers) Yes Yes Yes
Open Source MIT No Yes
Free Yes Freemium Yes

Project Structure

ScriptVault/
├── manifest.json              # Extension manifest (MV3)
├── background.js              # Service worker — API, sync, script registration
├── content.js                 # Content script bridge (USER_SCRIPT <-> background)
├── pages/
│   ├── dashboard.html/js/css  # Main settings & editor UI
│   ├── popup.html/js          # Toolbar popup
│   └── install.html/js        # Script installation page
├── images/                    # Extension icons (16-512px, .ico)
├── lib/
│   └── codemirror/            # CodeMirror editor + addons
└── _locales/
    └── */messages.json        # 8 language translations

Contributing

Contributions are welcome. Feel free to open a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

License

MIT License — see LICENSE for details.


Acknowledgments


ScriptVault v1.1.0
Your scripts, your rules — locked down and loaded

About

A powerful, modern userscript manager built with Manifest V3. Feature-rich yet lightweight, with Tampermonkey-inspired functionality.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors