

Tailscale being merely a wrapper around Wireguard, which is pretty close to optimally efficient, I don’t think there’s much of an improvement to be expected by rolling your own or hopping over your VPS. You should probably start with investigating what’s causing the tailscale connection instability (is it your ISP? Is it the network on the side of the NAS?). If you are not bound to Borg, perhaps you can give a shot at Kopia, I found it to be much more performant for my use-cases, and it has a http “repository server” which you might be able to use with less protocols overhead than through your current setup.











You don’t have to be on the NAS’ physical network to run some tests, if you can SSH into it, that’s enough to run some speed tests and latency tests to reference servers (e.g. Google, netflix, …), while doing the same from your PC simultaneously. Whenever you encounter “instabilities” you should be able to see which side of the connection is struggling more than usual. You should also be able to monitor the NAS itself for excessive IO or CPU using something like htop (even though that would be rather extraordinary if all that’s going on with it at that time is a Borg backup).
On the topic of Kopia, you can go the easy route of setting up a SFTP remote pointing to your NAS. All you need is SSH access to the NAS (so your current tailscale/borg set-up qualifies as is) and a folder where the SSH user can write. You can then compare backup times vs. Borg (in my use case, going from 18-25min with Borg down to 3-5min with Kopia). If you then want to try the HTTP repository server, there is a container for that, but the set-up is a bit annoying (the password to decrypt the repo needs to be stored on the NAS, you need to generate a SSL certificate pair and have the client whitelist the sha256sum of it, etc). Personally I haven’t found a substantial advantage to having the http repository server but YMMV.