This is the README file for the MeshLink-tiny library. Installation instructions may be found in the INSTALL file. MeshLink is Copyright (C) 2014-2021 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more details. To obtain a license to use this library in commercial software, please contact sales@meshlink.io. Features -------- MeshLink-tiny is a version of the MeshLink library optimized for devices with very little resources. In particular, it tries to reduce code size and memory usage, while keeping as much the API and network protocol compatible with the full MeshLink library as much as possible. MeshLink is a library that allows applications to connect to other instances of itself, and exchange messages in a secure way. MeshLink provides end-to-end encryption and authentication of messages with perfect forward secrecy. The MeshLink library starts its own thread which handles all network communications. The application only needs to register callbacks to get notified of incoming messages and other important events. Other noteworthy features are: - IPv6 support - NAT traversal (requires at least one node that is not behind a NAT) - Ed25519 keys (TBD) - ChaCha-Poly1305 encryption and message authentication