Your proxy threw an error. Whose is it?
curl -s -o /dev/null -x http://USER:[email protected]:8000 \
-w 'proxy: %{http_connect} site: %{http_code}\n' \
https://example.com/Over HTTPS the proxy only speaks when it answers the CONNECT. The first number is the proxy; the second is the site. Your dashboard lists the host and port for every order, and it wins over this page.
The error, where it usually comes from, and what to try first
| Error | Usually from | Try first |
|---|---|---|
| 407 407 Proxy Authentication Required | The proxy, about your credentials | Copy USER:PASS fresh from the dashboard and retry in curl |
| 403 403 Forbidden | The target site | Load the same URL without the proxy and compare |
| 429 429 Too Many Requests | The target, about your request rate | Read Retry-After and wait that long |
| 502 502 Bad Gateway | Either: the proxy path or the site’s load balancer | Check whether it came on the CONNECT or inside the tunnel |
| 503 503 Service Unavailable | Usually the target; sometimes the proxy path | Read the body: outage page, challenge page, or tunnel error |
| TIMEOUT Connection timeout | Any leg; residential exits are the usual slow one | Set separate connect and read timeouts and see which fires |
| TLS SSL certificate errors | Your client config, or the site’s certificate | Write the proxy URL with http:// and update your CA bundle |
| ECONNREFUSED Connection refused | The proxy address in your config | Check host and port against the dashboard, then test in curl |
Over HTTPS, the proxy only talks during CONNECT.
To reach an HTTPS site, your client asks the proxy to open a tunnel with CONNECT host:443. The proxy answers that once. After it says 200, TLS runs end to end between you and the site, and the proxy passes encrypted bytes it cannot read or change.
So a status that comes back as the answer to CONNECT is the proxy’s, and your tool usually reports it as a proxy or tunnel exception. A status you read from an ordinary response is the site’s. A 407 is always the first kind. A 403 or 429 read from a response is always the second. A 502 or 503 can be either, and the curl command above tells you which.
One page per error
- 407
407 Proxy Authentication Required
The proxy did not accept your login. Nearly always the credentials, or the way your tool sends them.
Work it out → - 403
403 Forbidden
The website refused you. Through a proxy that is usually about the IP range, your headers or your pace.
Work it out → - 429
429 Too Many Requests
The site says you are going too fast, and it often says for how long.
Work it out → - 502
502 Bad Gateway
A go-between got a bad answer from the next hop. Could be the proxy, could be the site’s own load balancer.
Work it out → - 503
503 Service Unavailable
Somebody is overloaded, down for maintenance, or turning you away. The body and Retry-After tell you which.
Work it out → - TIMEOUT
Connection timeout
Nothing came back in time. Find out which leg stalled before you raise the limit.
Work it out → - TLS
SSL certificate errors
Certificate checks fail between you and the site. The proxy passes TLS through untouched, so look at the site and your CA bundle.
Work it out → - ECONNREFUSED
Connection refused
Something said no before any HTTP happened. Usually the host or port you gave for the proxy.
Work it out →
Stop the errors before they start
The long version of the three errors people hit most is in the guide to 407, 403 and 429. Each setup guide lists the exact messages its tool prints, and not getting blocked covers pacing and headers in depth.
Error not on the list?
Paste it in the Discord, with the command that caused it and the password taken out. Someone there has probably seen it already.
Join the Discord4,200+monkeys in the Discord
Help from humans
Post your error, get an answer. Usually in minutes, usually from someone who has hit the same wall.
A status bot that tells on us
Pool health, incidents and maintenance posted automatically. Including the bad days.
Deals and free traffic
Bonus GB drops, early access to new pools, and the occasional giveaway for a good bug report.