Extensions

Extensions, honestly

Vev runs content-script extensions — the CSS/JS-into-pages kind — and tells you plainly what the embedded engine doesn't support.

What runs

Unpacked extensions with content_scripts: dark-mode themes, CSS restylers, and userscript-style helpers. Vev parses the manifest (MV2 or MV3), evaluates Chrome match patterns, and injects the declared JS and CSS at document start or end.

What doesn't

Background pages, popups, and chrome.* APIs — the embedded engine (CEF) has no Chrome-extension runtime for them. Rather than half-load and break, Vev states this when you add such an extension.
Using it

Install an extension

  1. Get an unpacked extension — a folder containing a manifest.json (not a .crx).
  2. Open vev://extensions from the address bar or the menu.
  3. Point Vev at the folder and toggle the extension on.
  4. Reload any open pages so the content scripts inject.

Supported match patterns include <all_urls>, *://*/*, and host wildcards like https://*.example.com/*.

FAQ

Questions about extensions

Can I install any Chrome extension?

You can install the content-script class of extensions — the kind that inject CSS or JavaScript into pages (dark-mode themes, restylers, userscript-style helpers). Extensions that need background pages, popups, or chrome.* APIs won't run, because the embedded engine has no Chrome-extension runtime. Vev tells you this up front instead of failing silently.

How do I install one?

Open vev://extensions, point Vev at an unpacked extension folder (one that contains a manifest.json), and toggle it on. Reload open pages to apply it.

Which manifest features are supported?

Vev reads MV2 and MV3 manifests and honours content_scripts: matches, exclude_matches, js, css, and run_at (document_start or document_end). Chrome match patterns like *://*/* and https://*.example.com/* work through a fast, unit-tested wildcard engine.

Is this safe?

Content scripts run in the page like any site script. Only install extensions you trust — the same advice as any browser. Vev keeps them local; nothing about your extensions is uploaded.