NexDM logo
NeXDM Docs
Getting Started Browser Extension Speed Optimization P2P Protocols Troubleshooting Security & SHA-256

Browser Extension Setup

How to integrate NeXDM with Chrome, Microsoft Edge, and Chromium browsers.

1. Architectural Architecture: The "Dumb Extension" Paradigm

Unlike traditional browser extensions that inject heavy DOM-sniffing scripts, execute invasive network monkey-patching, or inject dynamic DLLs into third-party processes, the NeXDM companion extension adheres strictly to a lightweight, Manifest V3 "Dumb Extension" architecture.

The extension never performs client-side DOM scraping, ad injection, or background telemetry harvesting. Its sole responsibility is to act as an authenticated, low-latency bridge between Chromium's internal download subsystem and NeXDM's native Rust execution daemon.

[Web Page Click] → [Chromium Network Stack] → [chrome.downloads.onDeterminingFilename] ↓ [32-Bit Length-Prefixed Stdio Frame] ← [Native Messaging Host IPC (localhost)] ↓ [NeXDM Rust Engine: 64-Segment Nitro Download → Asynchronous IOCP Direct Write]

2. The Native Messaging IPC Protocol Specification

Communication between the browser extension and the desktop application relies on Chromium's native inter-process communication protocol: Native Messaging.

When a user initiates a download, the extension packages the download metadata—including the target URL, filename suggestion, MIME content-type, active HTTP session cookies, and Referer headers—into a JSON payload. It transmits this payload to the NeXDM desktop binary across standard input (stdin) using a 32-bit length-prefixed framing format:

This binary stdio channel guarantees sub-millisecond dispatch times with zero network socket exposure, preventing unauthorized external access from local network interfaces or port scanners.

3. Windows Registry Discovery Configuration

Chromium browsers locate the native binary via registry keys registered under the current user's profile hive. During setup, NeXDM registers the native host manifest at:

HKCU\Software\Google\Chrome\NativeMessagingHosts\com.nexdm.native_host HKCU\Software\Microsoft\Edge\NativeMessagingHosts\com.nexdm.native_host

This registry key points directly to a local JSON host manifest file on your storage volume:

{
  "name": "com.nexdm.native_host",
  "description": "NeXDM Native Messaging IPC Host",
  "path": "C:\\Program Files\\NeXDM\\nexdm_native_host.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://kcdkmbakbgcgaikjcdhllpccpeggmmpm/"
  ]
}

4. Step-by-Step Browser Installation Walkthrough

Step 1: Install from the Chrome Web Store

Navigate to the official Chrome Web Store listing in Google Chrome, Microsoft Edge, Brave, or Vivaldi:

Add NeXDM Companion Extension to Chrome / Edge ↗

Note for Brave & Edge users: If prompted, click "Allow extensions from other stores" to enable 1-click installation from the Chrome Web Store.

Step 2: Verify Initial IPC Handshake

Launch the NeXDM desktop app. Click the extension icon in your browser toolbar; the status badge will immediately illuminate green, indicating "Connected to NeXDM Core".

5. Core Extension Features & Interception Logic

6. Troubleshooting Common Handshake Anomalies

If the extension displays a "Host Not Connected" notification:

  1. Verify that the NeXDM desktop application has been launched at least once on your workstation to register the registry key.
  2. Check that third-party antivirus software has not blocked registry modifications under HKCU\Software\Google\Chrome\NativeMessagingHosts.
  3. In the desktop application, navigate to Settings → Integration and click "Re-register Native Host" to restore default registry mappings.

Next Step: Optimize Network Throughput

Now that browser integration is active, learn how to configure multi-socket thread limits and TCP window parameters in our optimization guide:

Read the Speed Optimization Guide →