]> git.meshlink.io Git - meshlink/blob - README
Merge branch 'master' into saverio
[meshlink] / README
1 This is the README file for the MeshLink library. Installation instructions may
2 be found in the INSTALL file.
3
4 MeshLink is Copyright (C) 2014 Guus Sliepen <guus@meshlink.io>
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or (at
9 your option) any later version. See the file COPYING for more details.
10
11 To obtain a license to use this library in commercial software, please contact
12 sales@meshlink.io.
13
14
15 This is not a finished version
16 ------------------------------
17
18 Please do not use this library yet.
19
20
21 Requirements
22 ------------
23
24 In order to compile MeshLink, you will need a GNU C compiler environment. Please
25 ensure you have the latest stable versions of all the required libraries:
26
27 - OpenSSL (http://www.openssl.org/) version 1.0.0 or later, with support for
28   elliptic curve cryptography (ECC) and Galois counter mode (GCM) enabled.
29
30 The following libraries are used by default, but can be disabled if necessary:
31
32 - zlib (http://www.gzip.org/zlib/)
33
34 Features
35 --------
36
37 MeshLink is a library that allows applications to connect to other instances of
38 itself, and exchange messages in a secure way. MeshLink provides end-to-end
39 encryption and authentication of messages with perfect forward secrecy. The
40 MeshLink library starts its own thread which handles all network
41 communications. The application only needs to register callbacks to get
42 notified of incoming messages and other important events.
43
44 Other noteworthy features are:
45
46 - IPv6 support
47 - NAT traversal (requires at least one node that is not behind a NAT)
48 - Ed25519 keys (TBD)
49 - AES-256-GCM encryption and message authentication