This repository packages the tunnel node setup exported from the running server and turns it into a repeatable deployment. Pinggy clone :-)
- OpenSSH tunnel endpoint on ports 22 and 443
- tunnel registry builder
- registry landing page
- device admin page
- nginx reverse proxy configuration
- UFW baseline rules
- hardening notes for admin SSH
- Devices connect to the
tunneluser over SSH on port 443. - SSH reverse forwards create a dynamic remote tunnel port.
tunnel-registry.pymaps SSH sessions to device names based onauthorized_keyscomments.tunnel-registry-http.pyexposes a landing page and API on localhost, intended to sit behind nginx.tunnel-admin.pymanages devices and generates RSA 2048 PEM keys.
This repo reflects the exported server state. It does not yet include the next-generation shared relay daemon. With the current layout, start with a modest device count, validate behaviour, and scale carefully.
curl -s https://raw.githubusercontent.com/kg9316/tunnel-node/main/install.sh | sudo bashCreate a password file for nginx:
sudo htpasswd -c /etc/nginx/.htpasswd_tunnel_registry admin
sudo systemctl reload nginx/registry landing page/api/tunnelsregistry JSON/admin/devices/device admin
Read docs/SSH-HARDENING.md before disabling password authentication for admins.
- replace per-device relay helpers with a single relay daemon
- add multi-node scheduling / control-plane
- add stronger admin auth and audit trails