Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volumaster

Volumaster icon

Per-tab volume control with boost up to 200%.

Adjust, mute, and remember volume per website.
Chrome · Edge · Firefox · Brave · Opera — Manifest V3, zero dependencies.

Features · Install · How It Works · Architecture · Privacy Policy


Preview

Volumaster popup showing per-tab volume control

Features

  • Per-tab volume slider — 0–200% range, boost above 100%
  • Volume boost — amplify quiet audio via Web Audio API GainNode
  • Mute/unmute — independent of volume level, works at any boost
  • Domain memory — volume settings persist per website across sessions
  • Dark monochrome UI — clean, minimal, no distractions
  • Lightweight — no frameworks, no backend, no telemetry

Install

Chrome / Edge / Brave / Opera

  1. Download or clone this repo
  2. Open chrome://extensions
  3. Enable Developer mode
  4. Click Load unpacked and select this folder

Firefox

  1. Open about:debugging#/runtime/this-firefox
  2. Click Load Temporary Add-on
  3. Select manifest.json

Note: Temporary add-ons are removed when Firefox closes. To keep Volumaster, submit it to Firefox Add-ons.

How It Works

Range Behaviour
0–100% Standard volume — 0% is silent, 100% is original level
100–200% Boost — audio is amplified up to 2× via GainNode
Mute Independent toggle — works at any volume including boost

Volume settings are stored per domain and restored when you return to a site.

Architecture

manifest.json
src/
  background.js              Tab tracking, volume commands (service worker)
  content-script.js          Applies volume to <video>/<audio> elements
  lib/
    browser-compat.js        Cross-browser scripting API wrapper
    volume.js                Volume mapping (0–200 → 0–2× gain)
    storage.js               Session + sync storage with fallbacks
    throttle.js              Utilities (throttle, extractDomain, truncate)
  services/
    tab-tracker.js           Tab state via chrome.storage.session
    media-detector.js        Detects media elements via scripting.executeScript
    profiles.js              Per-domain volume memory via sync storage
  popup/
    popup.html               Popup UI
    popup.css                Monochrome dark theme
    popup.js                 Popup logic and rendering
icons/
  icon.svg                   Source logo
  icon-{16,32,48,128}.png    Extension icons
docs/
  screenshot.png             Extension preview

Permissions

Permission Reason
activeTab Detect current tab for volume changes
tabs Read tab info (title, URL domain) for the popup
storage Save volume settings per domain
scripting Inject volume control into pages
<all_urls> Apply volume control on any page with media

No data is collected, transmitted, or shared. See Privacy Policy.

Credits

@rbnz0

License

MIT

About

Per-tab volume control with boost up to 200%. Adjust, mute, and remember volume per website.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages