]> Cypherpunks.ru repositories - govpn.git/blob - utils/newclient.sh
Use YAML instead of JSON for server configuration file
[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 YAML 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 YAML 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 Verifier was generated with:
37
38     $(dirname $0)/storekey.sh /tmp/passphrase
39     govpn-verifier -key /tmp/passphrase
40 EOF