]> Cypherpunks.ru repositories - govpn.git/blobdiff - utils/newclient.sh
Add simple script for creating new clients keys
[govpn.git] / utils / newclient.sh
diff --git a/utils/newclient.sh b/utils/newclient.sh
new file mode 100755 (executable)
index 0000000..620aac7
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh -e
+
+getrand()
+{
+    local size=$1
+    dd if=/dev/random bs=$size count=1 2>/dev/null | hexdump -ve '"%02x"'
+}
+
+[ -n "$1" ] || {
+    cat <<EOF
+Example script for creating new user peer for GoVPN.
+It just creates directory with random peer ID and random key in it,
+and adds empty file with human readable username.
+
+Usage: $0 <username>
+EOF
+    exit 1
+}
+
+username=$1
+peerid=$(getrand 16)
+umask 077
+mkdir -p peers/$peerid
+getrand 32 > peers/$peerid/key
+touch peers/$peerid/$1
+echo peers/$peerid/$1