Expedite progress – think in the future, become estranged from the now.

  • >
  • crypt
  • noirchat
  • noirchat

    • Download: git

    noirchat.png

    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