]> Cypherpunks.ru repositories - govpn.git/blobdiff - utils/newclient.sh
Ability to use TUN-interfaces under GNU/Linux
[govpn.git] / utils / newclient.sh
index e741130957a6f30d6c8956988bcd3c3b58e2f940..98957ef6fb4bc6e604993c900caf707a10bb6fb4 100755 (executable)
@@ -1,16 +1,12 @@
 #!/bin/sh -e
 
-getrand()
-{
-    local size=$1
-    dd if=/dev/urandom bs=$size count=1 2>/dev/null | hexdump -ve '"%02x"'
-}
+PATH=$PATH:.
 
 [ -n "$1" ] || {
     cat <<EOF
 Example script for creating new user peer for GoVPN.
-It just creates directory with random peer ID, dummy verifier,
-dummy up.sh executable script and saves username in it.
+It asks for passphrase, generates verifier and shows you example
+YAML entry for server configuration.
 
 Usage: $0 <username>
 EOF
@@ -18,11 +14,18 @@ EOF
 }
 
 username=$1
-peerid=$(getrand 16)
-umask 077
-mkdir -p peers/$peerid
-echo '0000000000000000000000000000000000000000000000000000000000000000' > peers/$peerid/verifier
-echo $username > peers/$peerid/name
-echo '#!/bin/sh' > peers/$peerid/up.sh
-chmod 700 peers/$peerid/up.sh
-echo Place verifier to peers/$peerid/verifier
+verifier=$(govpn-verifier)
+verifierS=$(echo $verifier | sed 's/^\(.*\) .*$/\1/')
+verifierC=$(echo $verifier | sed 's/^.* \(.*\)$/\1/')
+echo
+
+cat <<EOF
+Your client verifier is: $verifierC
+
+Place the following YAML configuration entry on the server's side:
+
+    $username:
+        up: /path/to/up.sh
+        iface: or TUN/TAP interface name
+        verifier: $verifierS
+EOF