internal/ngrok/README.md
With the ngrok integration, you can get external access to your streams when your Internet connection is behind a private IP address.
The ngrok free subscription has the following limitations:
go2rtc will automatically get your external TCP address (if you enable it in the ngrok config) and use it for WebRTC connections (if you enable it in the WebRTC config).
You need to manually download the ngrok agent for your OS and register with the ngrok service.
Tunnel for only WebRTC Stream
You need to add your ngrok authtoken and WebRTC TCP port to YAML:
ngrok:
command: ngrok tcp 8555 --authtoken eW91IHNoYWxsIG5vdCBwYXNzCnlvdSBzaGFsbCBub3QgcGFzcw
Tunnel for WebRTC and Web interface
You need to create ngrok.yaml config file and add it to the go2rtc config:
ngrok:
command: ngrok start --all --config ngrok.yaml
ngrok config example:
version: "2"
authtoken: eW91IHNoYWxsIG5vdCBwYXNzCnlvdSBzaGFsbCBub3QgcGFzcw
tunnels:
api:
addr: 1984 # use the same port as in the go2rtc config
proto: http
basic_auth:
- admin:password # you can set login/pass for your web interface
webrtc:
addr: 8555 # use the same port as in the go2rtc config
proto: tcp
See the ngrok agent documentation for more details on the ngrok configuration file.