aboutsummaryrefslogtreecommitdiff
path: root/packages/anastasis-webui/watch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/anastasis-webui/watch')
-rwxr-xr-xpackages/anastasis-webui/watch/reply.sh3
-rwxr-xr-xpackages/anastasis-webui/watch/send.sh12
-rwxr-xr-xpackages/anastasis-webui/watch/send2.sh14
-rwxr-xr-xpackages/anastasis-webui/watch/send_reload.sh7
-rwxr-xr-xpackages/anastasis-webui/watch/serve.sh2
5 files changed, 29 insertions, 9 deletions
diff --git a/packages/anastasis-webui/watch/reply.sh b/packages/anastasis-webui/watch/reply.sh
index 1b42aa4e3..20cbff37e 100755
--- a/packages/anastasis-webui/watch/reply.sh
+++ b/packages/anastasis-webui/watch/reply.sh
@@ -14,4 +14,5 @@ done
cat watch/web_socket_server.reply | sed 's/$'"/`echo \\\r`/" | envsubst '$WS_ACCEPT'
-socat UNIX-RECV:./send_signal STDOUT
+tail -n 0 -F /tmp/send_signal 2> /dev/null
+
diff --git a/packages/anastasis-webui/watch/send.sh b/packages/anastasis-webui/watch/send.sh
new file mode 100755
index 000000000..184cd2491
--- /dev/null
+++ b/packages/anastasis-webui/watch/send.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+#https://datatracker.ietf.org/doc/html/rfc6455#page-65
+
+COMMAND=$1
+LEN=$(printf '%x\n' ${#COMMAND})
+
+#text command
+OPCODE=81
+
+cat <(echo -n $OPCODE$LEN | xxd -r -p) <(echo -n $COMMAND) >> /tmp/send_signal
+
diff --git a/packages/anastasis-webui/watch/send2.sh b/packages/anastasis-webui/watch/send2.sh
new file mode 100755
index 000000000..6a2881c19
--- /dev/null
+++ b/packages/anastasis-webui/watch/send2.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+#https://datatracker.ietf.org/doc/html/rfc6455#page-65
+
+CONTENT=$( cat $1 | base64 -w 0 )
+COMMAND='{"type":"UPDATE","'$CONTENT'"}'
+LEN=$(printf '%0*x\n' 4 ${#COMMAND})
+echo $LEN
+LEN=00000138
+#text command
+OPCODE=81
+
+cat <(echo -n $OPCODE$LEN | xxd -r -p) <(echo -n $COMMAND) >> /tmp/send_signal
+
diff --git a/packages/anastasis-webui/watch/send_reload.sh b/packages/anastasis-webui/watch/send_reload.sh
deleted file mode 100755
index 87eef7d54..000000000
--- a/packages/anastasis-webui/watch/send_reload.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-COMMAND='{"type":"RELOAD"}'
-LEN=$(printf '%x\n' ${#COMMAND})
-OPCODE=81
-cat <(echo -n $OPCODE$LEN | xxd -r -p) <(echo -n $COMMAND) | socat - UNIX-SEND:./send_signal
-
diff --git a/packages/anastasis-webui/watch/serve.sh b/packages/anastasis-webui/watch/serve.sh
index cf2737416..c395c6a64 100755
--- a/packages/anastasis-webui/watch/serve.sh
+++ b/packages/anastasis-webui/watch/serve.sh
@@ -1,4 +1,4 @@
#!/bin/bash
-socat TCP-LISTEN:8003,fork EXEC:"./watch/reply.sh"
+socat TCP-LISTEN:8003,fork,reuseaddr,keepalive EXEC:"./watch/reply.sh"