diff --git a/scripts/netcat_tut.sh b/scripts/netcat_tut.sh
deleted file mode 100755
index 3b99f8f9..00000000
--- a/scripts/netcat_tut.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-while :
-do
- echo -e "HTTP/1.1 200 OK\n\n$(echo '
Hi there
')" | nc -l -k -p 8080 -q 1
-done
diff --git a/scripts/nk b/scripts/nk
new file mode 100755
index 00000000..018c8544
--- /dev/null
+++ b/scripts/nk
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+servefile="$1"
+
+while :
+do
+ # echo -e "HTTP/1.1 200 OK\n\n$(echo 'Hi there
')" | nc -l -k -p 8080 -q 1
+ echo -e "HTTP/1.1 200 OK\n\n$(cat "$servefile")" | nc -l -k -p 8080 -q 1
+done
diff --git a/scripts/websock.sh b/scripts/websock.sh
new file mode 100755
index 00000000..f93a913f
--- /dev/null
+++ b/scripts/websock.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+# https://gist.github.com/apk/2414478
+# WebSocket shell, start & browse to http://:6655/
+# Requires bash 4.x, openssl.
+# Author: rootshell@corelogics.de (which isn't me, apk)
+coproc d { nc -l -p 6656 -q 0; }
+nc -l -p 6655 -q 1 > /dev/null <<-ENDOFPAGE
+ HTTP/1.1 200 OK
+
+
+ENDOFPAGE
+
+until read line; line=`tr -d '\r\n'<<<$line`; test -z "$line"; do
+ test "${line:0:18}" = "Sec-WebSocket-Key:" && key=${line:19}
+ test "${line:0:22}" = "Sec-WebSocket-Version:" && ver=$line
+done <&${d[0]}
+rkey=`echo -n ${key}258EAFA5-E914-47DA-95CA-C5AB0DC85B11|openssl dgst -sha1 -binary|base64`
+echo -ne "HTTP/1.1 101 Switching Protocols\r\n" >&${d[1]}
+echo -ne "Upgrade: websocket\r\nConnection: Upgrade\r\n" >&${d[1]}
+echo -ne "Sec-WebSocket-Accept: $rkey\r\n$ver\r\n\r\n" >&${d[1]}
+
+doasync() {
+ bash -c "$1" | while read line; do
+ while [ "${#line}" -gt 0 ]; do
+ l2=${line:0:80}
+ len=`echo -n "$l2" | wc -c | tr -d ' '`
+ echo -ne "\x81\x`printf '%02x' $len`$l2"
+ line=${line:80}
+ done
+ done &
+}
+
+while true; do
+ reclen=$((`od -j 1 -N 1 -t dI -A n <&${d[0]}` - 128))
+ for i in `seq 0 3`; do
+ mk[$i]=`od -N 1 -t dI -A n <&${d[0]}`
+ done
+ msg=""
+ for i in `seq 0 $(($reclen - 1))`; do
+ bt=`od -N 1 -t dI -A n <&${d[0]}`
+ bt=$(($bt ^ ${mk[$(($i % 4))]}))
+ msg="$msg$(echo -e "\x`printf '%02x' $bt`")"
+ done
+ test "$msg" = "exit" && break
+ doasync "$msg" >&${d[1]}
+done
+echo >&${d[1]}-