The main freelan repository.
C++ C Python Other
Failed to load latest commit information.
apps/freelan fix a common typographic error Nov 15, 2016
artwork Added icons Apr 28, 2015
libs fix a common typographic error Nov 15, 2016
packaging packaging: fix whitespace omission in windows README Jun 17, 2015
provisioning Renamed freelan2 to freelan (#59) Mar 29, 2015
samples fix a common typographic error Nov 15, 2016
scripts Renamed freelan2 to freelan (#59) Mar 29, 2015
third-party Fixed OpenSSL on Windows and added support for debug third-party build Apr 3, 2015
.gitattributes Removed the autocrlf for text files May 9, 2015
.gitignore Moved the OSX package generation to SCons (#30) Apr 18, 2015
.gitmodules Updated submodules May 9, 2015
.party Moved to newer openSSL Version Mar 5, 2016
.travis.yml Fixed travis overriding the environment variable for g++ Jul 25, 2015
.valgrind-suppressions Added valgrind suppressions Jan 11, 2015 Adapted SConscript to allow for OpenWRT cross-compilation (#68) Apr 19, 2015 Fixed build instructions #32 Mar 19, 2015
LICENSE Compiled freelan Mar 31, 2014
Makefile Added support for a different binary prefix May 9, 2015 rename Makefile to #56 Mar 19, 2015 Added a link to the donate page Apr 4, 2015
SConscript Disabled Web server support on Linux due to licensing issues Nov 1, 2015
SConstruct Fixed incorrect detection of g++ in SConstruct Jul 25, 2015
VERSION Bumped version number May 10, 2015
Vagrantfile Upgrade provisioning files Dec 15, 2014
defines.hpp.template Added Git describe to the version output. May 6, 2014 Added support for Python3 for the defines scripts Nov 1, 2015
freelan-all.sln Added dependency on libcryptoplus for libmongooseplus Jul 20, 2014
fscp.txt Moved the FSCP specification at the root May 9, 2015
gpl-3.0.txt Added basic constructions scripts Mar 29, 2014 Explicit linkage with libc++ on OSX for Boost Mar 26, 2014


What is FreeLAN?

A peer-to-peer, secure, easy-to-setup, multi-platform, open-source, highly-configurable VPN software.


FreeLAN is available on Windows, Mac OSX and Linux (Debian-based distributions). Check the official website for installers.

If your platform is not officially supported, dot not despair and try to build-it yourself ! Check the build instructions for details on how to do that.


FreeLAN can be configured to support any network topology, be it a traditional client-server structure or a full-mesh one. The emulated network can operate at the Ethernet or at the IPv4/IPv6 levels. Security can be achieved through the use of certificates or via a simple shared passphrase.

For instance, creating a simple VPN node can be done with:

freelan --security.passphrase "my secret"

This will start a VPN node, listening for connections on all interfaces on the port UDP:12000. The node will pick the default IPv4 address inside the emulated network.

To connect to another node, just specify the option, like so:

freelan --security.passphrase "my secret"

Each node should have a different virtual IP address: you can specify the IPv4 address to use with the tap_adapter.ipv4_address_prefix_length option, like so:

freelan --security.passphrase "my secret" --tap_adapter.ipv4_address_prefix_length

Check out the configuration file for details !

Frequently Asked Questions

Is there a graphical interface ?

A graphical user interface is planned but nothing is made public yet. You will just have to be patient :)

Can I use FreeLAN to access forbidden websites/websites in other countries with restrictions ?

FreeLAN is not a service, it's a software. You can configure it to reach that goal easily, but you'll need an exit-point (a server, a friendly-computer at the right location) on which you can run FreeLAN too. It will always take a minimum of 2 nodes to create a VPN network.


You like FreeLAN and you would like to show your support and help development of next releases ? Check out the donate page !


Check the contributions guidelines.


Check the packaging instructions.