Skip to content

Commit

Permalink
Wraps lines of *.md files to 80 columns.
Browse files Browse the repository at this point in the history
  • Loading branch information
s-vincent committed Aug 10, 2017
1 parent 0127fc9 commit a93f3c1
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 28 deletions.
49 changes: 34 additions & 15 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,49 @@ FreeLAN depends on the following libraries:
- OpenSSL
- iconv (Windows)

Generally Linux users can just use the binaries provided by their package manager, Mac OSX users can use brew but other platforms such as Windows may need to build these libraries explicitely.
Generally Linux users can just use the binaries provided by their package
manager, Mac OSX users can use brew but other platforms such as Windows may need
to build these libraries explicitely.

To build the third-party libraries, you can use [teapot](https://github.com/freelan-developers/teapot) (be sure to have `python 2.7` and `perl` installed). Check its [documentation](http://teapot-builder.readthedocs.org/en/latest/) for details, or just type the following command at the root of FreeLAN's repository:
To build the third-party libraries, you can use
[teapot](https://github.com/freelan-developers/teapot) (be sure to have `python
2.7` and `perl` installed). Check its
[documentation](http://teapot-builder.readthedocs.org/en/latest/) for details,
or just type the following command at the root of FreeLAN's repository:

> teapot build
This will build everything inside `third-party`. Once that is done, you can proceed with the next steps.
This will build everything inside `third-party`. Once that is done, you can
proceed with the next steps.

### Debian Linux

To install the required dependencies on Debian Linux (Or Ubuntu), type the following command:
To install the required dependencies on Debian Linux (Or Ubuntu), type the
following command:

> sudo apt-get install scons python libssl-dev libcurl4-openssl-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-filesystem-dev libboost-iostreams-dev build-essential
> sudo apt-get install scons python libssl-dev libcurl4-openssl-dev
> libboost-system-dev libboost-thread-dev libboost-program-options-dev
> libboost-filesystem-dev libboost-iostreams-dev build-essential
### Mac OSX

To install the required dependencies on Mac OS, type the following commands:

> /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
> /usr/bin/ruby -e "$(curl -fsSL
> https://raw.githubusercontent.com/Homebrew/install/master/install)"
> brew update
> brew install scons boost openssl
Building FreeLAN
----------------
Building FreeLAN ----------------

FreeLAN is written in C++11. Make sure your C++ compiler is recent enough and supports this standard. On Linux for instance, you need at least `gcc >= 4.8` for things to go fine.
FreeLAN is written in C++11. Make sure your C++ compiler is recent enough and
supports this standard. On Linux for instance, you need at least `gcc >= 4.8`
for things to go fine.

FreeLAN uses [scons](http://www.scons.org/) as its build system on POSIX-like systems (basically everything except Windows).
FreeLAN uses [scons](http://www.scons.org/) as its build system on POSIX-like
systems (basically everything except Windows).

To build the main binary, just type:

Expand All @@ -56,23 +69,29 @@ To build then install everything into a specific directory, type instead:
### Debugging

If the debug-level logging exposed with the `-d` parameter to freelan does not expose enough information to assist development or bug-finding, it is possible to enable additional debug information at build time with:
If the debug-level logging exposed with the `-d` parameter to freelan does not
expose enough information to assist development or bug-finding, it is possible
to enable additional debug information at build time with:

> scons all --mode=debug
Be aware that this will produce a significant amount of logging information and is not intended for production use.
Be aware that this will produce a significant amount of logging information and
is not intended for production use.

### Windows

You will need Microsoft Visual Studio 2017 to compile freelan. All projects come with a `.vcxproj` file for all the targets (debug/release and x86/x64).
You will need Microsoft Visual Studio 2017 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.
The root directory also contains a solution file (`.sln`) that references all
the sub-projects.

The resulting binaries will be located in the [install](install) directory.

### Mac OSX

On Mac OSX, an additional SCons target exists to build the freelan installation package:
On Mac OSX, an additional SCons target exists to build the freelan installation
package:

> scons package
Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ To improve the chances of your pull-requests to be accepted, make sure that:
- Your changes are of public utility.
- There aren't (too many) spelling or grammar mistakes.

Feel free to suggest improvements, ideas or to add new features. Do not hesitate to ask for help on the [mailing-list](http://freelan.org/development.html) if you need some !
Feel free to suggest improvements, ideas or to add new features. Do not hesitate
to ask for help on the [mailing-list](http://freelan.org/development.html) if
you need some !
43 changes: 31 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,66 @@

### What is FreeLAN?

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

### Installation

FreeLAN is available on Windows, Mac OSX and Linux (Debian-based distributions). Check the [official website](http://www.freelan.org) for installers.
FreeLAN is available on Windows, Mac OSX and Linux (Debian-based distributions).
Check the [official website](http://www.freelan.org) for installers.

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

### Quick-start

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.
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 9.0.0.1 IPv4 address inside the emulated network.
This will start a VPN node, listening for connections on all interfaces on the
port UDP:12000. The node will pick the default 9.0.0.1 IPv4 address inside the
emulated network.

To connect to another node, just specify the `fscp.contact` option, like so:

freelan --security.passphrase "my secret" --fscp.contact 1.2.3.4:12000

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:
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 9.0.0.2/24
freelan --security.passphrase "my secret"
--tap_adapter.ipv4_address_prefix_length 9.0.0.2/24

Check out the [configuration file](apps/freelan/config/freelan.cfg) for details !
Check out the [configuration file](apps/freelan/config/freelan.cfg) 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 :)
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 ?
#### 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**.
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**.

### Donations

You like FreeLAN and you would like to show your support and help development of next releases ? Check out the [donate page](http://freelan.org/donate.html#) !
You like FreeLAN and you would like to show your support and help development of
next releases ? Check out the [donate page](http://freelan.org/donate.html#) !

### Contributions

Expand Down

0 comments on commit a93f3c1

Please sign in to comment.