What is everyone else using for VPN solutions and what are the trade offs?
I want a VPN to access all my personal devices and use services like Syncthing. I use it on my phone so it can’t use ungodly amounts of idle data.
I looked at Netbird but found the idle data usage almost 1GB per few days using JetBird with Lazy connections. I tried the default app but it makes me SSO login every day or two, it wouldn’t stay connected, and it still used a reasonable amount of idle data.
I looked at Tailscale but I’m not going to lock access to all my devices behind a Google account login or some other third party service login for no reason. It seems like hosting my own auth server is too much additional risk as well. I tried self hosting headscale which worked well except that I have no decent front end to easily add devices. I have to log into a terminal, then execute docker commands which was a huge pain in the ass. I didn’t even touch on any of the firewalling or routing that can be done because it was so much more complex in headscale then in a web interface. I tried hosting two or three headscale front ends but couldn’t get one working that supported most of the available feature set. Usually I was given generic connection errors with no clear way to diagnose or clear troubleshooting steps so after a few hours I moved on.
Edit 2026-05-10:
Thank you for all the feedback.
Will try disabling expiry on SSO login for my phone via Netbird official app.
Will look into Pangolin.
May try Headplane UI for Headscale again though lower priority than Netbird because it’s fully open source.
Wireguard + VPS. Each device connected can choose to route all their internet traffic or only VPN services traffic.
I just use wireguard, no there is no simple GUI or anything like that. I also run it bare metal no docker.
It currently sits on a pi zero 2, it has just enough power to use my pihole DNS’s. I plan on moving it to a pi 5 whenever I get around to building my firewall.
Well there is wg-easy which comes with a very decent GUI imho
Cool did not know that I will have to look into that when I set up my pi 5 firewall.
Netbird, it doesn’t use much for data for me, just disable expiry and it’ll stay connected. I would guess the third party app is part of the problem.
Will try disabling expiry and using the default app. Thanks.
NP, you have to do it on the web interface, not in the app. You can also decrease the frequency if you don’t want it to last forever.
Pangolin or netbird on a vps and the rest is easy.
I use Wireguard.
For my phone, I use the “WG Tunnel” app: https://github.com/wgtunnel/android
It’s nice because it’ll automatically enable/disable it as I move between networks.
Before that, though I used the official client and I just kept it on 24/7. It’s not like it uses extra data or battery or anything.
I’m using headscale with headplane as the UI, looks like tailscale, is feature complete (at least it says so on their GitHub readme). Headplane even integrates with an external OIDC provider (I self-host Keycloak for centralized identity management across my services).
Sounds like you’re talking about a Mesh VPN.
Syncthing doesn’t need a VPN to function - in fact you’re better off not using a VPN as it’s own rules will see the VPN as a LAN connection and sync data across it when your Syncthing rules exclude using your data connection. Maybe that’s what you saw with Netbird’s data usage. I’d be really surprised if Netbird itself used any significant data.
I have about 20 sync jobs per phone - some are allowed to use cell data (photos), others aren’t. When I enable Tailscale on my phone, Syncthing will try to sync all the jobs because it sees the VPN as a LAN.
I run rooted and use a firewall and block VPN there for Syncthing to prevent this.
So I have a tinc mesh for my house, VPS and dedicated server. I have started using pangolin for access to things from the internet, I have also used pangolin as a VPN into my networks from my phone
I use NordVPN and it’s nifty Meshnet feature for these kinds of things. Once setup, any of my devices that have the NordVPN app running and have Meshnet enabled can access my services, which at the moment is really only Immich and Jellyfin. I could even grant other Nord users access to it without much hassle.
If you have a public IP just use wire guard. If you don’t have a public IP, rent a cheap VPS and use that as entry point, setting up one wire guard from home to the vps, and the other from your phone to the vps.
I use Wireguard and rather than deal with management constantly I set up 3 times as many peer configurations as initially needed. When a new device is added I just copy a spare configuration to the device and change the name of the config on the server. Tasker is used to connect the WG tunnel on our phones whenever home wifi is not connected.
Everything from my phone is run through WG and it only uses a tiny amount of additional mobile data. Syncthing adds nothing of consequence except when syncing big files. Battery life is fine even with both WG and Syncthing running.
Once set up it’s required zero attention or maintenance.
Headscale is best used with the CLI. If you host a UI it’s only for convenience, and you need to keep track of the Headscale version it supports. The Discord guild can help you debug things.
Can Tailscale be logged in from multiple credentials? If so try having a few of them instead of one for redundancy. Also maybe look into hosting a reliable and simple IDP like Kanidm for Tailscale.
Wireguard and their official Android app. My home router acts as the WG server and it does also the daily dynDNS refresh, so I can pretend having a fixed address.
Nothing, mostly. Will use point-to-point Wireguard once I get around to setting up Prometheus ingestion.
What do you need a VPN for?
I use Proton’s VPN.
Issues I’ve observed: timeouts and extra (sometimes excessive) “are you human” verifications, extra step on troubleshootings if a site doesn’t load properly or at all, sites load slower, connection may not even work when it’s morning in Russia and China or if the server is in a country being bombarded (e.g. Iran’s former allies) or possibly also going through some natural disaster, some sites may hardcode your VPN region to your account if you stay in a given IP too much (e.g. Crunchyroll), and some sites block VPN IPs they know about (e.g. Nijimiss.moe, part of the fediverse, and GameFAQS).







