A C++17 P2P networking library with modular architecture.
tejoy provides a foundation for building peer-to-peer applications with features like node discovery, encrypted messaging, and event-driven architecture.
- C++17 compiler
- CMake 3.14+
| Library | Purpose |
|---|---|
| Boost | Asio for networking |
| libsodium | Encryption |
| nlohmann/json | JSON handling |
These are fetched automatically by CMake:
| Library | Repository |
|---|---|
| base64 | ania-7abc/base64 |
| event_system | ania-7abc/event_system |
| secret_box | ania-7abc/secret_box |
| storage | ania-7abc/storage |
| udp | ania-7abc/udp |
include(FetchContent)
FetchContent_Declare(
tejoy
GIT_REPOSITORY https://github.com/ania-7abc/tejoy.git
GIT_TAG v1.0.0
)
FetchContent_MakeAvailable(tejoy)
target_link_libraries(your_target PRIVATE tejoy)# Install system dependencies (Ubuntu)
sudo apt-get install libboost-all-dev libsodium-dev nlohmann-json3-dev
# Build
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# Install
sudo cmake --install build#include <tejoy/node.hpp>
int main() {
tejoy::Node node;
node.start();
return 0;
}MIT License -- see LICENSE for details.