#!/bin/sh
# Connect with ssh to a remote machine and do port forwarding so ymol
# socket visualization can work through a firewall.

if [ -z "$2" ]; then
    echo "Need hostname and directory and port:"
    echo "  ymolssh bigcluster:simulation/data Port"
    exit 1
fi
    PORT="$2"

ymol &
sleep 2

COOKIE="`head -n 1 ymol_sockimport`"
YMOLPORT="`tail -n 1 ymol_sockimport`"
HOST="`echo \"$1\" |cut -f1 -d':'`"
DIR="`echo \"$1\" |cut -f2 -d':'`"
echo "Close ymol to exit ymolssh"

if [ -z "$4" ]; then
    (
	echo "$COOKIE"
	echo "localhost"
	echo "$PORT"
	while [ -r "ymol_sockimport" ]; do
	    sleep 1
	done
    ) |ssh -R $PORT:localhost:$YMOLPORT $HOST "( cd \"$DIR\"; head -n 3 >ymol_sockimport; cat >/dev/null)"
else
    HOST2="`echo \"$3\" |cut -f1 -d':'`"
    PORT2="$4"
    (
	echo "$COOKIE"
	echo "localhost"
	echo "$PORT"
	while [ -r "ymol_sockimport" ]; do
	    sleep 1
	done
    ) |ssh -R $PORT:localhost:$YMOLPORT $HOST "ssh -R $PORT2:localhost:$PORT $HOST2 \"( cd \"$DIR\"; head -n 3 >ymol_sockimport; cat >/dev/null)\""
fi
