diff --git a/run/server.sh b/run/server.sh
index 1b4431f..a47eeb4 100644
--- a/run/server.sh
+++ b/run/server.sh
@@ -11,20 +11,27 @@ stop() {
trap 'stop' EXIT SIGINT SIGTERM SIGHUP
+html()
+{
+ local h="
VirtualDSM"
+ h="${h} "
+ h="${h}
$1
"
+
+ echo "$h"
+}
+
if [[ "$2" != "/"* ]]; then
BODY="$2"
if [[ "$BODY" == "install" ]]; then
-
BODY="Please wait while Virtual DSM is installing..."
-
fi
- HTML="VirtualDSM
$BODY
"
+ HTML=$(html "$BODY")
+ printf '%b' "HTTP/1.1 200 OK\nContent-Length: ${#HTML}\nConnection: close\n\n$HTML" > "$TMP_FILE"
- echo -en "HTTP/1.1 200 OK\nContent-Length: ${#HTML}\nConnection: close\n\n$HTML" > "$TMP_FILE"
socat TCP4-LISTEN:"${1:-5000}",reuseaddr,fork,crlf SYSTEM:"cat ${TMP_FILE}" 2> /dev/null & wait $!
else
@@ -35,15 +42,17 @@ else
else
+ BODY="The location of DSM is http://\${IP}:\${PORT}"
+
+ HTML=$(html "xxx")
+
{ echo "#!/bin/bash"
echo "INFO=\$(curl -s -m 5 -S http://127.0.0.1:2210/read?command=10 2>/dev/null)"
echo "rest=\${INFO#*http_port}; rest=\${rest#*:}; rest=\${rest%%,*}; PORT=\${rest%%\\\"*}"
echo "rest=\${INFO#*eth0}; rest=\${rest#*ip}; rest=\${rest#*:}; rest=\${rest#*\\\"}; IP=\${rest%%\\\"*}"
- echo "BODY=\"The location of DSM is http://\${IP}:\${PORT}\""
- echo "HTML=\"VirtualDSM
\$BODY
\""
- echo "echo -e \"\HTTP/1.1 200 OK\\nContent-Length: \${#HTML}\\nConnection: close\\n\\n\$HTML\""
+ echo "HTML=\"$HTML\"; BODY=\"$BODY\"; HTML=\${HTML/xxx/\$BODY}"
+ echo "printf '%b' \"HTTP/1.1 200 OK\\nContent-Length: \${#HTML}\\nConnection: close\\n\\n\$HTML\""
} > "$TMP_FILE"
fi