]> Cypherpunks.ru repositories - govpn.git/blobdiff - doc/govpn.texi
Remark about proprietary OS
[govpn.git] / doc / govpn.texi
index e454198a3cc3167e8b168e6c54ac83c3da9cb4b3..a7e32f1165f051f797576873ae8b5c4834b3bab0 100644 (file)
@@ -17,13 +17,11 @@ GNU General Public License for more details.
 @end quotation
 @end copying
 
-@ifnottex
 @node Top
 @top GoVPN
 
 This manual is for GoVPN -- simple secure free software virtual private
 network (VPN) daemon, written entirely on Go programming language.
-@end ifnottex
 
 @menu
 * Overview::
@@ -71,6 +69,12 @@ Each client also has it's own identification key and server works with
 all of them independently. Identification key is not secret, but it is
 encrypted (obfuscated) during transmission.
 
+The only platform specific requirement is TAP network interface support.
+API to that kind of device is different, OS dependent and non portable.
+So only a few operating systems is officially supported. Author has no
+proprietary software to work with, so currently there is lack of either
+popular Microsoft Windows or Apple OS X support.
+
 @itemize @bullet
 @item
 Works with @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
@@ -129,9 +133,26 @@ are provided below, but be sure that you are reading them from the
 trusted source. Alternatively check this page from other sources and
 look for the mailing list announcements.
 
-You have to set up @code{$GOPATH} properly first. After that you can
-just type @code{make} and all necessary Go libraries will be installed
-and client/server binaries are built in the current directory.
+You have to set up @code{$GOPATH} properly first. For example you can
+clone the repository or decompress tarball and set path like this:
+
+@example
+% mkdir -p govpn/src
+% git clone https://github.com/stargrave/govpn govpn/src/govpn
+or
+% tar xfC govpn-1.5.tar.xz govpn/src && mv govpn/src/govpn-1.5 govpn/src/govpn
+% export GOPATH=$(pwd)/govpn:$GOPATH
+@end example
+
+After that you can just type @code{make} and all necessary Go libraries
+will be installed and client/server binaries are built in the current
+directory:
+
+@example
+% cd govpn/src/govpn
+% make
+[or gmake under FreeBSD]
+@end example
 
 @include pubkey.texi
 
@@ -185,6 +206,9 @@ transport. MTU for that wlan0 is 1500 bytes. GoVPN will say that maximum
 MTU for the link is 1476, however it does not take in account TAP's
 Ethernet frame header length, that in my case is 14 bytes long (1476 - 14).
 
+Do not forget about setting @code{GOMAXPROC} environment variable for
+using more than one CPU.
+
 GNU/Linux IPv4 client-server example:
 
 @example
@@ -199,7 +223,7 @@ server% tunctl -t tap10
 server% ip link set mtu 1462 dev tap10
 server% ip addr add 172.16.0.1/24 dev tap10
 server% ip link set up dev tap10
-server% govpn -bind 192.168.0.1:1194
+server% GOMAXPROC=4 govpn-server -bind 192.168.0.1:1194
 @end example
 
 @example
@@ -211,8 +235,9 @@ client% ip link set mtu 1462 dev tap10
 client% ip addr add 172.16.0.2/24 dev tap10
 client% ip link set up dev tap10
 client% ip route add default via 172.16.0.1
+client% export GOMAXPROC=4
 client% while :; do
-    govpn -key key.txt -id CLIENTID -iface tap10 -remote 192.168.0.1:1194
+    govpn-client -key key.txt -id CLIENTID -iface tap10 -remote 192.168.0.1:1194
 done
 @end example
 
@@ -231,7 +256,7 @@ echo $tap
 EOF
 server% chmod 500 peers/CLIENTID/up.sh
 server% ifconfig em0 inet6 fe80::1/64
-server% govpn -bind fe80::1%em0
+server% GOMAXPROC=4 govpn-server -bind fe80::1%em0
 @end example
 
 @example
@@ -239,8 +264,9 @@ client% ifconfig me0 inet6 -ifdisabled auto_linklocal
 client% ifconfig tap10
 client% ifconfig tap10 inet6 fc00::2/96 mtu 1462 up
 client% route -6 add default fc00::1
+client% export GOMAXPROC=4
 client% while :; do
-    govpn -key key.txt -id CLIENTID -iface tap10 -remote [fe80::1%me0]:1194
+    govpn-client -key key.txt -id CLIENTID -iface tap10 -remote [fe80::1%me0]:1194
 done
 @end example