The main freelan repository.
C++ C Python Other
Clone or download
s-vincent Disables netlink RTA_METRICS exception.
RTA_METRIC response processing is far more complex than just casting
data to unsigned int. Data parameter is an array of rtattr. So to not
block possible GNU/Linux distributions than can be impacted by exception, we
disable it and set metric to 0 (as it is by default).
Latest commit 1cf517b Jul 9, 2018
Failed to load latest commit information.
apps/freelan Fixes compilation issues with Boost 1.67 on Windows and link to this … May 4, 2018
artwork Added icons Apr 28, 2015
libs Disables netlink RTA_METRICS exception. Jul 9, 2018
packaging Fixes WDK version to use in Windows packaging README. Nov 8, 2017
provisioning Updates vagrant and ansible scripts. Apr 28, 2018
samples Uses SCons conf.CheckList() to link to determine if system has libboo… Aug 14, 2017
scripts Fixes path for scripts. Aug 8, 2017
third-party Updates libraries to use in teapot .party file (OpenSSL 1.0.2n and Cu… Dec 26, 2017
.gitattributes Moved to Boost 1.63 Mar 5, 2017
.gitignore Moved the OSX package generation to SCons (#30) Apr 18, 2015
.gitmodules As freelan-debian.git repository has been removed by someone, updates… Aug 12, 2017
.party Updates dependencies for Windows build. May 3, 2018
.travis.yml Removes clang compiler from TravisCI build. Aug 18, 2017
.valgrind-suppressions Added valgrind suppressions Jan 11, 2015 Fixes build instruction with scons. Apr 15, 2018 Wraps lines of *.md files to 80 columns. Aug 10, 2017
LICENSE Updates date in license and fixes 80 columns for Windows package README. Aug 10, 2017
Makefile Adds a "clean" target in Makefile. Apr 28, 2018 Fixes Debug build on Windows and adds additionnals target to Windows … Aug 10, 2017 some further small improvements Aug 12, 2017
SConscript Adds manpage generation (#157) Aug 15, 2017
SConstruct Adds manpage generation (#157) Aug 15, 2017
VERSION Bumped version number May 10, 2015
Vagrantfile Updates vagrant and ansible scripts. Apr 28, 2018
appveyor.yml Adds cmake dependency for appveyor. Aug 13, 2017
defines.hpp.template Added Git describe to the version output. May 6, 2014 Uses SOURCE_DATE_EPOCH for build time if available to makes build rep… Aug 12, 2017
freelan-all.sln Fixed tap-setup building with WDK 10 Nov 5, 2017
fscp.txt Moved the FSCP specification at the root May 9, 2015
gpl-3.0.txt Added basic constructions scripts Mar 29, 2014 Fixes directory to execute freelan binary in as well as adds s… Aug 6, 2017


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, do not despair and just 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.