A lightweight WebExtension that adds customizable actions to both your right-click context menu and an interactive floating selection toolbar. Supports URL templates, browser speech synthesis, and custom Kokoro TTS servers.
- Context Menu & Floating Toolbar: Quickly trigger actions from either right-clicking or selecting text directly on any webpage.
- Dynamic URL Templates: Build custom search/lookup URLs using
{text},{lang_from}, and{lang_to}placeholders. - Kokoro TTS Integration: High-quality neural Text-to-Speech support via OpenAI-compatible endpoints with configurable speed, voice, and credentials.
- Built-in Speech Synthesis: Native browser text-to-speech with
ext:speak. - Clean Configuration UI: Modern options page with live auto-save, inline delete protection, and toast feedback.
- Minimal Permissions: Operates with strict minimal permissions (
contextMenus,storage).
├── background.js # Background script (context menus, tab management, Kokoro API)
├── content.js # Content script (floating selection toolbar, audio playback)
├── options.html / .js # Configuration page for actions, language, and TTS settings
├── style.css # Modern responsive design system for options UI
├── manifest.json # WebExtension Manifest V3
├── Dockerfile # Minimal OCI container for GHCR packaging
├── .github/workflows/
│ ├── ci.yml # Automated linting & validation on PRs and pushes
│ └── release.yml # Release workflow (GitHub Release + GHCR package push)
└── package.json # Developer scripts and web-ext lint tool
Packages are automatically published to GHCR on every tagged release:
docker pull ghcr.io/mcavdar/right-click:latestExtract extension files from the container image:
docker create --name rca ghcr.io/mcavdar/right-click:latest
docker cp rca:/extension ./right-click-extension
docker rm rca- Open Firefox and navigate to
about:debugging#/runtime/this-firefox. - Click "Load Temporary Add-on...".
- Select
manifest.jsonfrom this repository.
npm run lintnpm run buildThe packaged .zip extension will be generated inside the dist/ directory.
- Runs on every push and PR to
main/master. - Validates
manifest.jsonand runsweb-ext lint. - Validates test build packaging.
- Triggers on version tag push (e.g.
git tag v3.0.0 && git push origin v3.0.0) or manual workflow dispatch. - Builds the WebExtension
.zipdistribution archive. - Creates a GitHub Release with downloadable assets.
- Builds and publishes the OCI/Docker container package to GitHub Container Registry (
ghcr.io/mcavdar/right-click).