TrueSocks

Security · 8 min

How to Test a Proxy: Speed, Anonymity, Geolocation and Leaks

To test a proxy properly, check six things in order: the string format, whether the proxy connects, which exit IP the world sees, where geolocation databases place that IP, how fast it is against your real target, and whether your browser leaks your real address through headers, WebRTC or DNS. The whole checklist takes ten to fifteen minutes and saves hours of debugging later. Run it right after you buy proxies and before you connect real accounts or start a large scraping job.

  • TrueSocks team
  • 8 min read

Step 1. Check the proxy string format

A surprising share of "dead proxy" reports are formatting mistakes: login and port swapped, a missing colon, a tool expecting ip:port:login:password when you pasted login:password@ip:port. Rule this out first, because every later test depends on it.

Paste your list into the free TrueSocks proxy checker. It parses the common formats (ip:port, ip:port:login:password, login:password@ip:port, and full socks5:// or http:// URLs), shows the host, port and credentials for each line, flags lines that cannot be valid and converts the whole list into the format your software expects.

  • Impossible addresses, such as an octet above 255, are a typo, not a broken proxy.
  • Private ranges like 192.168.x.x or 10.x.x.x are not reachable from the internet.
  • No login and password usually means the proxy uses IP allowlisting: your own IP must be authorized on the provider side.

Step 2. Test connectivity with curl

curl is the quickest neutral test because it removes your browser, extensions and app settings from the picture. Send a request through the proxy to any service that returns your public IP. Below, ip.example.com is a placeholder: use any IP echo service you trust.

HTTP and SOCKS5 proxy tests
# HTTP(S) proxy
curl -x http://login:[email protected]:8000 https://ip.example.com

# SOCKS5 proxy, DNS resolved on the proxy side
curl -x socks5h://login:[email protected]:8000 https://ip.example.com

# verbose output to see where it fails
curl -v -x socks5h://login:[email protected]:8000 https://ip.example.com

Note the h in socks5h://. With plain socks5://, curl resolves the domain name on your machine and sends only the IP to the proxy, which means your own DNS resolver sees every site you visit. With socks5h:// the proxy resolves names itself. If the protocol is new to you, read what is a SOCKS5 proxy.

Reading common errors

  • Connection timed out: wrong host or port, or an outgoing firewall on your side blocks that port.
  • 407 Proxy Authentication Required: wrong login or password, or your current IP is not on the allowlist.
  • Connection reset or empty reply: protocol mismatch, for example speaking SOCKS5 to an HTTP port or the other way round.
  • Could not resolve proxy: a typo in the hostname, or a space or line break copied with the string.

Step 3. Verify the exit IP and geolocation

The IP returned in step 2 must be the proxy address (or, for some ISP and residential setups, a different exit IP from the same network), never your home or office IP. Write it down: you will use it in the next checks.

Then look that exit IP up in two or three geolocation services. Websites do not know where a server physically stands; they read commercial IP databases, and those databases do not always agree. One may show the right country and city, another a neighboring region, a third the registration address of the network owner.

  1. Compare country, region, city and ASN (the network owner) across several databases.
  2. If all agree on the country, you can rely on it for geo-targeted work.
  3. If they disagree, check what your actual target sees: many sites show the detected region in the header, in shipping options or in account settings.
  4. Check the connection type field if the database has one: hosting, ISP, residential or mobile. It should match what you bought.

Step 4. Measure latency and throughput against the real target

Generic speed tests measure the path to a test server, which tells you little about the path to the site you actually work with. Two numbers matter, and they are different:

  • Latency (time to connect and time to first byte): decides how snappy browsing feels and how many requests per minute a scraper can make. Most proxy work is latency-bound.
  • Throughput (megabits per second): matters for large downloads, video and media-heavy pages, rarely for scraping HTML.
Timing a request to your target
curl -x socks5h://login:[email protected]:8000 -o /dev/null -s \
  -w "connect: %{time_connect}s  ttfb: %{time_starttransfer}s  total: %{time_total}s\n" \
  https://target.example.com/

Run it five to ten times and look at the spread, not the best result. Then run the same command without -x to see how much the proxy adds on top of the site's own response time. Distance dominates latency: a proxy in Germany will answer a German site faster than a proxy on another continent, whatever its bandwidth. If you need a specific region, pick proxies in that country, for example the US or Germany.

Expect residential and mobile proxies to be slower and more variable than datacenter and ISP ones. That is the nature of home and carrier networks, not a defect. The trade-offs are explained in residential vs datacenter proxies.

Step 5. Check the anonymity level

HTTP proxies are traditionally grouped into three anonymity levels, depending on which headers they add to your requests. To test, send a request through the proxy to a header echo service (any page that prints the request headers it received) and look for the headers below.

LevelWhat the site seesTypical headers
TransparentYour real IP and the fact that a proxy is usedX-Forwarded-For with your IP, Via
AnonymousThe proxy IP, but also that a proxy is usedVia, Proxy-Connection, or X-Forwarded-For with the proxy IP
Elite (high anonymity)Only the proxy IP, no proxy headersNone of the above
For HTTPS traffic through a CONNECT tunnel and for SOCKS5, the proxy cannot inject headers into encrypted requests.

Private proxies from a reputable provider should behave as elite. If you see X-Forwarded-For with your own IP, stop using that proxy for anything sensitive. Keep in mind that header anonymity says nothing about whether a site can tell the IP is a proxy: that is decided by IP reputation and network type, covered below.

Step 6. Test for WebRTC and DNS leaks in the browser

A proxy can pass every command-line test and still leak in a browser. Open a leak test page in the exact browser profile you will use, with the proxy active, and check two things.

WebRTC leak

WebRTC powers in-browser calls and can discover local and public addresses to set up direct connections. In some configurations it reveals your real public IP even though page traffic goes through the proxy. Antidetect browsers usually let you replace the WebRTC address with the proxy IP or disable it per profile; regular browsers need a setting or an extension. Setup details are in our antidetect browser proxy setup guide.

DNS leak

A DNS leak means domain names are resolved by your local ISP resolver instead of through the proxy. The site sees a proxy IP in one country and a DNS resolver in another. Use remote DNS (socks5h, or the "proxy DNS" option in your browser or app) and confirm on the leak test page that the listed resolvers match the proxy region, not your home provider.

  • Also compare browser timezone and language with the proxy country.
  • Test after every browser or extension update: settings sometimes reset.

Step 7. Check IP reputation and blacklists

An IP that is online, fast and anonymous can still be useless if the target already distrusts it. Look the exit IP up in a few public blacklist and IP reputation services: they show whether the address appears on spam lists and how fraud-scoring systems classify it. A listing on an email spam blacklist matters little for browsing, while a high fraud score matters a lot for social networks and ad platforms.

The final and most honest test is the target itself. Open the site through the proxy, go through a normal user path and run a small batch of requests from your tool. Immediate captchas, 403 Forbidden or 429 Too Many Requests responses on the very first requests mean the address or the proxy type does not fit that platform. For demanding platforms, ISP proxies or residential proxies usually pass where datacenter IPv4 proxies do not.

What to do if a proxy fails the test

  1. Re-run step 1 and step 2: most failures are format, protocol or authorization errors.
  2. If the proxy works in curl but not in your app, the problem is the app settings: protocol, DNS mode or a leftover system proxy.
  3. If the geolocation or reputation is wrong for your target, request a replacement address.
  4. If several addresses of the same type fail on one platform, the type itself is wrong for that site: switch to a different one from the catalog.

Frequently asked questions

Does the /en/checker tool test whether a proxy is online?

No. It validates and converts proxy strings in your browser and flags invalid lines, but it does not connect to the proxy. Use curl, a geolocation lookup and a leak test page to check connectivity, location and leaks.

Why do IP lookup sites show different countries for the same proxy?

They rely on different geolocation databases that are updated on different schedules. Trust the country most databases agree on, and above all the region your target website actually detects.

What is the difference between socks5 and socks5h in curl?

With socks5, curl resolves domain names on your own machine and your local DNS resolver sees every request. With socks5h, the proxy resolves names, which prevents DNS leaks and is the safer default.

How can I tell if a proxy is elite (high anonymity)?

Send a request through it to a header echo page. An elite proxy adds no Via, Proxy-Connection or X-Forwarded-For headers, and the only IP the site sees is the proxy IP.

Now boarding

Proxies for this task

Starting price per unit for the base term. Countries and volume discounts are listed on each product page.

  • #proxy test
  • #proxy checker
  • #anonymity
  • #webrtc leak
  • #dns leak
  • #geolocation

Proxies are provided for lawful use only. Spam, fraud and hacking are prohibited; follow the rules of the platforms you work with. Terms of service

All articles