blockbook/contrib/scripts/start-backend-tunnels.sh

42 lines
748 B
Bash
Executable File

#!/usr/bin/env bash
if [ $# -ne 1 ]; then
echo "Usage: $(basename $0) host" 1>&2
exit 1
fi
host=$1
get_port() {
data=$1
key=$2
echo "${data}" | gawk "match(\$0, /\"${key}\":\s+([0-9]+)/, a) {print a[1]}" -
}
# change dir to root of git repository
cd $(cd $(dirname $(readlink -f $0)) && git rev-parse --show-toplevel)
# get all testnet ports from configs/
ports=$(gawk 'match($0, /"backend_rpc":\s+([0-9]+)/, a) {print a[1]}' configs/coins/*.json)
for port in $ports
do
ssh -nNT -L $port:localhost:$port $host &
pid=$!
echo "Started tunnel to ${host}:${port} (pid: ${pid})"
done
at_exit() {
pkill -P $$
}
trap at_exit EXIT
sleep inf
# wait -n
# code=$?
#
# if [ $code != 0 ]; then
# exit $code
# fi