SOCKS5 “general SOCKS server failure” Error
The SOCKS5 proxy accepted your request but could not complete it and reported a general failure without specifying the cause.
Updated · Prokso editorial team
- The SOCKS5 proxy accepted the request but reported a general failure without giving a reason
- Often the site is unreachable from the exit address or uses a closed port
- Retry the request and check that the site's port is among the open ones
What the error means
In the SOCKS5 protocol (RFC 1928), the server answers a client request with a code in the REP field. The code X'01' means “general SOCKS server failure”. The standard does not specify what exactly went wrong: this is the code for cases that do not fall under the other, more precise codes.
After any reply other than success (X'00'), the server closes the connection according to the standard, no later than 10 seconds afterwards. So the program sees the error and the disconnect at the same time.
How the error looks depends on the program. For example, the PySocks library, which Python requests uses for socks5://, prints General SOCKS server failure; other programs show the code number 1.
Causes
- The site is unreachable from the exit address. The proxy could not establish a connection to the site and did not specify the reason.
- The site is on a closed port. Ports 80, 443, 53, 853, 5228, 5060, 8080, 8090, 8443, 8888 are open through the proxy; mail ports are closed.
- The site is closed to all customers. Government resources, banks, payment systems: the full list is on the blocked websites page.
- The site name was resolved locally to a bad address. With the socks5:// scheme, the program looks up the site's IP itself; with socks5h://, the proxy does it.
- The exit device left the network. The sticky IP of residential and mobile proxies may change earlier if the device disconnected.
How to fix it
- Retry the request: on rotation ports, each request goes through a new IP.
- Check the site's port: it must be among the open ones. The list of restrictions is on the Blocked websites page.
- Use the
socks5h://scheme so that the proxy resolves the site name. An example is in the Python requests guide. - Make sure SOCKS5 goes to port 824 or to a sticky IP port 10000-20000, not to HTTP port 823.
- If the error happens on all sites, write to support with the time, the plan name and the site where it occurred.
How to check that it works
Check the line in the proxy checker with the SOCKS5 protocol. If the check passes and the error occurs on one site, the cause is the availability of that site or its port.
Setup guides where this error comes up
FAQ
How is general failure different from connection refused?
Connection refused (X'05') means the site refused the connection, and the server reported that directly. General failure (X'01') is a failure without details. See <a href="/en/errors/socks5-connection-refused">SOCKS5 connection refused</a>.
Is this a username or password error?
No. The username and password check in SOCKS5 happens in a separate step under RFC 1929 and has its own reply. The X'01' code comes after sign-in.
Which is better, socks5 or socks5h?
With socks5h, the proxy resolves the site name, and the DNS query also goes through it. For working through a proxy this is usually more convenient: the site address is determined from the side of the exit country.
Other proxy errors
Residential $1.59, mobile $2.50, datacenter $0.65 per GB
Sign up in a minute, get access right after payment.