{"repo":"kanocz/lcvpn","free":true,"listed":false,"github":"https://github.com/kanocz/lcvpn","clone":"git clone https://github.com/kanocz/lcvpn.git","description":"Decentralized VPN in golang","language":"Go","stars":554,"topics":["golang","vpn"],"license":"MIT","category":"networking-infra","readme_excerpt":"LCVPN - Light decentralized VPN in golang Originally this repo was just an answer on a question \"how much time it'll take to write my own simple VPN in golang\" (answer is about 3 hours for first prototype), but now it used in production in different environments. So, LCVPN is - Very light and easy (one similar config on all hosts) - Use same config for all hosts (autedetect local params) - useful with puppet etc - Uses AES-128, AES-192 or AES-256 encryption (note that AES-256 is much slower than AES-128 on most computers) + optional HMAC-SHA256 or (super secure! 😅 ) NONE encryption (just copy without modification) - Communicates via UDP directly to selected host (no central server) - Works only on Linux (uses TUN device) - Support of basic routing - can be used to connect several networks - Multithread send and receive - scaleable for big traffc - Due to use so reuseport better result in case of bigger number of hosts - It's still in beta stage, use it on your own risk (and please use only versions marked as \"release\") Install and run You need golang (at least 1.5) installed and configured: if you have config in /etc/lcvpn.conf if you want to specify different location of config (or if you need to run several instances) if you host is hidden behind firewall (with udp port forward) lcvpn is unable to detect which \"remote\" is localhost. In this case use next syntax: Config example where port is UDP port for communication encryption is aescbchmac for AES-CBC+HMAC-SHA256, legacy","default_branch":null,"files":null,"tree":[],"storefront":"/r/kanocz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kanocz/lcvpn/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}