diff --git a/run/server.sh b/run/server.sh index b6a8a4e..06ab8f5 100644 --- a/run/server.sh +++ b/run/server.sh @@ -1,18 +1,19 @@ #!/usr/bin/env bash set -eu +TMP_FILE="" + stop() { trap - SIGINT EXIT - { pkill -f nc || true; } 2>/dev/null + { pkill -f socat || true; } 2>/dev/null + [ -f "$TMP_FILE" ] && rm -f "$TMP_FILE" } trap 'stop' EXIT SIGINT SIGTERM SIGHUP if [[ "$2" == "/"* ]]; then - while true ; do - nc -lp "${1:-5000}" -e "$2" & wait $! - done + socat TCP4-LISTEN:"${1:-5000}",reuseaddr,fork,crlf SYSTEM:"$2" 2> /dev/null & wait $! else @@ -20,10 +21,9 @@ else Arial,sans-serif; } a, a:hover, a:active, a:visited { color: white; }