dhdd-browser

n8n node for creating and launching browser profiles with automatic proxy authentication

Package Information

Downloads: 93 weekly / 93 monthly
Latest Version: 1.1.5
Author: DHD

Documentation

n8n-nodes-dhd-browser

n8n community node for creating and launching browser profiles with automatic proxy authentication.

Features

  • ✅ Create browser profiles with fingerprint configuration
  • ✅ Parse proxy strings or use separate proxy fields
  • ✅ Automatic proxy authentication injection (no manual login required)
  • ✅ Launch Chromium/Chrome with custom profiles
  • ✅ Support for fingerprinting (OS, Chrome version, User Agent, Timezone, etc.)
  • ✅ Modify Chrome Preferences automatically
  • ✅ Inject proxy authentication via Chrome DevTools Protocol

Installation

npm install n8n-nodes-dhd-browser

How It Works

This node implements the same approach used by professional browser automation tools:

  1. Create Profile:

    • Parses proxy configuration (from string or separate fields)
    • Generates browser fingerprint
    • Creates profile directory structure
    • Modifies Chrome Preferences to set proxy server
    • Saves profile configuration JSON
  2. Launch Profile:

    • Loads profile configuration
    • Launches Chromium with --proxy-server flag
    • Connects via Chrome DevTools Protocol
    • Injects Proxy-Authorization header automatically via Network.setExtraHTTPHeaders()
    • Browser is ready to use without manual proxy login

Usage

Create Profile

  1. Set Operation to "Create Profile"

  2. Provide:

    • Profile Name: Name for your profile
    • Profile Directory: Base directory where profiles will be stored
    • Proxy Configuration: Choose "Proxy String" or "Separate Fields"
    • Browser Fingerprint: Configure OS, Chrome version, User Agent, etc.
  3. Output: Profile configuration path and details

Launch Profile

  1. Set Operation to "Launch Profile"

  2. Provide:

    • Profile Config Path: Path to the profile.config.json file created by "Create Profile"
    • Chrome Executable Path: Full path to Chrome/Chromium executable
    • Headless: Whether to run in headless mode
    • Window Size: Browser window size (e.g., "1920x1080")
  3. Output: Browser connection information (WebSocket endpoint, debug port)

Proxy Format

Proxy String Format

http://username:password@proxy.example.com:8080
socks5://user:pass@192.168.1.1:1080

Separate Fields

  • Proxy Type: http, https, socks4, socks5
  • Proxy Host: IP address or hostname
  • Proxy Port: Port number
  • Proxy Username: Authentication username
  • Proxy Password: Authentication password

Browser Fingerprint

Configure fingerprint settings:

  • OS: Windows, macOS, Linux
  • Chrome Version: Chrome version to emulate (e.g., "120.0.0.0")
  • User Agent: Custom user agent (auto-generated if empty)
  • Screen Resolution: e.g., "1920x1080"
  • Timezone: e.g., "America/New_York", "Asia/Ho_Chi_Minh"
  • Language: Browser language, e.g., "en-US", "vi-VN"

Technical Details

Automatic Proxy Authentication

The node uses Chrome DevTools Protocol to inject proxy authentication:

  1. Browser launches with --proxy-server flag
  2. Node connects to browser via DevTools Protocol (debug port)
  3. Enables Network domain: Network.enable()
  4. Sets extra HTTP headers: Network.setExtraHTTPHeaders() with Proxy-Authorization: Basic base64(user:pass)
  5. All requests automatically include authentication header

This approach ensures:

  • ✅ No manual proxy login dialog
  • ✅ Authentication persists for entire browser session
  • ✅ Works with HTTP, HTTPS, SOCKS4, and SOCKS5 proxies

Chrome Preferences

The node automatically modifies Chrome Preferences file to:

  • Set proxy server configuration
  • Store fingerprint settings
  • Configure default browser behavior

Requirements

  • Node.js >= 18
  • Chrome or Chromium browser installed
  • n8n >= 1.0.0

Dependencies

  • puppeteer-core: Browser automation
  • chrome-remote-interface: Chrome DevTools Protocol client
  • fs-extra: File system operations
  • uuid: Generate unique profile IDs

License

MIT

Author

DHD

Discussion