Mirror Server behind NAT (hole punching)

Hey,

at home my nextcloud server has a slow DSL-Connection (particular slow upload). But i have a mirror server in another house with a very fast upload rate. The problem: the fast house has a NAT and i cant configure it to do Port-Forwarding etc.

My idea is to make an app which performs TCP/UDP hole punching which allows someone to download files over the fast server connection (mirror server).

So if someone connect to my slow server and wanna download a file he should automatically download it over the other faster server and the holepunching should run in background (both server have to communicate together). I think apps to sync files between server (to issue kinds of mirror servers) are already relased but my idea is to extend that with hole punching to circumvent a NAT.

Does anyone like to impement that?

Iā€™m not sure if a simple app can do it. There a VPN solutions that can NAT hole punching, even peer-to-peer stuff.

https://peervpn.net/
http://www.softether.org/

if one of your clients uses carrier grade NAT, perhaps it already has ipv6, so you only need to get your client an ipv6 connection.