2023-03-27 19:23:50 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -eu
|
2023-04-20 15:27:06 +02:00
|
|
|
trap exit SIGINT SIGTERM
|
2023-03-27 19:23:50 +02:00
|
|
|
|
2023-04-20 15:06:44 +02:00
|
|
|
# Close any previous instances
|
|
|
|
script_name=${BASH_SOURCE[0]}
|
|
|
|
|
|
|
|
for pid in $(pidof -x $script_name); do
|
|
|
|
if [ $pid != $$ ]; then
|
2023-04-20 15:26:22 +02:00
|
|
|
kill -15 $pid 2> /dev/null
|
2023-04-20 15:06:44 +02:00
|
|
|
wait $pid 2> /dev/null
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# Serve the page
|
|
|
|
HTML="<HTML><BODY><H1><CENTER>$2</CENTER></H1></BODY></HTML>"
|
2023-03-28 18:42:02 +02:00
|
|
|
RESPONSE="HTTP/1.1 200 OK\r\nConnection: close\r\n\r\n$HTML\r\n"
|
2023-03-27 19:23:50 +02:00
|
|
|
|
|
|
|
while { echo -en "$RESPONSE"; } | nc -lN "${1:-8080}"; do
|
|
|
|
echo "================================================"
|
|
|
|
done
|
|
|
|
|
2023-04-20 15:06:44 +02:00
|
|
|
|