A Firefox extension that enables Chromecast support for casting web apps (like YouTube, Netflix or BBC iPlayer) and HTML5 media.

Requires a companion bridge application to connect with receiver devices. Currently supported on Windows, macOS and Linux.

The current v0.x.x releases are incomplete and may be unstable.

Firefox Extension
Other bridge downloads
Screenshot, receiver selector popup.

FAQs

  • How do I cast something?

    Screenshot, media context menu.

    Sites with Chromecast support

    For sites with built-in Chromecast support, the site must be added to the whitelist to get the cast button to appear. You can easily add a site to the whitelist from the toolbar button context menu.

    Once whitelisted, reload the page and click the cast button in the player controls to start casting.

    Not all sites are well-supported and you may encounter issues. See below, for more info.

    HTML5 Media

    For certain types of media, there is a "Cast..." menu item in the browser context menu for the media player (if the player has a custom context menu, try shift-clicking to bring up the browser context menu).

    This may not be visible depending on whether the media is DRM-encumbered or has a network-accessible URL to send to the Chromecast device.

  • Why do I need the bridge?

    API limitations. Chromecast device discovery requires an mDNS/DNS-SD implementation, something which isn't provided by (or possible with) WebExtension APIs. Communicating with Chromecast devices require making TCP connections, which is also not possible.

    Relevant Firefox bugs:

  • Can I install the bridge through a package manager?

    The bridge is available for macOS and Arch Linux via several third party packages. The extension is not bundled with these packages and must still be installed separately.

    Any issues specific to these packages should be directed to the respective package maintainers.

    macOS

    The bridge is available via Homebrew for macOS by running brew install --cask fx-cast-bridge.

    Arch Linux (AUR)

    fx_cast-binhttps://aur.archlinux.org/packages/fx_cast-bin

  • Why aren't my devices being found?

    The bridge relies on system services (Bonjour on Windows/macOS, Avahi on Linux) to provide device discovery. If the bridge isn't able to find any devices, there may be a configuration issue (either with the system service or the network).

    If you're using Arch Linux, Avahi is not configured by default to resolve .local hostnames via the NSS which is required to resolve Chromecast device addresses. See more information here.

    Other issues include:

    • The devices you're looking for may not be compatible. Chrome also supports a limited number of apps on some Smart TVs via an older protocol called DIAL which isn't currently supported.
    • Some network configurations may interfere with mDNS packets. Virtual machine network adapters typically will not work out of the box, for example.

    • There may be an issue with the bridge causing it to close unexpectedly. Check the Browser Console for error logs and submit a new issue on GitHub with some more information (if necessary).

  • Why isn't the bridge found when using the Firefox snap/Flatpak package?

    Whilst running inside a sandboxed version of Firefox, the extension is unable to start the bridge by itself. The bridge must be started in daemon mode, and the "Enable backup daemon connection" option enabled in the extension.

  • How do I completely remove the bridge?

    Windows

    Removing the bridge on Windows should be as easy as running the uninstaller found in the control panel, settings application, or application directory.

    To manually uninstall, remove the following files/directories and registry keys:

    • C:\Program Files\fx_cast\
    • HKLM\Software\Mozilla\NativeMessagingHosts\fx_cast_bridge
    • HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\fx_cast_bridge

    macOS

    Remove the following files/directories:

    • /Library/Application Support/fx_cast/
    • /Library/Application Support/Mozilla/NativeMessagingHosts/fx_cast_bridge.json

    Linux

    For third-party packages, check the documentation provided by the package maintainer.

    On Debian-based systems, remove the fx-cast-bridge package, otherwise for Fedora-based systems, remove the fx_cast_bridge package.

    To manually uninstall, remove the following files/directories:

    • /opt/fx_cast/
    • /usr/lib/mozilla/native-messaging-hosts/fx_cast_bridge.json
    • /usr/lib64/mozilla/native-messaging-hosts/fx_cast_bridge.json
  • Why is there no sound when casting a screen or tab?

    API limitations. There's no method of obtaining the audio streams. Merging of audio streams from remote media is also not possible due to cross-origin issues.

    Relevant Firefox bugs:

  • Why doesn't 𝑥 site work?

    Compatibility with Chrome is far from perfect. Most sites will only enable their cast support if the browser reports itself as Chrome, so ensure that you've added the site to the whitelist. Some sites may not test their Chrome-specific code with Firefox, so it's possible that they're using incompatible/non-standard APIs.

    The Cast API is also not fully implemented and has some stubbed methods. The current implementation likely also has edge-cases and bugs which may cause issues.

    Check the compatibility list or if the site is not yet added, submit a new compatibility report issue.

  • Why can't I cast DRM-encumbered media?

    Unforunately, for DRM-encumbered media, there's no network-accessible URL to provide to the Chromecast and no means of accessing the media streams. The only way to cast on sites like this is via built-in Chromecast support, which may not always be available.

  • Why is it taking so long for a full release?

    Though I do enjoy working on this, it's (obviously) not a full-time thing. It's just a hobby project. You can help speed up development by contributing (see below).

  • How can I support development?

    Contributing code, translations, compatibility reports, or even reporting bugs is very helpful. See the contributing guide for more information.


    You can also donate via PayPal:

    Donate with PayPal button