Secure Reliable Transport SRT with CG NAT
Posted: Sat Sep 06, 2025 4:19 pm
Hi,
I'm hoping someone here can help with this problem.
I'm working on updating GB3FT repeater (currently pending NoV approval) - its new site relies on a 4G modem for internet connectivity which in turn means no fixed public IP due to CGNAT.
So I have created a VPN using ZeroTier which allows me full access to the repeater systems including a SRT stream player.
As I'm an authorized client of the ZeroTier VPN I can stream directly to the repeater with no problems using Streamcast on an iphone.
However I wish to expose the stream input to others on the web via a controlled access webpage.
To accomplish this I have a home based fixed IP with a nginx server behind it which is also a Zerotier VPN client - but here's the problem.
Reverse proxy of a normal TCP service to the stream player ui is not a problem but it needs a SRT UDP input stream and so far I've not been able to create a UDP reverse proxy. I suspect this may not even be possible with UDP.
Hope all of the above makes sense !
As a fall back I could use RTMP which uses TCP and is therefore easier to proxy but then I'd need to generate a RTMP signal present output - the SRT player already does this on GPIO26 and signals the repeater controller to switch over to the stream signal. The hdmi switch could be used to select the streamer input via dtmf which would prevent malicious streamer input.
Any thoughts or comments ?
73 Tim
I'm hoping someone here can help with this problem.
I'm working on updating GB3FT repeater (currently pending NoV approval) - its new site relies on a 4G modem for internet connectivity which in turn means no fixed public IP due to CGNAT.
So I have created a VPN using ZeroTier which allows me full access to the repeater systems including a SRT stream player.
As I'm an authorized client of the ZeroTier VPN I can stream directly to the repeater with no problems using Streamcast on an iphone.
However I wish to expose the stream input to others on the web via a controlled access webpage.
To accomplish this I have a home based fixed IP with a nginx server behind it which is also a Zerotier VPN client - but here's the problem.
Reverse proxy of a normal TCP service to the stream player ui is not a problem but it needs a SRT UDP input stream and so far I've not been able to create a UDP reverse proxy. I suspect this may not even be possible with UDP.
Hope all of the above makes sense !
As a fall back I could use RTMP which uses TCP and is therefore easier to proxy but then I'd need to generate a RTMP signal present output - the SRT player already does this on GPIO26 and signals the repeater controller to switch over to the stream signal. The hdmi switch could be used to select the streamer input via dtmf which would prevent malicious streamer input.
Any thoughts or comments ?
73 Tim