Go to file
Nicolás A. Ortega 16eb1d0037
Shortcuts.
2017-07-03 17:20:07 +02:00
build Decided on a license. 2017-07-01 15:34:13 +02:00
include New shutdown function. 2017-07-02 17:13:59 +02:00
src New shutdown function. 2017-07-02 17:13:59 +02:00
.gitignore Moving node list into global scope. 2017-07-02 13:38:20 +02:00
CMakeLists.txt Moving node list into global scope. 2017-07-02 13:38:20 +02:00
CONTRIBUTING.md Shortcuts. 2017-07-03 17:20:07 +02:00
LICENSE Decided on a license. 2017-07-01 15:34:13 +02:00
README.md Added contribution guide. 2017-07-03 17:18:17 +02:00

NeoComm

NeoComm is a completely decentralized and anti-censorship IRC replacement network. The objective of this network is to create a secure form of group instant communication similar to IRC but decentralizing the network, and as a consequence hindering censorship within the network and protecting the network's endurance against malevolent entities that may try to block access to the network.

This repository provides a library with interfaces by which you can access the network, which you are able to use in your own software under the terms & conditions of the library's license.

Network Model

This model moves further from the federated decentralization model, taking one closer to that of torrents with their peer discovery. There are three components to the network: nodes and directory nodes. All connected machines work as nodes, but only those that are not firewalled can function as directory nodes (nodes that other nodes can connect to). With this model the directory nodes would serve the functionality of trackers in a torrent system (those nodes that have enough uptime to be considered directory servers).

API Documentation

There is currently no API available.

Clients

There are currently no clients available.

Building

To build this project you will need a C99 compatible compiler (GCC is recommended) and the CMake build system. To build run the following commands from the root directory of the project.

$ cd build/
$ cmake ..
$ make

By default this will build a release build, if you require a debug build run the cmake command with the additional flag -DCMAKE_BUILD_TYPE=debug.

Contributing

If you would like to contribute to the project please read over the contribution guide.

License

This project, unless otherwise stated, is licensed under the terms & conditions of the GNU Lesser General Public License version 3 or greater.