Our disclosure: we are Geonode and we sell proxies, which makes this article one where we argue against a use of our own product. Chaining our proxies behind someone else's, or through several of ours in sequence, will make your requests slower and less reliable and will not meaningfully improve your position. The reason is structural rather than a limitation of any particular provider, and it is explained below. There are two or three genuinely good reasons to chain, and they are about routing and access rather than anonymity. If your goal is anonymity, the honest answer is that a purpose-built system does it properly and a stack of commercial proxies does not.
What Chaining Actually Is
Normally: you connect to a proxy, the proxy connects to the destination. Two connections, one intermediary.
Chained: you connect to proxy A, which connects to proxy B, which connects to the destination. Each hop terminates the previous connection and originates a new one, so the destination sees only proxy B's address, and proxy B sees only proxy A.
The claimed benefits are that no single intermediary knows both ends, and that tracing the path requires cooperation from every operator in the chain.
Both claims are true in a narrow sense, and both are much weaker in practice than the summary suggests. The rest of this article is about why.
The Two Ways to Build a Chain
Client-side chaining is the common case: your machine is configured to route through A, and A is configured — or instructed — to route onward to B. Tools like proxychains do this by intercepting connections and walking them through a list you control.
The property that matters: you choose the chain. You know every hop, you can change them, and no operator needs to cooperate. This is why almost all practical chaining is client-side.
Server-side chaining is when a provider routes your traffic onward through infrastructure you do not control. Some services do this internally — a gateway that terminates your connection and exits through one of many endpoints is technically a chain, though it is not usually described as one.
The property that matters here is the opposite: you do not control the chain and cannot verify it. A provider's claim to route through several countries is unverifiable from your side. That is a trust statement, not an architecture.
proxychains: What It Does and Its Limits
The best-known tool, and its own description is precise about the mechanism. proxychains is "a UNIX program, that hooks network-related libc functions in dynamically linked programs via a preloaded DLL and redirects the connections through SOCKS4a/5 or HTTP proxies."
That sentence contains both the cleverness and the limitation.
The cleverness: it works with programs that have no proxy support of their own. Because it intercepts at the libc level, an application making ordinary socket calls is transparently routed without knowing anything about it.
The limitation, stated directly: it "works only on dynamically linked programs", and requires that proxychains and the target application "use the same dynamic linker". Statically linked binaries — which includes a great deal of modern Go software — are simply not affected. The program runs, connects directly, and nothing warns you.
Three chain modes are supported:
Exact order — proxies used exactly as configured. Predictable, and a single dead proxy breaks the chain. Dynamic order — dead proxies are excluded intelligently, so the chain survives failures at the cost of not being the chain you specified. Random order — a random subset of a configured length, useful when you want variation between runs.
Protocol support covers SOCKS4, SOCKS4a, SOCKS5 and HTTP(S), with username/password authentication for SOCKS and basic authentication for HTTP.
And one documented failure mode worth knowing because it is genuinely obscure: "when a process forks, does a DNS lookup in the child, and then uses the ip in the parent, the corresponding ip mapping will not be found." Applications structured this way misbehave in ways that look like network problems and are not.
Latency Compounds and Reliability Multiplies Downward
The arithmetic is the strongest argument against casual chaining.
Latency adds. Each hop contributes its own round trip plus processing. A direct request at 50 ms becomes perhaps 200 ms through one proxy and 400 ms through two. For interactive use this is the difference between usable and irritating. For a scraping job making a hundred thousand requests, it is the difference between four hours and eight.
Reliability multiplies, and multiplication of numbers below one goes only one way. If each hop is independently available 95% of the time:
| Hops | Success rate |
|---|---|
| 1 | 95% |
| 2 | 90.3% |
| 3 | 85.7% |
| 4 | 81.5% |
A three-hop chain of individually reliable proxies is a system that fails one request in seven. And failures in a chain are worse than failures at a single hop, because diagnosis is harder — a timeout tells you the chain broke, not which link.
Bandwidth is billed per hop. If you pay for two metered proxies, every byte is billed twice. Chaining two residential services at $0.79/GB is $1.58/GB for the same data.
Throughput is capped by the slowest hop, and adding hops adds opportunities to be slow.
Against those costs, the benefit has to be substantial. Usually it is not.
Does Chaining Make You More Anonymous?
The honest answer is: less than advertised, and it depends entirely on who the operators are.
What chaining does achieve. No single hop sees both your address and the destination. Hop A knows who you are and that you talked to B. Hop B knows it talked to the destination but not who originated. That is a genuine property.
Why it achieves less than it appears to.
Correlation across hops is easy for anyone watching both. An observer with visibility into both ends — timing, volume, patterns — can link them without decrypting anything. This is traffic analysis and it is the central problem of anonymity systems. Two commercial proxies do not address it.
Common ownership collapses the chain. If both hops belong to the same provider, or resell the same underlying network, the separation is imaginary. Reseller relationships in the proxy market are common and are not always disclosed, and a chain through two brands sharing a supplier has one operator, not two.
The application layer defeats it entirely. Cookies, logins, browser fingerprints and anything you type identify you regardless of routing. A chain of five proxies carrying a session where you are logged in is a very slow way of being identified.
Payment and account records link back. You bought these services. There is a record.
Encryption is not layered. In a plain proxy chain, each hop can read whatever is not protected by TLS. Chaining does not add encryption; it adds intermediaries who might read your traffic. That is the opposite of the intended direction, and it is the specific thing the next section addresses.
Tor Is Chaining Done Properly
Worth understanding as the reference design, because it shows what a stack of commercial proxies is missing.
The Tor Project states the distinction directly: "Unlike regular proxy servers, which create a single point of trust and failure, Tor routes your traffic through multiple relays with layered encryption."
Traffic passes through at least three relays, and the knowledge is deliberately partitioned. The first relay may observe that an address is using Tor but cannot determine the destination. The middle relay sees encrypted traffic and can identify neither the sender nor the final destination. The exit relay sees outgoing traffic but not its source — and with HTTPS, only the destination site rather than the content.
Three design properties make that work, and a manual proxy chain has none of them:
Layered encryption. Each hop peels one layer. A relay cannot read what the next hop will receive. In a plain proxy chain, every hop sees your traffic as your client sent it.
Circuits are selected by the client from a published directory, with path constraints designed to avoid correlated relays. In a manual chain, you pick from whatever you bought, and you cannot tell whether two providers share infrastructure.
Relays are operated independently by volunteers. Commercial proxy providers are companies with records, billing and legal obligations.
None of this makes Tor a universal answer — it is slow, many sites block it, and it is unsuited to high-volume data collection. The point is comparative: if anonymity is your goal, a system designed for it does the job, and stacking commercial proxies approximates the shape without the substance.
The Leaks That Undo the Whole Chain
A chain is exactly as good as its weakest path, and several paths bypass it entirely.
DNS. The most common. If your resolver is queried directly, your ISP sees every hostname while your traffic goes through three hops. With SOCKS5, use the socks5h scheme so hostnames are resolved by the proxy rather than locally — the difference between socks5:// and socks5h:// in curl is exactly this, and it is the single most commonly missed detail in proxy configuration.
WebRTC. In browsers, it can expose local and public addresses outside the proxy path.
IPv6. An IPv4-only chain with IPv6 connectivity available means some traffic goes direct. Silent, and invisible unless tested.
Statically linked binaries under proxychains. Covered above: the interception simply does not apply, and the program connects directly with no warning.
Anything outside the intercepted process. System updaters, telemetry, background services. They were never in the chain.
The general rule: verify rather than assume. Checking that a website reports a foreign IP address confirms only the thing that was obviously going to change. Our guide on testing proxies covers checking DNS, WebRTC and IPv6 properly, and for a chain that verification matters more, not less, because there are more places for it to fail.
Legitimate Reasons to Chain
Real cases, none of which are about anonymity.
Reaching a network you cannot reach directly. A corporate proxy is your only route out, and you need a second proxy beyond it for a specific destination. This is chaining as plumbing, and it is by far the most common legitimate use.
Protocol bridging. Your application supports only SOCKS but your available proxy is HTTP, or vice versa. A local proxy converts and forwards. Again plumbing.
Adding capability at a local hop. Running a local proxy for caching, logging, request rewriting or TLS inspection, which then forwards to an upstream proxy. This is a chain whose first hop exists to do a job rather than to hide anything, and it is standard practice in development and testing.
Geographic routing you cannot buy directly. Occasionally the exit location you need is only reachable through an intermediate. Rare, and worth checking whether a provider simply offers that location before building a chain.
Testing multi-hop behaviour. If you are building something that will run behind several proxies, testing that path is legitimate.
Notice what these share: the chain exists because of a routing constraint, not because more hops were assumed to be better. That is the distinction worth applying to your own case.
People Also Ask
Does chaining proxies make you more anonymous?
Marginally, and less than expected. It does mean no single hop sees both your address and the destination. It does not defend against traffic correlation, common ownership between providers, or identification at the application layer through cookies, logins and fingerprinting. Plain chaining also adds no encryption — each hop sees whatever TLS does not protect.
How many proxies should I chain?
For legitimate routing reasons, as few as the constraint requires — usually two. For anonymity, chaining commercial proxies is the wrong approach at any number, and a system designed for the purpose does it better. Each additional hop adds latency, multiplies failure probability, and duplicates your bandwidth bill.
What is proxychains and how does it work?
A Unix tool that hooks network-related libc functions in dynamically linked programs and redirects connections through SOCKS4a/5 or HTTP proxies. It offers exact, dynamic and random chain ordering. Its main limitation is that it works only on dynamically linked programs — statically linked binaries connect directly with no warning.
Is proxy chaining slow?
Yes, necessarily. Each hop adds a round trip and processing time, so a two-hop chain roughly doubles what one proxy costs you. Throughput is capped by the slowest hop, and if each hop is 95% reliable, a three-hop chain succeeds about 86% of the time.
Can I chain a VPN and a proxy?
Technically yes, and it is common. The practical effect is usually more latency for a modest change in what each party observes. Your VPN provider still sees you connecting, the proxy operator still sees your requests, and neither arrangement addresses identification at the application layer.
Does chaining prevent websites from tracking me?
No. Tracking works through cookies, browser fingerprints, account logins and behavioural patterns — none of which are affected by how many network hops your traffic takes. Routing changes the address a site records, and sites stopped relying on the address alone a long time ago.
Is Tor a proxy chain?
It is chaining done with three properties a manual chain lacks: layered encryption so no relay can read what the next receives, client-selected paths from a published directory with constraints to avoid correlated relays, and independently operated volunteer relays. The Tor Project contrasts this with regular proxies, which "create a single point of trust and failure".
Do I pay twice for bandwidth in a chain?
If both hops are metered, yes — every byte crosses both and is billed by both. Two residential services at $0.79/GB cost $1.58/GB for the same data. This is a straightforward reason to check whether a chain is actually solving a problem before building one.
Wrapping Up
Proxy chaining is a routing technique that gets marketed as a privacy technique, and the two are not the same thing.
As routing, it is sometimes exactly right: getting out through a corporate proxy to a destination that needs another, bridging between SOCKS and HTTP, or putting a local proxy in front for caching and logging. In those cases the chain exists because of a constraint, and the extra latency is the price of the route.
As privacy, it is a weak version of something that exists in a strong version. A manual chain adds no encryption, so every hop can read whatever TLS does not protect. It cannot tell you whether two providers share infrastructure. It does nothing about traffic correlation, and nothing at all about cookies, logins and fingerprints — which is where identification actually happens.
The costs, meanwhile, are certain. Latency adds, reliability multiplies downward, and metered bandwidth bills twice. If you are considering a chain, the useful question is which specific routing constraint it solves. If the answer is "more hops seems safer", the arithmetic is against you.
