@node Overview @unnumbered Overview GoVPN is simple secure virtual private network daemon, written entirely on @url{http://golang.org/, Go programming language}. Reviewability, high 128-bit security margin and @url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI} censorship resistance in mind in free software solution are the main goals for that daemon. Most modern widespread protocols and their implementations in software are too complex to be reviewed, analyzed and modified. @ref{Developer manual, State off art cryptography technologies}. Strong mutual authenticated key exchange is invulnerable to man-in-the middle attachs. @url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy} property guarantees that compromising of long-term authentication keys does not lead to previously captured traffic decrypting. Compromising of peers password files on server side won't allow attacker to masquerade as the client, because of asymmetric @strong{verifiers} usage, resistant to dictionary attacks. Rehandshaking ensures session keys rotation. One-time keys MAC authentication protects against @url{https://en.wikipedia.org/wiki/Replay_attack, replay attacks}. Server can work with several clients simultaneously. Each client is @strong{identified} by 128-bit key, that does not leak during handshake and each client stays @strong{anonymous} for MiTM and DPI. All settings are applied per-peer separately. Optional ability to hide payload packets lengths by appending @strong{noise} to them during transmission. Ability to generate constant packet rate traffic (@strong{CPR}) that will hide even the fact of packets appearance, their timestamps. 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 Copylefted free software: licensed under @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+} @item Works with @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP} network interfaces on top of UDP entirely @item @url{https://www.gnu.org/, GNU}/Linux and @url{http://www.freebsd.org/, FreeBSD} support. @item IPv6 compatible. @item Encrypted and authenticated payload transport. @item Relatively fast handshake. @item Password-authenticated key exchange. @item Server-side password verifiers are secure against dictionary attacks. @item Attacker can not masquerade a client even with password files compromising. @item Replay attack protection. @item Perfect forward secrecy property. @item Mutual two-side authentication. @item Zero knowledge authentication. @item Built-in rehandshake and heartbeat features. @item Several simultaneous clients support. @item Per-client configuration options. @item Hiding of payload packets length with noise. @item Hiding of payload packets timestamps with constant packet rate traffic. @item Optional built-in HTTP-server for retrieving information about known connected peers in @url{http://json.org/, JSON} format. @item Compatibility with @url{http://egd.sourceforge.net/, EGD} PRNGs. @end itemize