Complete SOCKS5 setup guide
SOCKS5 Proxy Configuration Guide for Windows, Chrome, Firefox & cURL
Quick answer: enter the assigned proxy IP, SOCKS5 port, username and password in an application that supports SOCKS5. Use proxy-side DNS where available. For cURL, use socks5h:// or --socks5-hostname when the proxy should resolve destination hostnames.
Follow the platform-specific instructions below for Windows, Firefox, Chrome, AdsPower, GPM Browser and cURL. The guide also covers authentication, remote DNS, connection testing and common errors.
SOCKS5 Proxy Credentials and Formats
Before configuring any application, collect the exact proxy details from your HighProxies service. Do not guess the port or reuse credentials from another active service.
| Setting | Example placeholder | What to enter |
|---|---|---|
| Proxy type | SOCKS5 |
Select SOCKS5, not HTTP, HTTPS or SOCKS4. |
| Proxy host | PROXY_IP |
The assigned IPv4 address. |
| Proxy port | PORT |
The SOCKS5 port assigned to the service. |
| Username | USERNAME |
Your proxy authentication username. |
| Password | PASSWORD |
Your proxy authentication password. |
| Four-part format | PROXY_IP:PORT:USERNAME:PASSWORD |
Common format for browser-profile tools. |
| Remote-DNS URL | socks5h://USERNAME:PASSWORD@PROXY_IP:PORT |
Use in supporting clients when the proxy should resolve destination hostnames. |
Do not confuse the protocols: a SOCKS5 port will not work when the application is set to HTTP or HTTPS. Select the proxy type explicitly.
Quick SOCKS5 Proxy Test with cURL
Test the assigned proxy before changing browser or application settings. This separates a proxy or credential problem from an application-configuration problem.
Recommended test with proxy-side DNS
curl --show-error --max-time 15 \
--proxy 'socks5h://USERNAME:PASSWORD@PROXY_IP:PORT' \
'https://ifconfig.me/ip'
A successful result should display the assigned proxy IP rather than your normal public IP.
Verbose troubleshooting test
curl -v --max-time 15 \
--socks5-hostname 'PROXY_IP:PORT' \
--proxy-user 'USERNAME:PASSWORD' \
'https://www.google.com/'
The verbose output helps identify connection refusal, timeout, failed authentication and destination connection errors.
Test with a neutral destination first: use Google or an IP-check service before testing a website that may impose its own access restrictions.
How to Configure a SOCKS5 Proxy on Windows
Windows does not provide one dependable system-wide interface for every authenticated SOCKS5 workflow. The practical approach is to configure the proxy inside the application or use a SOCKS-aware routing program such as Proxifier. For more detail, see our Proxifier setup guide for Windows and macOS.
Add the proxy in Proxifier
- Open Proxifier.
- Go to Profile → Proxy Servers.
- Click Add.
- Enter the assigned proxy IP and port.
- Select SOCKS Version 5.
- Enable authentication and enter the username and password.
- Run the built-in proxy check.
Create a routing rule
- Open Profile → Proxification Rules.
- Add the application executable that should use the proxy.
- Select the SOCKS5 proxy as the rule action.
- Keep unrelated applications on the direct connection unless they also need the proxy.
Per-application rules are easier to test and less likely to disrupt normal Windows services than forcing every connection through one proxy.
How to Configure SOCKS5 in Firefox
Firefox provides native SOCKS5 host and port settings and a separate option for proxy-side DNS. Its standard proxy settings do not provide username and password fields, so use IP authorization for a HighProxies SOCKS5 service or route Firefox through Proxifier.
Open Firefox Settings.
Find Network Settings and click Settings or Configure proxy.
Select Manual proxy configuration.
Enter the assigned IP in SOCKS Host and enter the assigned port.
Select SOCKS v5.
Enable Proxy DNS when using SOCKS v5.
Save the settings, fully restart Firefox and verify the public IP. With HighProxies, authorize your current public IP before using Firefox’s native SOCKS5 settings.
Firefox DNS setting: enable proxy DNS when you want destination hostname resolution handled through the SOCKS5 route. Read SOCKS5 vs SOCKS5h for a detailed explanation.
How to Configure SOCKS5 in Chrome and Edge
Chrome and Chromium-based Edge can use a SOCKS5 proxy from the command line. However, native Chrome SOCKS5 connections do not support SOCKS5 authentication. Use this method only with IP authorization or another unauthenticated SOCKS5 endpoint.
Chrome command on Windows
"%ProgramFiles%\Google\Chrome\Application\chrome.exe" --proxy-server="socks5://PROXY_IP:PORT"
Microsoft Edge command on Windows
"%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" --proxy-server="socks5://PROXY_IP:PORT"
Close all existing Chrome or Edge windows before launching the command. A running browser process may reuse the existing session and ignore the new startup option.
Username/password limitation: do not embed credentials in the Chrome command and assume they will work. For authenticated SOCKS5, use IP authorization, AdsPower, GPM Browser, Proxifier or another tested client that explicitly supports SOCKS5 username/password authentication.
Chrome performs destination hostname resolution through a configured SOCKS5 proxy, but its native SOCKS5 mode is limited to TCP-based browser requests.
How to Configure SOCKS5 in AdsPower
AdsPower supports separate SOCKS5 host, port, username and password fields and includes a built-in proxy check.
Create a new browser profile or edit an existing profile.
Open the proxy configuration section.
Select Socks5 as the proxy type.
Enter PROXY_IP:PORT in the host and port field.
Enter the proxy username and password in their separate fields.
Click Check Proxy.
Save the profile only after the connection test passes.
AdsPower bulk proxy format
PROXY_IP:PORT:USERNAME:PASSWORD
Make sure the profile proxy type remains set to SOCKS5 when importing a four-part authenticated proxy string.
How to Configure SOCKS5 in GPM Browser
GPM Login supports SOCKS5 proxies in unauthenticated and authenticated formats.
Create a profile or open an existing profile for editing.
Open the proxy settings.
Select SOCKS5.
Enter the assigned proxy IP, port, username and password.
Run GPM Browser’s proxy test.
Save the profile and launch it after the test succeeds.
Supported input formats
PROXY_IP:PORT
PROXY_IP:PORT:USERNAME:PASSWORD
socks5://PROXY_IP:PORT
For an authenticated HighProxies service, use the four-part format or enter the credentials in the separate fields provided by the application.
How to Configure SOCKS5 with cURL
cURL supports both local destination DNS and proxy-side destination DNS. The two modes use the same SOCKS5 proxy but differ in where the destination hostname is resolved.
socks5://: local DNS
curl --max-time 15 \
--proxy 'socks5://USERNAME:PASSWORD@PROXY_IP:PORT' \
'https://ifconfig.me/ip'
cURL resolves the destination hostname locally before asking the proxy to connect.
socks5h://: proxy-side DNS
curl --max-time 15 \
--proxy 'socks5h://USERNAME:PASSWORD@PROXY_IP:PORT' \
'https://ifconfig.me/ip'
cURL sends the destination hostname to the proxy so the proxy resolves it.
Safer credential syntax
curl --show-error --max-time 15 \
--socks5-hostname 'PROXY_IP:PORT' \
--proxy-user 'USERNAME:PASSWORD' \
'https://ifconfig.me/ip'
Keeping credentials in --proxy-user is easier when a password contains shell-sensitive characters. Do not paste production credentials into public logs, screenshots or shared shell history.
Optional Python Requests Setup
Install Requests with SOCKS support:
python -m pip install 'requests[socks]'
Example using proxy-side DNS:
import requests
proxy_url = "socks5h://USERNAME:PASSWORD@PROXY_IP:PORT"
proxies = {"http": proxy_url, "https": proxy_url}
response = requests.get(
"https://ifconfig.me/ip",
proxies=proxies,
timeout=15,
)
response.raise_for_status()
print(response.text.strip())
Use environment variables or another secrets-management method rather than committing real credentials to source control.
Common SOCKS5 Proxy Errors and Fixes
| Error or symptom | Likely cause | What to do |
|---|---|---|
| Proxy works in cURL but not Chrome | Chrome does not handle authenticated SOCKS5 connections natively. | Use IP authorization, Firefox, AdsPower, GPM Browser or Proxifier. |
| DNS leak | The application is resolving destination hostnames locally. | Use socks5h://, --socks5-hostname or proxy-side DNS where supported. |
| 407 authentication error | The application may be using HTTP mode, the credentials may be incorrect or the current client IP may not be authorized. | Select SOCKS5, then check the username and password or confirm the authorized IP in the proxy control panel. |
| Timeout | The port, route, destination, firewall or local software may be blocking the connection. | Test another target, confirm the assigned port and check firewall or security software. |
| Website blocks the proxy | The destination applies its own access policy, rate limit or anti-automation controls. | Test with another website and avoid aggressive automated traffic. |
| Connection refused | Incorrect IP or port, or the service is unavailable. | Copy the assigned proxy IP and SOCKS5 port again, then test with cURL. |
| Authentication failed | Incorrect username or password. | Remove accidental spaces and verify that the credentials belong to the same service. |
| Could not resolve host | Local DNS failed while using socks5://. |
Retry with socks5h:// or --socks5-hostname. |
| Could not resolve proxy | The proxy hostname itself cannot be resolved. | Use the supplied proxy IP address rather than a hostname. |
| Operation timed out | Routing, firewall, unavailable endpoint or destination delay. | Use curl -v --max-time 15 and test a neutral destination. |
| Proxy IP does not appear | The application is bypassing the proxy or reusing an old session. | Close the application completely, verify its proxy type and retest. |
Correct troubleshooting order
- Confirm the proxy IP, SOCKS5 port, username and password.
- Test with cURL and
socks5h://. - Test a neutral website such as Google.
- Configure the target application.
- Compare local DNS and proxy-side DNS only after the base connection works.
SOCKS5 Security and Usage Notes
- SOCKS5 does not encrypt traffic by itself. Use HTTPS destinations when transport encryption is required.
- Proxy-side DNS applies only to applications and connections configured to use it.
- Do not share proxy credentials in screenshots, tickets visible to third parties or public code repositories.
- Use the proxy only for lawful workflows and follow the rules of the websites and services you access.
Dedicated SOCKS5 service
Need SOCKS5 Proxies for These Setups?
View fixed dedicated IPv4 SOCKS5 plans with multiple locations where available, unlimited bandwidth on listed packages and authentication options.
SOCKS5 Configuration FAQ
What proxy format should I use?
Use the format required by the application. Common formats are PROXY_IP:PORT, PROXY_IP:PORT:USERNAME:PASSWORD and socks5h://USERNAME:PASSWORD@PROXY_IP:PORT.
Should I use SOCKS5 or SOCKS5h?
Use SOCKS5h in supporting applications when the proxy should resolve destination hostnames. Use regular SOCKS5 when local destination DNS is acceptable. See the SOCKS5 vs SOCKS5h comparison.
Why does my SOCKS5 proxy work in cURL but not Chrome?
Chrome’s native SOCKS5 mode does not support SOCKS5 authentication. Use IP authorization or an application such as AdsPower, GPM Browser or Proxifier that supports authenticated SOCKS5 connections.
Does SOCKS5 encrypt my traffic?
No. SOCKS5 routes supported traffic but does not encrypt it by itself. HTTPS still provides end-to-end encryption for HTTPS websites.
Where can I buy compatible SOCKS5 proxies?
See the HighProxies premium SOCKS5 proxy plans and check the available datacenter locations before ordering when a specific location is required.