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