#!/bin/bash def_user=$USER def_addr="jupytera" def_port="5000" def_debug=false function show_usage { echo "usage: $0 [-u USER] [-p PORT] [-s]" echo " -u, --user USER set user (default: ${def_user})" echo " -p, --port PORT set local port (default: ${def_port})" echo " -s, --staging tunnel to jupytera staging (default: jupytera production)" echo " -d, --debug turn on debug mode (default: off)" echo " -h, --help, -? show this help" } user=${def_user} addr=${def_addr} port=${def_port} debug=${def_debug} while [[ "$#" -gt 0 ]]; do case $1 in -u|--user) user="$2" ; shift ;; -p|--port) port="$2" ; shift ;; -s|--staging) addr="jupytera-staging" ;; -d|--debug) debug=true ;; -h|--help|-\?) show_usage ; exit ;; *) echo "unknown argument: $1" ; show_usage ; exit 1 ;; esac shift done echo "creating tunnel to ${addr}.psi.ch on https://localhost:${port}/ ..." echo echo "Username: ${user}" cmd="ssh -J ${user}@hop.psi.ch ${user}@ra.psi.ch -L ${port}:${addr}.psi.ch:443" if ${debug} ; then echo "DEBUG:" $cmd else $cmd fi