Files
rangerhq-tuner/README.md
T

2.8 KiB

RangerHQ Tuner

version license manifest V3 Chrome Web Store last commit languages no telemetry made in Dublin

Lightweight indie internet radio player for Chrome. Plays SomaFM in any browser tab. Manifest V3, vanilla JS, no telemetry.

Sibling to rangerhq-radio (the WordPress version).

Tier 1 — MVP (current)

  • Manifest V3 + Offscreen API audio
  • Loads all SomaFM channels from channels.json
  • Pick a station, click Play, audio runs in background
  • Volume + state persisted across popup open/close
  • Catalogue cached 6h in chrome.storage.local
  • Source-adapter pattern in place for future networks

Install (developer mode)

  1. Open chrome://extensions
  2. Toggle Developer mode on (top right)
  3. Click Load unpacked → pick this folder (rangerhq-tuner/)
  4. Pin the extension to your toolbar (puzzle icon → pin)
  5. Click the toolbar icon → pick a SomaFM station → ▶ Play

Project layout

rangerhq-tuner/
├── manifest.json
└── src/
    ├── background/service-worker.js   # message router, no audio here
    ├── offscreen/offscreen.{html,js}  # the <audio> element host (MV3 needs this)
    ├── popup/popup.{html,css,js}      # the toolbar UI
    ├── sources/                       # extensibility seam
    │   ├── base-source.js             # RadioSource interface (JSDoc)
    │   ├── somafm.js                  # first concrete adapter
    │   └── index.js                   # registry
    ├── lib/                           # shared utilities
    └── assets/icons/                  # 16/32/48/128 PNGs

License

GPL-2.0-or-later — matches the rest of the RangerHQ family.