

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.
If we’re talking about storage devices, this may just be lots of caching, which in my opinion sucks for slow removable devices, because the transfer stays in background and you still can’t unplug the damn USB.
Though there can also be some difference with filesystems. I can get pretty fast and stable RW with F2FS compared to exFAT on these devices.