You've set up SOCKS5, and the IP lookup comes back exactly as expected — but when you open a website, the page language, regional recommendations, and similar content barely change. That doesn't necessarily mean something is wrong with the connection; it could also have to do with the DNS resolution path.
A DNS leak isn't always obvious from browsing results alone. To figure out where the problem actually is, you need to work through your DNS configuration, your browser settings, and your actual test results step by step.

When you visit a website, your device usually has to translate the domain name into an IP address first. That job falls to DNS, and the lookup may go to the DNS server configured on your system — or it may be handled separately by the browser or an individual application.
SOCKS5 lets a client hand the domain name off to the remote end for resolution, but whether that actually happens depends on the specific software and how it's configured.
If the client resolves the domain locally before connecting, then even though the connection itself runs over SOCKS5, the DNS request can still travel through your local network.
One thing worth keeping in mind: a mismatch between where your DNS servers are located and where your traffic exits doesn't automatically mean there's a leak. You also need to factor in the DNS provider, the resolution method, and the actual network path.
When something looks off, don't rush to change system settings. Document your current network environment first, then use test results to decide whether anything is actually abnormal.
You can use ToDetect to check DNS, IP address, WebRTC, and other details. Pay particular attention to which provider your DNS servers belong to, and whether any unexpected local network information shows up in the results.
Three things are worth focusing on when you run a test:
• DNS server details: Check which provider is resolving your queries and where those servers sit, then judge whether that lines up with your current network setup.
• IP address details: Verify the public IP a site sees, so you don't confuse a change of IP with a change of DNS.
• Repeated results: Run the test a few times under the same conditions and watch for any noticeable differences.
If the results show DNS servers in several regions, that alone isn't proof of a leak. Many public DNS providers run distributed networks, and server locations can shift depending on the network you're on.
Some SOCKS5 clients let you choose between local and remote resolution. If local resolution is what's actually in use, your DNS requests may not follow the path you expect. Check the client's documentation and its DNS-related settings to confirm which mode you're running.
Chrome, Edge, and Firefox all support Secure DNS (DoH). Once it's enabled, the browser may use a resolver that differs from your system settings.
That said, DoH doesn't necessarily bypass SOCKS5 — it depends on the browser version and network configuration. When troubleshooting, confirm which DNS service the browser is actually using rather than just switching encrypted DNS off.
Your device is likely running IPv4 and IPv6 at the same time. If DNS is configured differently for each protocol, inconsistent test results are a natural consequence.
Check the DNS settings for IPv4 and IPv6 separately to make sure nothing has been missed. Disabling IPv6 permanently shouldn't be your default fix.
Your system may still be holding DNS records from earlier lookups. Switching Wi-Fi networks, changing DNS settings, or updating your client can all leave stale cache entries that skew your results.
On top of that, routers, corporate networks, and public Wi-Fi may each enforce their own DNS policies, so you'll need to judge things against the environment you're actually in.
| Operating System | View DNS Configuration | Clear DNS Cache |
|---|---|---|
| Windows | ipconfig /all | ipconfig /flushdns |
| macOS | scutil --dns | sudo dscacheutil -flushcache, then run: sudo killall -HUP mDNSResponder |
| Linux | resolvectl status | sudo resolvectl flush-caches |
Note: The Linux commands above apply to systems running systemd-resolved.
| Check Item | Notes |
|---|---|
| View DNS configuration | The commands above show your system DNS configuration, but on their own they don't prove which path domain resolution takes in a browser running SOCKS5. |
| Inspect DNS queries | You can use nslookup or dig to see the results of a regular DNS lookup. |
| SOCKS5 proxy verification | nslookup and dig generally don't pick up the SOCKS5 settings in your browser, so they can't be used on their own as evidence of a browser DNS leak. |
| Retest after changing settings | After flushing the system DNS cache, revisit the DNS leak test page and check what DNS requests are actually being made. |
First, confirm whether your client supports remote domain resolution, and review the relevant settings against the software's documentation.
Next, compare your browser's Secure DNS settings with your system DNS settings to see whether they diverge. If you need to make changes, pick a resolution method that fits both your network environment and your privacy needs.
For IPv6-related issues, check that the corresponding DNS configuration is complete, rather than fixing IPv4 only.
If the problem persists, look at your router's DNS settings as well, and check whether the network enforces a centralized resolution policy.
After each change, re-run the test and note the result. Avoid changing several settings at once — otherwise you won't know which adjustment actually made the difference.
Once you've made your changes, open ToDetect again and compare the DNS, IP address, and WebRTC details before and after.
The goal isn't to force every result into the same region; it's to confirm that your DNS provider and resolution behavior match what you expect, and that no unexpected local resolution path shows up.
It's worth saving screenshots from both runs and noting your OS, browser version, and the settings you changed. That makes it much easier to spot differences later when you switch networks or update software.
No. SOCKS5 supports passing the domain name through, but whether it's resolved locally mostly comes down to the client's implementation and configuration.
Not necessarily. DoH can improve the privacy and integrity of DNS queries. Whether to change it should depend on the actual resolution path — you can't assume turning it off is automatically safer.
It usually comes down to the distributed infrastructure public DNS providers run. You need to look at the provider and the resolution path together; the number of regions on its own doesn't indicate a problem.
Any time you switch networks, update your browser or client, or change DNS settings, it's worth running the test again.
The key to tracking down a DNS leak isn't just watching whether your public IP changes — it's understanding who is resolving your domains and which path those requests take. Check your configuration first, then compare real-world results with a tool like ToDetect. That usually gets you to the answer faster than endlessly tweaking settings.