freelan-all
A super-project that includes all FreeLAN related projects and provides scripts to generate installers.
For help regarding the configuration, take a look at the wiki.
Libraries
It contains the following projects:
- libcryptoplus - A C++ wrapper around the OpenSSL cryptographic library.
- libiconvplus - A C++ wrapper around the iconv library.
- libfscp - The FreeLAN Secure Channel protocol and its C++ implementation.
- libasiotap - A C++ library to control virtual network interfaces also known as "TAP adapters".
- libfreelan - The FreeLAN C++ library.
- freelan - The FreeLAN binary.
- freelan-server - The FreeLAN configuration server.
- libkfather - A C++ JSON parser/producer with a terrible name.
To fetch those from their respective repositories, issue the following commands:
git submodule init
git submodule update
And, to get the last revision for each repository:
git submodule foreach git checkout master
Building
You may setup quickly a building environment by calling the appropriate script at tools/<your operating system>/setup-environment
.
If no script exists for your operating system, read the instructions in freelan-buildtools/README.md
.
This directory contains a SConstruct
file which uses the FreeLAN builds tools to build the contained projects.
The default target (freelan
) builds and installs all the necessary files for FreeLAN and FreeLAN itself to the environment specified FREELAN_INSTALL_PREFIX
(or a OS-dependent default prefix if none is specified).
To do that, just type:
scons
To build everything in the directory (all sub-projects), type instead:
scons build
To build then install everything from the directory (all sub-projects), type instead:
scons install
Windows
You will need Microsoft Visual Studio 2012 to compile freelan. All projects come with a .vcxproj
file for all the targets (debug/release and x86/x64).
The root directory also contains a solution file (.sln
) that references all the sub-projects.
Graphical User Interface
A graphical user interface is planned but nothing is made public yet. You will just have to be patient :)
Packaging
See the README.md
file into the packaging
directory.
Does the project have a website ?
You may find the git repository on github.