The situation is that I am trying to connect two local devices which are behind a NAT ( possibly a strict NAT ) to share images and text. I also have a VPS that is having a public IPv4 address accessible from anywhere on the internet. Let's say the IP of the relay server is IP_relay, then I want to relay the traffic from one client ( Client A ) to another client ( Client B ). Port forwarding is not an option as I cannot change router config of every router my clients are going to connect from, also UPnP is not well supported over all types of routers and can also be turned off.
I have tried reverse SSH tunnels, but windows by default doesn't have one ( one should manually opt for this feature ). I have a server that is relaying TCP traffic successfully but the same server can't relay UDP traffic, the host client is able to send UDP packets to the relay but the relay is unable to find the target device.
I am expecting to build a relay server in whatever technology possible to relay UDP traffic from one device ( behind a NAT ) to another other device ( behind a NAT )