Expedite progress – think in the future, become estranged from the now.
noirchat
- Download: git
This program is an incomplete project that is intended to provide fully decentralized encrypted instant messaging. The intended network is either local networks or VPNs.
The current code is released under the GPLv3.
Information
noirchat/nchat is a decentralized and LAN-based communication program that is focused on minimalism, efficiency, and, to some degree, modularity. It supports the following network communication methods:
UDP broadcasting, for chat-style and “broad” communication
- INCOMPLETE UDP multicast, for finer control and higher efficiency than broadcasting
- INCOMPLETE UDP peer-to-peer, for non-TCP based direct comms
- INCOMPLETE TCP sockets, for direct peer-to-peer communication
In comparison to most communication programs geared towards decentralization, noirchat attempts to separate the user interface from the networking code as much as is possible. This enables multiple frontends to easily be developed for almost any platform.
Even further, noirchat provides peer-to-peer or peer-to-group encryption via a trusted network/shared password scheme - in the case of a direct peer-to-peer comm, following the initial handshaking procedure encrypted with the trusted key, a new, temporary key is agreed upon and used for future communication between those peers.
What does “noirchat” mean?
- noir - black, also intended as “hidden”
- chat - as in communication, as well as “cat”
As per French grammar, when the adjective comes before the noun, it is meant in a figurative sense, rather than a literal, descriptive sense. In this way, ‘noir’ is figuratively modifying chat, not literally, and as such, comes before rather than after the noun. It makes a degree of sense, honestly.
Compiling
At the moment noirchat compiles into the following binaries:
- nchat - primary client
- Fully-supported terminal client, relies on nothing more than an ANSI-compliant terminal interface - colors optional
- xnchat - X11 client
- state: in-complete stub, basic interface w/ buttons
- Fully-supported X11 client, relies on nothing more than Xlib
To compile either, simply type: make nchat
or make xnchat