Breaking change: When parameters are passed directly run them.

This commit is contained in:
Werner Beroux 2016-06-28 14:43:45 +00:00
parent ad2b05aa4f
commit d35a8cef17
1 changed files with 26 additions and 24 deletions

View File

@ -1,21 +1,22 @@
#!/bin/sh #!/bin/sh -e
if [ "$1" = "/bin/sh" ]; then if [ -n "$@" ]; then
shift exec "$@"
fi fi
if [ -n "$HTTPS_PORT" ]; then
FWD="`echo $HTTPS_PORT | sed 's|^tcp://||'`" ARGS="ngrok"
elif [ -n "$HTTP_PORT" ]; then
FWD="`echo $HTTP_PORT | sed 's|^tcp://||'`" # Set the protocol.
elif [ -n "$APP_PORT" ]; then if [ "$NGROK_PROTOCOL" = "TCP" ]; then
FWD="`echo $APP_PORT | sed 's|^tcp://||'`" ARGS="$ARGS tcp"
else
ARGS="$ARGS http"
fi fi
ARGS="" # Set the authorization token.
if [ -n "$NGROK_AUTH" ]; then if [ -n "$NGROK_AUTH" ]; then
ARGS="-authtoken=$NGROK_AUTH " ARGS="$ARGS -authtoken=$NGROK_AUTH "
fi fi
# Set the subdomain or hostname, depending on which is set # Set the subdomain or hostname, depending on which is set
@ -34,25 +35,26 @@ if [ -n "$NGROK_HEADER" ]; then
ARGS="$ARGS -host-header=$NGROK_HEADER " ARGS="$ARGS -host-header=$NGROK_HEADER "
fi fi
PROTOCOL="http"
if [ "$NGROK_PROTOCOL" == "TCP" ]; then
PROTOCOL="tcp "
fi
if [ -n "$NGROK_USERNAME" ] && [ -n "$NGROK_PASSWORD" ] && [ -n "$NGROK_AUTH" ]; then if [ -n "$NGROK_USERNAME" ] && [ -n "$NGROK_PASSWORD" ] && [ -n "$NGROK_AUTH" ]; then
ARGS="$ARGS -auth=\"$NGROK_USERNAME:$NGROK_PASSWORD\" " ARGS="$ARGS -auth=\"$NGROK_USERNAME:$NGROK_PASSWORD\" "
elif [ -n "$NGROK_USERNAME" ] || [ -n "$NGROK_PASSWORD" ]; then elif [ -n "$NGROK_USERNAME" ] || [ -n "$NGROK_PASSWORD" ]; then
if [ -z "$NGROK_AUTH" ]; then if [ -z "$NGROK_AUTH" ]; then
echo "You must specify a username, password, and Ngrok authentication token to use the custom HTTP authentication." echo "You must specify a username, password, and Ngrok authentication token to use the custom HTTP authentication."
echo "Sign up for an authentication token at https://ngrok.com" echo "Sign up for an authentication token at https://ngrok.com"
exit 1 exit 1
fi fi
fi fi
case "$1" in ARGS="$ARGS -log stdout"
-h|help) ARGS=$1 ;;
*) ARGS="$PROTOCOL $ARGS -log stdout $* $FWD" ;;
esac
exec /bin/ngrok $ARGS # Set the point.
if [ -n "$HTTPS_PORT" ]; then
ARGS="$ARGS `echo $HTTPS_PORT | sed 's|^tcp://||'`"
elif [ -n "$HTTP_PORT" ]; then
ARGS="$ARGS `echo $HTTP_PORT | sed 's|^tcp://||'`"
elif [ -n "$APP_PORT" ]; then
ARGS="$ARGS `echo $APP_PORT | sed 's|^tcp://||'`"
fi
set -x
exec $ARGS