Skip to content

Browser Extension

WarpDL supports browser extension integration through the Native Messaging Host protocol. This allows browser extensions to communicate directly with the WarpDL daemon.

BrowserProtocolStatus
ChromeNative MessagingSupported
FirefoxNative MessagingSupported
ChromiumNative MessagingSupported
EdgeNative MessagingSupported
BraveNative MessagingSupported

If you installed WarpDL via Homebrew, Scoop, or a Linux package manager (deb/rpm), the native messaging host is configured automatically during installation.

For manual installations, run:

Terminal window
warpdl native-host install --auto

This uses default extension IDs. For custom extension IDs:

Terminal window
warpdl native-host install \
--chrome-extension-id "your-chrome-extension-id" \
--firefox-extension-id "your-firefox-extension-id"
Terminal window
warpdl native-host install --browser chrome --chrome-extension-id "extension-id"
warpdl native-host install --browser firefox --firefox-extension-id "extension-id"
Terminal window
warpdl native-host status

This shows installation status for all supported browsers.

Terminal window
warpdl native-host uninstall

Or for a specific browser:

Terminal window
warpdl native-host uninstall --browser chrome
Browser Extension → Native Messaging → warpdl native-host run → Daemon
  1. Browser extension sends download requests via Native Messaging protocol
  2. WarpDL’s native host binary receives the message
  3. Request is forwarded to the WarpDL daemon
  4. Download proceeds with all WarpDL features (parallel segments, resume, etc.)

The native messaging manifests are installed to browser-specific locations:

  • macOS: ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/
  • Linux: ~/.config/google-chrome/NativeMessagingHosts/
  • Windows: Registry + %LOCALAPPDATA%\Google\Chrome\User Data\NativeMessagingHosts\
  • macOS: ~/Library/Application Support/Mozilla/NativeMessagingHosts/
  • Linux: ~/.mozilla/native-messaging-hosts/
  • Windows: Registry + %APPDATA%\Mozilla\NativeMessagingHosts\
  1. Check if the daemon is running:

    Terminal window
    warpdl list
  2. Verify native host installation:

    Terminal window
    warpdl native-host status
  3. Reinstall native host:

    Terminal window
    warpdl native-host uninstall
    warpdl native-host install --auto

Ensure the WarpDL binary has execute permissions:

Terminal window
chmod +x $(which warpdl)