Most people's first experience with a proxy is setting one system-wide, either through OS network settings or a VPN, and having every application on the machine route through it. That works fine until you need something more specific: one browser on a US residential IP while another app uses a German datacenter IP, or a scraping script running through a rotating pool while the rest of your traffic goes out normally.
That's what per-app proxy routing solves. Proxifier and ProxyCap (now rebranded as NetDetour) have been the two default tools for this for close to two decades, but both have aged in ways that matter once your setup gets more demanding than a single machine with a handful of rules. This guide walks through how per-app routing works and how to set it up using ProxyTool, a newer client built to cover the gaps both legacy tools have left unaddressed.

Why System-Wide Proxy Settings Aren't Enough
Windows, macOS and most Linux distributions let you set a single proxy at the OS or browser level. The problem is that this setting is global. Every application that respects it (and not all do) uses the same proxy, the same IP, the same identity.
This becomes a real limitation the moment you need to:
- Run multiple browser profiles or accounts that each need to look like they're coming from a different location or network.
- Run a scraping tool through a rotating proxy pool while keeping your regular browsing on your normal connection.
- Isolate specific applications, like a VoIP client or a game, from a VPN or proxy that would otherwise break them.
- Test how a website or service behaves from different regions without switching your entire machine's network settings back and forth.
VPNs don't solve this either, since a VPN is typically an all-or-nothing tunnel for the whole device. This is exactly the gap Proxifier and ProxyCap were originally built to fill, and it's still the right problem to reach for a dedicated per-app client to solve. Where the guide below departs from either of those tools is in how it handles everything around that core routing job: UDP traffic, leak protection, and setup across more than one machine.
What Per-App Routing Actually Does
A dedicated per-app proxy client sits between your applications and the network, intercepting outbound connections at the operating system level and redirecting specific ones through SOCKS, HTTP or SSH proxies based on rules you define: by executable, by domain, by IP address, by port, or by protocol.
Rather than changing an application's own settings (which many apps don't expose anyway), the proxy client handles the redirection transparently. That alone removes one of the most tedious parts of working with proxies: digging through every app's settings for a proxy option that may not even exist, then typing in host, port, username and password by hand, app after app. For anyone who isn't particularly technical, or who simply wants to save time, that is a real relief. The application has no idea its traffic is being routed differently; it just sees a normal internet connection. This is the same underlying model Proxifier and ProxyCap use. The difference in the steps below comes down to how much further ProxyTool takes it, from SSH tunnels alongside SOCKS and HTTP proxies to an AI assistant that turns a pasted proxy string into a working rule.
Step-by-Step: Setting Up Per-App Proxy Routing with ProxyTool
- Install and add your proxies. After installing ProxyTool, add the proxy servers you plan to use. It supports SOCKS5, SOCKS4, SOCKS4a, HTTP and HTTPS CONNECT proxies from any provider, plus SSH servers as proxy endpoints, covering both Proxifier's protocol range and the SSH tunnels many ProxyCap users rely on. If you don't already have proxies, the built-in marketplace (Evomi is integrated, with more providers coming) lets you purchase residential, datacenter, ISP or mobile proxies directly inside the app, something neither Proxifier nor ProxyCap offers; both assume you're sourcing proxies elsewhere.
- Already on Proxifier? Import instead of starting from scratch. If you're switching over rather than starting fresh, ProxyTool's one-click importer reads Proxifier's .ppx profile format directly, pulling in existing proxies, routing rules, DNS settings and saved passwords automatically. Most migrations take under two minutes. A direct importer for ProxyCap and NetDetour configuration files is already in development. Until it is released, those rules need rebuilding, though step 4 below makes that fast, and existing SSH servers can be added as they are.
- Create a rule for the first application. Rules can be defined by application (say, chrome.exe or python.exe), by domain, by destination IP, by port, or by protocol, the same rule logic Proxifier and ProxyCap use. For the simplest case, point one specific executable at one specific proxy.
- Use the AI-assisted configuration if you'd rather skip manual setup. Rather than filling in each field by hand, as you would in either legacy tool, you can paste a proxy connection string and describe what you want routed in plain language, and the assistant creates the entry and rule automatically. This is particularly useful when rebuilding a rule set that came from ProxyCap or NetDetour, until the dedicated importer for those formats is released.
- Add fallback and pooling if needed. For anything running at scale, chain multiple proxies together, set up a pool with automatic rotation, or configure a fallback route in case the primary proxy fails. Neither Proxifier nor ProxyCap offers pooling or automatic fallback natively, so this matters most for scraping and automation workflows where a single dead proxy shouldn't stop the whole job.