diff --git a/README.md b/README.md index 0307f29..81da2b8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,34 @@ # heidisql-ssh-tunnel -Helper script to spawn SSH tunnels based on HeidiSQL settings \ No newline at end of file +Helper script to spawn SSH tunnels based on HeidiSQL settings + +# What's this? + +The script assumes you have HeidiSQL directory in `~/'.heidisql` where your `portable_settings.txt` file is living. + +It peeks into that file and offers auto-completion based on saved sessions. It creates local SSH tunnels for these sessions. + +# Setup + +1. Git clone this repo +1. Add a symlink to bash completion script such as: + ``` + sudo ln -s <repo>/hs ~/.local/share/bash-completion/hs + ``` +1. Add symlink to script itself and make it executable: + ``` + sudo ln -s <repo>/hs.sh /usr/local/bin/hs + chmod +x <repo>/hs.sh + ``` + +# What it looks like + +Here with `fzf` as auto-completion helper (optional, is a personal preference): + + + +> Here `hs` first attempts to set up an SSH tunnel for a HeidiSQL saved session and fails because something's already listening on the local port. +> +> We `kill` the connection in question - an SSH tunnel from a prior test - and try again. This time `hs` correctly creates our tunnel. With `set -xv` we see the actual command that gets executed. +> +> Once done we clean up after ourselves and kill SSH tunnels we no longer need.