Skip to content

ania-7abc/tejoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tejoy

License: MIT C++17 CMake

A C++17 P2P networking library with modular architecture.

Description

tejoy provides a foundation for building peer-to-peer applications with features like node discovery, encrypted messaging, and event-driven architecture.

Requirements

  • C++17 compiler
  • CMake 3.14+

System Dependencies

Library Purpose
Boost Asio for networking
libsodium Encryption
nlohmann/json JSON handling

FetchContent Dependencies

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

Installation

Using CMake FetchContent

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)

Manual Build

# 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

Quick Example

#include <tejoy/node.hpp>

int main() {
    tejoy::Node node;
    node.start();
    return 0;
}

License

MIT License -- see LICENSE for details.

About

C++17 library to build secure peer-to-peer messengers with encryption

Resources

License

Stars

Watchers

Forks

Contributors