System-Level Proxy Configuration
Set global proxy settings using environment variables. These apply to all watches unless overridden at the watch level.HTTP proxy URL for non-SSL requestsExample:
HTTPS proxy URL for SSL requestsExample:
Comma-separated list of domains/IPs to exclude from proxyExample:Useful for excluding notification URLs and internal services from proxying.
Docker Compose Example
SOCKS5 Proxy Support
Changedetection.io supports SOCKS5 proxies for the basic HTTP fetcher (requests library).SOCKS5 with Authentication
SOCKS5 DNS Resolution
Usesocks5h:// to perform DNS resolution through the proxy:
Per-Watch Proxy Configuration
Configure proxies for individual watches through the web UI or API.Using proxies.json
Create aproxies.json file in your datastore directory to define reusable proxy profiles:
Mount proxies.json in Docker
Select Proxy in Watch Settings
Once defined inproxies.json, proxies appear in the watch edit page:
- Edit a watch
- Go to the Request tab
- Select your proxy from the Proxy dropdown
- Save the watch
Bright Data Proxy Integration
Changedetection.io supports Bright Data (formerly Luminati) proxy services. Bright Data will match any first deposit up to $150 using our signup link.Bright Data Configuration
Bright Data proxy URL with zone and credentialsFormat:Example:
Bright Data Proxy Types
- Residential - Port 22225 (rotating residential IPs)
- Datacenter - Port 22225 (datacenter IPs)
- Mobile - Port 22225 (mobile carrier IPs)
- ISP - Port 22225 (ISP-assigned IPs)
Authentication with Playwright/Puppeteer
For browser-based fetchers (Playwright/Puppeteer), proxy authentication is handled automatically via thepage.authenticate() method when credentials are present in the proxy URL:
The deprecated
Proxy-Authentication header approach is no longer used. Modern browsers handle authentication via the CDP (Chrome DevTools Protocol) authenticate() method.Playwright and WebDriver Proxy Settings
When using browser-based fetchers, additional proxy configuration options are available.Playwright Proxy Environment Variables
Proxy server URL for PlaywrightExample:
Comma-separated domains to bypass proxyExample:
Proxy authentication username for Playwright
Proxy authentication password for Playwright
WebDriver/Selenium Proxy Settings
Proxy type:
MANUAL, PAC, DIRECT, AUTODETECT, SYSTEMFTP proxy address
Addresses that should bypass the proxy
URL for proxy auto-config (PAC) file
Whether to autodetect proxy settings
SOCKS proxy address and port
SOCKS proxy username
SOCKS proxy password
SOCKS version (4 or 5)
Oxylabs Proxy Integration
Changedetection.io also supports Oxylabs proxy services, offering Residential, ISP, Rotating and many other proxy types.Oxylabs Configuration Example
Troubleshooting
Proxy Connection Failed
If you seeProxy connection failed? SOCKSHTTPSConnectionPool errors:
- Verify the proxy URL format is correct
- Check that the proxy server is accessible from your changedetection.io container
- Test the proxy with curl:
DNS Resolution Issues
If you need DNS to be resolved through the proxy (e.g., for accessing internal hostnames), usesocks5h:// instead of socks5://:
Proxy Not Working with Playwright
For Playwright/Puppeteer fetchers:- Ensure the proxy doesn’t require SOCKS5 authentication (not yet supported)
- Use HTTP/HTTPS proxies with authentication instead
- Check the container can reach the proxy server
Best Practices
- Use per-watch proxies for sites that block datacenter IPs
- Rotate proxies by creating multiple proxy profiles
- Set NO_PROXY to exclude notification services and local resources
- Test proxies before deploying to production
- Monitor proxy usage through your proxy provider’s dashboard
Related Documentation
- Environment Variables - All system environment variables
- Notifications Setup - Configure NO_PROXY for notification URLs
- API Documentation - Programmatic proxy configuration