]> Cypherpunks.ru repositories - govpn.git/blob - utils/newclient.sh
up.sh is not forcefully required
[govpn.git] / utils / newclient.sh
1 #!/bin/sh -e
2
3 PATH=$PATH:.
4
5 [ -n "$1" ] || {
6     cat <<EOF
7 Example script for creating new user peer for GoVPN.
8 It asks for passphrase, generates verifier and shows you example
9 JSON entry for server configuration.
10
11 Usage: $0 <username>
12 EOF
13     exit 1
14 }
15
16 username=$1
17 umask 077
18 passphrase=$(mktemp)
19 $(dirname $0)/storekey.sh $passphrase
20 verifier=$(govpn-verifier -key $passphrase)
21 rm -f $passphrase
22 verifierS=$(echo $verifier | sed 's/^\(.*\) .*$/\1/')
23 verifierC=$(echo $verifier | sed 's/^.* \(.*\)$/\1/')
24 echo
25
26 cat <<EOF
27 Your client verifier is: $verifierC
28
29 Place the following JSON configuration entry on the server's side:
30
31     "$username": {
32         "up": "/path/to/up.sh",
33         "iface": "or TAP interface name",
34         "verifier": "$verifierS"
35     }
36
37 Verifier was generated with:
38
39     $(dirname $0)/storekey.sh /tmp/passphrase
40     govpn-verifier -key /tmp/passphrase
41 EOF