Firefox MeTube addon

August 12, 2026 · View on GitHub

Firefox Add-on License: MPL 2.0 GitHub issues

Browser extension for queueing videos to your MeTube instance.

Context Menu Integration

Context menu on video links

Extension popup with options

Features

  • One-Click Sending - Send current page to MeTube with a single click or keyboard shortcut
  • Context Menu Integration - Right-click on links or the page itself to send to MeTube
  • Keyboard Shortcuts - Customizable keyboard shortcut (default: Ctrl+Shift+M)
  • SSO Authentication Support - Works with SSO systems like Authentik, Authelia, and Keycloak
  • Custom Headers - Add custom HTTP headers for authentication or other purposes
  • Playlist Control - Strict Playlist Mode prevents unwanted full playlist downloads
  • Folder Variables - Categorize downloads automatically with %DOMAIN%, %DATE% and friends
  • Flexible Configuration - Control quality, format, folder, auto-start, and more

Installation

Install from Firefox Add-ons

See the CHANGELOG for version history and release notes.

Usage

Note: This extension requires a running MeTube instance. MeTube is a self-hosted YouTube downloader with a web interface. If you don't have MeTube set up yet, visit the MeTube project for installation instructions.

Basic Usage

  1. Configure your MeTube instance URL in addon preferences (about:addons → MeTube Downloader → Options)
  2. Navigate to any video page (YouTube, Vimeo, etc.)
  3. Send to MeTube using one of these methods:
    • Click the extension icon in the toolbar
    • Use the keyboard shortcut Ctrl+Shift+M (or Cmd+Shift+M on Mac)
    • Right-click on a video link and select "Send to MeTube"
    • Right-click on the page itself and select "Send page to MeTube"

All four methods behave the same way, controlled by One-Click Mode. When it is disabled (the default), the popup opens pre-filled with the target URL so you can adjust quality, folder or any other option before sending. When it is enabled, the download is queued immediately without opening the popup.

Keyboard Shortcuts

The extension supports the following keyboard shortcut:

  • Ctrl+Shift+M (Windows/Linux) or Cmd+Shift+M (Mac) - Send current page to MeTube

You can customize this shortcut in Firefox:

  1. Navigate to about:addons
  2. Click the gear icon ⚙️ at the top
  3. Select "Manage Extension Shortcuts"
  4. Find "MeTube Downloader" and customize the "Send current page to MeTube" shortcut

Enabling SSO Support

If your MeTube instance is behind SSO authentication (e.g., Authentik, Authelia, Keycloak):

  1. Open extension settings (about:addons → MeTube Downloader → Options)
  2. Enter your MeTube instance URL
  3. Check the "Send cookies for authentication (SSO)" checkbox
  4. Read the privacy notice that appears explaining why <all_urls> permission is needed
  5. Click "Save Settings" - Firefox will prompt you to allow access to all websites
  6. Open your MeTube instance in a browser tab and log in through your SSO provider
  7. The extension will now use your existing session cookies to authenticate requests

Folder and Filename Variables

The Default Folder and Custom Name Prefix settings accept variables that are replaced when the download is queued. This lets you sort downloads automatically instead of typing a folder every time.

VariableReplaced withExample
%HOSTNAME%Full hostname of the URLwww.youtube.com
%DOMAIN%Hostname without a leading www.youtube.com
%DATE%Current date, YYYY-MM-DD2026-08-12
%YEAR%Current year2026
%MONTH%Current month, zero-padded08
%DAY%Current day, zero-padded12

Examples

Setting valueResult for a https://www.youtube.com/watch?v=... link
%DOMAIN%youtube.com
videos/%DOMAIN%videos/youtube.com
%DOMAIN%/%YEAR%/%MONTH%youtube.com/2026/08
%DATE% - (as name prefix)2026-08-12 -

Notes

  • Variables are resolved against the URL being sent. Right-clicking a link uses that link's hostname, not the hostname of the page you are viewing.
  • Variable names are case-sensitive and must be wrapped in %.
  • Unknown variables such as %FOO% are left untouched, so existing settings that contain a % keep working.
  • Characters that are illegal in file names are replaced with -, and a variable that resolves to nothing (for example on about: pages) leaves no empty folder behind.
  • Using a folder requires CUSTOM_DIRS to be enabled on your MeTube instance.

Options

OptionDescriptionDefault
MeTube Instance URLURL of your MeTube instance (e.g., https://metube.example.com)"" (empty)
Default TypeWhat to download: Video, Audio, Captions, or Thumbnailvideo
Default CodecPreferred video codec (Auto / H.264 / H.265 / AV1 / VP9) — only shown for Video typeauto
Default FormatContainer/format for downloads. Options depend on Type (e.g., MP4/iOS for video, MP3/M4A/OPUS/WAV/FLAC for audio, SRT/VTT/... for captions)any
Default QualityQuality setting. For Video: best/2160p/...; for Audio: bitrate (depends on format). Hidden for Captions/Thumbnailbest
Default Subtitle LanguageSubtitle language code (e.g., en, es, zh-Hans) — only used for Captions typeen
Default Subtitle SourceSubtitle source preference (prefer manual / manual only / auto only / prefer auto) — only used for Captions typeprefer_manual
Default FolderFolder where downloaded files will be saved. Supports variables"" (empty)
Custom Name PrefixPrefix added to downloaded file names. Supports variables"" (empty)
Open in New TabOpen MeTube instance in new tab after adding to queuefalse
Show Context Menu on LinksShow "Send to MeTube" when right-clicking linkstrue
Show Context Menu on PageShow "Send page to MeTube" when right-clicking the pagetrue
Auto StartAutomatically start downloads when readytrue
One-Click ModeQueue downloads immediately instead of opening the popup. Applies to the toolbar icon, the keyboard shortcut and both context menu entriesfalse
Strict Playlist ModeOnly download playlists when URL explicitly points to one (prevents downloading YouTube Mixes when you only want the current video)false
Send Custom HeadersEnable inclusion of custom headers when queueingfalse
Custom HeadersSpecify custom header names and values for authentication or other purposes[] (empty)

Permissions

This extension requires the following permissions:

  • Access browser tabs (activeTab) - To get the current tab's URL when you want to send it to MeTube.
  • Display context menu (menus) - To show the right-click context menu option.
  • Store data (storage) - To save your MeTube instance URL and preferences.

Runtime permissions (requested when saving settings):

  • Access your MeTube instance - When you save settings, the extension requests permission to access your MeTube URL. This is required for the extension to send requests to your MeTube instance.
  • Access all websites (<all_urls>) - Only requested if you enable "Send cookies for authentication (SSO)". This is necessary because SSO authentication systems redirect to different domains (e.g., Authentik, Authelia, Keycloak) for login.
  • Access cookies - Required for SSO mode to send authentication cookies to your MeTube instance.

Troubleshooting

Connection Issues

Error: "MeTube instance url not configured"

  • Go to about:addons → MeTube Downloader → Options and enter your MeTube URL

Error: "Connection failed" with HTTP URLs (e.g., http://server:5510)

  • Firefox HTTPS-Only Mode blocks HTTP requests from extensions (Firefox bug #1685862)
  • Important: Site exceptions do NOT work for extension requests - this is a known Firefox limitation
  • Workaround: Use direct IP address instead of hostname (e.g., http://192.168.1.100:5510 instead of http://server.local:5510)
    • Firefox has built-in HTTPS-Only Mode exemptions for local IP addresses
  • Solution 1: Disable HTTPS-Only Mode entirely (Settings → Privacy & Security → HTTPS-Only Mode → "Don't enable")
  • Solution 2: Use HTTPS with a reverse proxy

Error: "Connection failed" or CORS errors with HTTPS URLs

  • Missing host permission: Re-save your settings in addon preferences (about:addons) and accept the permission prompt when Firefox asks. This is the most common fix.
  • Self-signed certificate: Visit your MeTube URL in a browser tab first and accept the security warning/certificate
  • CORS not configured: If re-saving settings doesn't help, set CORS_ALLOWED_ORIGINS=* on your MeTube instance — see CORS Configuration below.
  • SSO/Authentication: Enable "Send cookies for authentication (SSO)" in extension settings (see Enabling SSO Support)

Error: "Authentication failed. Your MeTube instance is redirecting to authentication"

  • You need to log in to your MeTube instance first
  • Open your MeTube URL in a regular browser tab and log in through your SSO provider
  • Then try using the extension again from that same tab

CORS Configuration

In most cases, re-saving your addon settings and accepting the permission prompt is enough — Firefox grants the extension direct access to your MeTube instance, bypassing CORS entirely.

If you still get CORS errors after that, you can configure MeTube itself to allow cross-origin requests. Since MeTube v2025.4.9, cross-origin requests are denied by default. Set CORS_ALLOWED_ORIGINS=* on your MeTube instance (browser extensions use unpredictable moz-extension:// origins, so * is the only viable value).

Docker Compose:

services:
  metube:
    image: ghcr.io/alexta69/metube
    environment:
      - CORS_ALLOWED_ORIGINS=*

Docker CLI:

docker run -e CORS_ALLOWED_ORIGINS=* ghcr.io/alexta69/metube

Debugging and Viewing Logs

To view detailed error messages and logs:

  1. Navigate to about:debugging#/runtime/this-firefox
  2. Find "MeTube Downloader" and click "Inspect"
  3. Go to the Console tab
  4. Try sending a video to MeTube and check the console for error details

Other Issues

Context menu not appearing

  • Go to extension settings and enable "Show Context Menu"

One-click mode not working

  • Verify "One-Click Mode" is enabled in settings
  • The extension popup will be disabled when one-click mode is active

For other issues, please create an issue on GitHub.

Roadmap

  • keyboard shortcuts
  • new tab in popup with download history
  • option to customize the list of sites where the context menu will appear
  • enhance the user interface for settings (maybe in separate tab)
  • dark/light mode theme support for popup and options pages
  • Chrome/Edge browser port (cross-browser compatibility)
  • mobile Firefox support (optimize UI for Firefox on Android)
  • upgrade to Manifest V3
  • Github Actions for creating releases (maybe publish to Mozilla too?)

Development

Loading for Development

  1. Navigate to about:debugging#/runtime/this-firefox
  2. Click "Load Temporary Add-on"
  3. Select src/manifest.json from this repository

Support

Having issues? Check the Troubleshooting section above or create an issue on GitHub.

Contributing

If you would like to contribute, please create an issue or make a pull request.

Thanks to the following contributors for their work on this project:

License

This project is licensed under the Mozilla Public License Version 2.0.