Proxies and location
Give each profile its own proxy. Echidna routes the browser through it, keeps WebRTC on the proxy's address, and can set the profile's timezone and location from where the proxy exits.
Supported proxies
Echidna supports HTTP, HTTPS and SOCKS5 proxies, with or without a username and password. Paste them in any of these forms:
host:port
host:port:user:pass
user:pass@host:port
socks5://user:pass@host:port
http://host:port
A proxy without a scheme is treated as HTTP. Usernames and passwords can't contain spaces and are limited to 256 characters. Proxies with a login, including SOCKS5 ones, work without any extra setup: Echidna handles the credentials for the browser.
Save and check proxies
Open Proxies to keep a pool of proxies you can reuse.
- Add proxies takes a list, one per line. You can label them with a Type (Residential, Mobile, ISP, Datacenter and so on, for your own reference), a Group and a two-letter Country.
- Import… reads a text file with one proxy per line.
- Check all tests every saved proxy. Each shows a status: Working, Failing, Cooling down, Disabled or Not checked.
- More → Check with a website… also loads a page through each proxy: Google, Cloudflare or My page (an https address you choose). More → Clean up… helps remove proxies that don't work.
The Quick check tab tests a pasted list without saving it, four proxies at a time. From the results you can Save N working, Create N profiles or Copy working.
What a check does
A check connects through the proxy and asks a public “what is my IP” service for the exit address, then reports that address and how long it took. If it fails, the message says why:
| Message | What to do |
|---|---|
| the proxy didn't answer in time | The proxy is slow or offline. Try again or replace it. |
| the proxy refused the connection | Check the host and port. |
| the proxy rejected the username/password | Check the login, or whether your IP must be allow-listed with the provider. |
| the proxy's hostname doesn't resolve | Check the spelling of the host name. |
| the TLS handshake through the proxy failed | Check the proxy type (HTTP versus HTTPS). |
Assign a proxy to a profile
In the profile editor, open the Proxy tab and choose Use a proxy. Paste the proxy into Quick paste or fill in Type, Host, Port, Username and Password, then press Check proxy. Choosing No proxy (direct) means websites will see your real IP address.
Other ways to assign proxies:
- On the Proxies page, use a proxy's Assign to a profile…. It replaces the profile's proxy from the next time the profile opens.
- Select several profiles and use Tools… → Assign proxies from pool…: A different proxy each or Take turns (profiles share proxies), optionally only with proxies no profile uses yet.
- Batch create can give each new profile its own proxy.
Timezone and location follow the proxy
With Settings → General → Match timezone and location to the proxy on (the default), each time a profile opens Echidna finds the proxy's exit IP and sets the profile's timezone, geolocation and WebRTC address to match it.
- This applies only while the profile's Timezone and Geolocation are left on automatic. A value you set on the Fingerprint tab always wins.
- The language never changes with the proxy. By default it follows your computer's languages; set it per profile on the Fingerprint tab if you need another.
- The exit IP is found through the proxy. The location for that IP is then looked up with the public service
ipwho.is; that lookup is made directly from your computer, not through the proxy. - Profiles without a proxy skip all of this and use your computer's own timezone and location.
WebRTC
WebRTC can reveal an IP address outside the proxy. Each profile has a WebRTC setting on its Fingerprint tab:
| Option | Behaviour |
|---|---|
| Automatic (proxy IP) | The default. With a proxy, WebRTC reports the proxy's address; without one, it behaves normally. |
| Proxy IP | WebRTC reports the proxy's exit address. |
| Block non-proxied UDP | Chrome's own policy that stops WebRTC traffic that would bypass the proxy. |
| Real IP (not recommended) | WebRTC shows your real address. |
When WebRTC is set to the proxy's address, Echidna's browser sends no WebRTC UDP traffic around the proxy. The proxy's address is only known when Echidna looked up the exit IP at launch, which it does when timezone or location follow the proxy, or when Block launch when the proxy is down is on.
When a proxy is down
Settings → General → Block launch when the proxy is down decides what happens if a profile's proxy is missing or doesn't respond at launch:
- On: the profile is not opened, so your real IP is never exposed. A profile with no proxy also won't open.
- Off (the default): the profile opens with a warning, using your computer's timezone and location.
Scripts can ask for the same behaviour per launch with require_proxy=true; see Engine API.