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:
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
Launch Profile:
- Loads profile configuration
- Launches Chromium with
--proxy-serverflag - Connects via Chrome DevTools Protocol
- Injects
Proxy-Authorizationheader automatically viaNetwork.setExtraHTTPHeaders() - Browser is ready to use without manual proxy login
Usage
Create Profile
Set Operation to "Create Profile"
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.
Output: Profile configuration path and details
Launch Profile
Set Operation to "Launch Profile"
Provide:
- Profile Config Path: Path to the
profile.config.jsonfile 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")
- Profile Config Path: Path to the
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:
- Browser launches with
--proxy-serverflag - Node connects to browser via DevTools Protocol (debug port)
- Enables Network domain:
Network.enable() - Sets extra HTTP headers:
Network.setExtraHTTPHeaders()withProxy-Authorization: Basic base64(user:pass) - 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 automationchrome-remote-interface: Chrome DevTools Protocol clientfs-extra: File system operationsuuid: Generate unique profile IDs
License
MIT
Author
DHD