*** Alan Holt [2015-05-13 14:03]: >but when I start the *client*, I see this error: >root@farengeit:~/govpn# ./govpn-client -key key.txt -id CLIENTID -iface >tap10 -remote 172.25.60.62:1194 -mtu 1472 >panic: ID is not specified Well, when writing documentation I assumed that CLIENTID will be substituted with the real one, created with utils/newclient.sh. I have updated documentation on http://www.cypherpunks.ru/govpn/Example-usage.html Hope it is more understandable now. peers-directory is some kind of database on the server. It contains client's identities, their verifiers, up/down-scripts. New client is created using utils/newclient.sh script on the server. On the client side you must generate so-called verifier and save it on the server. >What is it client id? How do I specify this? Technically is just a random 128-bit string, 32 hex characters. It is generated conveniently with utils/newclient.sh. >Another question, like this, why it need this: echo "echo tap10" >> >peers/CLIENTID/up.sh ? >So I created directory peers/CLIENTID on server and file up.sh with tap10 > >but I don't really understand why server needs it. Well, again, utils/newclient.sh creates CLIENTID (32 hex chars) directory and dummy empty up.sh script. After client is connected, server requires to know to what TAP-interface it must be attached. up.sh script tells this by writing its name to stdout. There can be many various setups where each client can be bind to specified interface (various networks), or maybe each time new TAP-interface is generated and added to the bridge network. All those setups are fully configurable manuall with up.sh and GoVPN's server needs to know only what TAP interface is must use after client is connected. -- Happy hacking, Sergey Matveev