#!/usr/bin/env bash

mydir="$(readlink -f "$(dirname "${0}")")"
mylib="${mydir}/../lib/websockify/rebind.so"
[ -e "${mylib}" ] || { echo "${mylib} not found" >&2; exit 1; }

usage() {
    echo "Usage: $(basename $0) OLD_PORT NEW_PORT COMMAND_LINE"
    echo
    echo "Launch COMMAND_LINE, but intercept system calls to bind"
    echo "to OLD_PORT and instead bind them to localhost:NEW_PORT"
    exit 2
}

# Parameter defaults

export REBIND_PORT_OLD="${1}"
export REBIND_PORT_NEW="${2}"
shift 2

LD_PRELOAD="${mylib}" exec "${@}"
