mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
CONNECT="${CONNECT_ADDR:?CONNECT_ADDR is required}"
|
|
LISTEN="${LISTEN_ADDR:-0.0.0.0:56000}"
|
|
|
|
case "$CONNECT" in
|
|
*:*) ;;
|
|
*) echo "CONNECT_ADDR must be in host:port format" >&2; exit 1 ;;
|
|
esac
|
|
|
|
set -- -listen "$LISTEN" -connect "$CONNECT"
|
|
|
|
if [ -n "${MODE}" ]; then
|
|
set -- "$@" -mode "$MODE"
|
|
fi
|
|
|
|
for kcp_var in NODELAY INTERVAL RESEND NC SNDWND RCVWND MTU ACKNODELAY; do
|
|
eval "kcp_val=\${KCP_${kcp_var}}"
|
|
if [ -n "${kcp_val}" ]; then
|
|
kcp_flag="-kcp-$(echo "$kcp_var" | tr '[:upper:]' '[:lower:]')"
|
|
case "$kcp_var" in
|
|
ACKNODELAY) set -- "$@" "${kcp_flag}=${kcp_val}" ;;
|
|
*) set -- "$@" "$kcp_flag" "$kcp_val" ;;
|
|
esac
|
|
fi
|
|
done
|
|
|
|
if [ -n "${OBF_PROFILE}" ] && [ "${OBF_PROFILE}" != "none" ]; then
|
|
OBF="${OBF_KEY:?OBF_KEY is required when OBF_PROFILE != none}"
|
|
set -- "$@" -obf-profile "$OBF_PROFILE" -obf-key "$OBF"
|
|
fi
|
|
|
|
if [ -n "${OBF_TIMING}" ]; then
|
|
set -- "$@" -obf-timing "${OBF_TIMING}"
|
|
fi
|
|
|
|
if [ "${DEBUG}" = "true" ]; then
|
|
set -- "$@" -debug
|
|
fi
|
|
|
|
if [ -n "${CLIENTS_FILE}" ]; then
|
|
set -- "$@" -clients-file "${CLIENTS_FILE}"
|
|
fi
|
|
|
|
exec ./server "$@"
|