RC 1.0 - Reliable Connect tool (SSH tunneling)
RC (Reliable Connect) is a light cross-platform Java based application that creates SSH tunnels with port forwarding rules according to configuration file and keeps them alive forever. It tries to reconnect upon any occurring errors.
There are alternative applications, which do the same and even have pretty user interface. However it appeared that their reconnect feature is not that reliable as it was required in my scenarios, so I've built own solution, which someone might become interested in too.
Usage
Ensure Java Runtime Environment is installed, otherwise: https://www.java.com/en/download/
Download and unpack rc-1.0.0.zip
Edit rc.conf
configuration file, which should look like provided example:
# Single configuration can have multiple sessions
# Each session starts with the connection details followed by forward rules
#
# SSH_USER@SSH_HOSTNAME_OR_IP:SSH_PORT PATH/TO/PRIVATE_SSH_KEY
# L LOCAL_PORT_TO_LISTEN:REMOTE_TARGET_HOST:REMOTE_TARGET_PORT
# R REMOTE_PORT_TO_LISTEN:LOCAL_TARGET_HOST:LOCAL_TARGET_PORT
bob@example1.com:22 .ssh/id_dsa
L 10080:example-server1.com:80
L 10022:example-server1.com:22
R 10080:localhost:80
R 10022:localhost:22
alice@home-server.com:443 id_rsa
L 13389:home-pc:3389
Run application:
java -jar rc.jar
or
java -jar rc.jar path/to/conf.file
Enjoy!
P.S. Source code and build details are available on GitHub: https://github.com/klimmik/rc