

Just like 3 weeks ago I started using Tailscale. I’d highly recommend trying that.
It does some uuuuh… magic to establish direct connections on most networks. You can verify whether you’re using direct connection or relay using tailscale status
on Linux.
It uses Wireguard under the hood. There’s also Tailnet lock feature (still in beta) in case you don’t trust Tailscale to not maliciously add devices to your Tailnet.
This would give you lower latency than the VPS solution. I use it with CG-NAT on both sides. I also started using it for LAN since it establishes direct connection over LAN too, and seamlessly switches between networks so I can disconnect from LAN and keep current connections going over WAN or vice versa.
But I’ve just tried now, and it won’t work even on LAN without internet access. Still better than a VPS solution in some way.
But you may also try looking into headscale which is basically a lightweight self-hosted private Tailscale control server, but I haven’t tried anything with that.
Activates god mode