Crates.io | multi-tunnel |
lib.rs | multi-tunnel |
version | 0.3.4 |
source | src |
created_at | 2021-08-07 10:41:18.32039 |
updated_at | 2024-05-21 05:34:12.684562 |
description | Open and manage multiple SSH tunnels |
homepage | https://legoktm.com/w/index.php?title=Multi-tunnel |
repository | https://gitlab.com/legoktm/multi-tunnel |
max_upload_size | |
id | 432764 |
size | 78,019 |
This project is abandoned; use something like tailscale instead.
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. Every 60s it will SSH into the host to run health checks to make sure the ports are accessible over HTTP. Note that curl must be installed on the remote host.
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.
A Prometheus endpoint to scrape is available at
http://0.0.0.0:46581/metrics
.
multi-tunnel is dual licensed under the GPL v3 or later OR copyleft-next 0.3.1, see LICENSES/.