From 698af0a6e0d08a61ff8036b6f4bfcf0288bc61a7 Mon Sep 17 00:00:00 2001 From: Takatoshi MATSUO Date: Tue, 11 Aug 2020 00:11:22 +0900 Subject: [PATCH] launch.sh --listen option handle bind IP see https://github.com/novnc/websockify/issues/411 --- utils/launch.sh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/utils/launch.sh b/utils/launch.sh index 4cb6fc2b..99c4d7c6 100755 --- a/utils/launch.sh +++ b/utils/launch.sh @@ -13,7 +13,7 @@ usage() { echo "Starts the WebSockets proxy and a mini-webserver and " echo "provides a cut-and-paste URL to go to." echo - echo " --listen PORT Port for proxy/webserver to listen on" + echo " --listen IP:PORT Port or IP:Port for proxy/webserver to listen on" echo " Default: 6080" echo " --vnc VNC_HOST:PORT VNC server host:port proxy target" echo " Default: localhost:5900" @@ -63,7 +63,7 @@ cleanup() { while [ "$*" ]; do param=$1; shift; OPTARG=$1 case $param in - --listen) PORT="${OPTARG}"; shift ;; + --listen) IP_PORT="${OPTARG}"; shift ;; --vnc) VNC_DEST="${OPTARG}"; shift ;; --cert) CERT="${OPTARG}"; shift ;; --key) KEY="${OPTARG}"; shift ;; @@ -76,6 +76,13 @@ while [ "$*" ]; do esac done +if [ -n "$IP_PORT" ]; then + if [[ ${IP_PORT} =~ : ]]; then + IP=`echo ${IP_PORT%:*}:` + fi + PORT=`echo ${IP_PORT##*:}` +fi + # Sanity checks if bash -c "exec 7<>/dev/tcp/localhost/${PORT}" &> /dev/null; then exec 7<&- @@ -160,9 +167,10 @@ else fi fi -echo "Starting webserver and WebSockets proxy on port ${PORT}" -#${HERE}/websockify --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} & -${WEBSOCKIFY} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${KEY:+--key ${KEY}} ${PORT} ${VNC_DEST} ${RECORD_ARG} & +echo "Starting webserver and WebSockets proxy on port ${IP}${PORT}" +#${HERE}/websockify --web ${WEB} ${CERT:+--cert ${CERT}} ${IP}${PORT} ${VNC_DEST} & +${WEBSOCKIFY} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${KEY:+--key ${KEY}} ${IP}${PORT} ${VNC_DEST} ${RECORD_ARG} & + proxy_pid="$!" sleep 1 if ! ps -p ${proxy_pid} >/dev/null; then