Tailscale on a phone, on a server, and then whatever you and your agent come up with. I had a web app I built to talk to it. One day I wanted to share files and I just told it to implement that feature.
I don't use much off the shelf anymore. It's too easy to make my own hyper customized versions.