diff options
Diffstat (limited to 'packages/anastasis-webui/watch/reply.sh')
-rwxr-xr-x | packages/anastasis-webui/watch/reply.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/anastasis-webui/watch/reply.sh b/packages/anastasis-webui/watch/reply.sh new file mode 100755 index 000000000..1b42aa4e3 --- /dev/null +++ b/packages/anastasis-webui/watch/reply.sh @@ -0,0 +1,17 @@ +#!/bin/bash +SERVER_KEY=258EAFA5-E914-47DA-95CA-C5AB0DC85B11 + +while read line; do + LINE=$(echo $line | tr -d '\r') + case $LINE in + Sec-WebSocket-Key:*) + CLIENT_KEY="${LINE:19}" + export WS_ACCEPT=$( echo -n $CLIENT_KEY$SERVER_KEY | sha1sum | xxd -r -p | base64 ) + ;; + "") break ;; + esac +done + +cat watch/web_socket_server.reply | sed 's/$'"/`echo \\\r`/" | envsubst '$WS_ACCEPT' + +socat UNIX-RECV:./send_signal STDOUT |