github.com/aychain/blockbook@v0.1.1-0.20181121092459-6d1fc7e07c5b/contrib/scripts/start-backend-tunnels.sh (about) 1 #!/bin/bash 2 3 if [ $# -ne 1 ]; then 4 echo "Usage: $(basename $0) host" 1>&2 5 exit 1 6 fi 7 8 host=$1 9 10 get_port() { 11 data=$1 12 key=$2 13 echo "${data}" | gawk "match(\$0, /\"${key}\":\s+([0-9]+)/, a) {print a[1]}" - 14 } 15 16 # change dir to root of git repository 17 cd $(cd $(dirname $(readlink -f $0)) && git rev-parse --show-toplevel) 18 19 # get all testnet ports from configs/ 20 ports=$(gawk 'match($0, /"backend_rpc":\s+([0-9]+)/, a) {print a[1]}' configs/coins/*.json) 21 22 for port in $ports 23 do 24 ssh -nNT -L $port:localhost:$port $host & 25 pid=$! 26 echo "Started tunnel to ${host}:${port} (pid: ${pid})" 27 done 28 29 at_exit() { 30 pkill -P $$ 31 } 32 33 trap at_exit EXIT 34 35 sleep inf 36 # wait -n 37 # code=$? 38 # 39 # if [ $code != 0 ]; then 40 # exit $code 41 # fi