multi-tunnel
multi-tunnel allows starting and managing SSH tunnels in a straightforward manner. Create a TOML configuration file, start the service and you're all set. If you change the configuration, send a SIGHUP (aka systemctl reload
) and it'll start/stop tunnels as necessary.
Tunnels that get stopped or killed for any reason will be restarted after a 5-second delay.
Configuration
For example, to tunnel httpd running on port 8080 to a remote server on 8000 and nginx running on port 8081 to 8001 on the remote server:
connection = "remote.host"
[httpd]
local = 8080
remote = 8000
[nginx]
local = 8081
remote = 8001
The name is arbitrary and is used only for log entries.
Monitoring
A Prometheus endpoint to scrape is available at http://0.0.0.0:46581/metrics
.
Download
x64 and armv7 downloads are provided for each tagged release.
License
multi-tunnel is dual licensed under the GPL v3 or later OR copyleft-next 0.3.1, see LICENSES/.