Routing Specific Traffic Outside VPN (WireGuard) like ChatGPT connection

Hi everyone,

I have a WireGuard server running on my Debian VPN server(with root access), my own domain and I use a Windows 11 WireGuard client to connect to it from home. However, I’ve noticed that ChatGPT doesn’t work properly when I’m connected to the VPN… it seems like it doesn’t handle IP changes on the fly very well.

I was wondering if anyone has set up routing so that traffic from a specific application or service (e.g., ChatGPT) bypasses the VPN entirely. For example, I’d like my home workstation to connect directly to ChatGPT’s servers without going through the VPN, even when the VPN connection is active.

This would also be useful for other services that don’t require VPN traffic like some Google services or ChatGpt. I think you should be able to do split tunneling in Windows 11 so you are not using VPN for all of your outgoing connections.

Examples would be greatly appreciated!

I do this with a couple of Proxy servers, each set up on endpoints that I want to use.

So in my proxy config (PAC) I just refer to the proxy I want to use for each site, or no proxy at all.

There’s a wireguard client app that can do split tunneling on windows.
Github link

I am not familiar with windows 11 but what you want is policy based routing in your OS. That’s not a feature of WireGuard but should be of the OS.

Yeah, that’s one possibility I fell in love with while testing another WireGuard client suggested by another user in this thread :blush:.

That client seems like a relatively easy solution, as it allows you to choose programs, processes, or even folders that contain many programs and easily include or exclude them from your WireGuard tunnel setup without extra hassle.

This looks pretty solid. I’ve been testing it for about an hour, and so far, it seems to work well.

The setup was simple, and this might just become my new WireGuard client pack. It’s straightforward but offers plenty of flexibility. You can manage your VPN connections by including or excluding folders, Windows processes, .exe files, and IP ranges, and set easy rules to decide whether traffic goes through the VPN or not.

At first, I thought I’d need to spend time gathering domain names, IP addresses, or tweaking Windows routing tables to prioritize traffic to specific IP addresses, or resorting to a DNS- or proxy-based solution. But this seems to simplify everything significantly.

As a Linux administrator who works with all kinds of customers and projects, this looks like it offers the flexibility I need.

Yeah, I was considering using Windows 11 routing tables to give higher priority to certain routes or setting up a DNS-based system. Thankfully, another Redditor suggested a different WireGuard client app, and I think I’ve found an ideal solution.