awgh / hushcom

Demo IRC chat client/server using ratnet

Home Page:https://awgh.github.io/hushcom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is this?

The Hushcom project is a sample distributed IRC-like chat program, which demonstrates how the ratnet project can be used to develop a full application.

The project includes both a client and server program.

Documentation

API Docs are available here: https://godoc.org/github.com/awgh/hushcom

Hushcom Client

The main executable is in the hushcom/ folder, which also includes a REST-ful web interface that serves the actual UI to the browser.

The client/ folder implements the message handling/passing logic of the client.

Hushcom Server

The main executable is in the hushcomd/ folder.

The server/ folder implements the message handling/passing logic of the server.

Hushcom Points of Interest

Hushcom is interesting as an example for several reasons:

  • Implements signed and authenticated messages over ratnet, which does not normally provide them. This is meant to demonstrate how easy this is to do using existing components, as well as providing tested sample code to accomplish this.

  • Implements a browser-based UI using a REST interface and internal web server.

  • Cross-compiles to Android, where it has been deployed as an APK (native hushcomd plus simple UI app that just opens a browser widget to localhost)

  • Distributed IRC scheme. The Hushcom server only knows user and channel names and PUBLIC keys. The server cannot read the contents of any channel or private messages.

#Demo

There is an include webix-based demo which can be launched with the "go.bat" or "go.sh" command from the "wwwtest" directory. This will launch two client sessions which can be connected to via:

SSL Certs are self-signed, so you will likely have to click through some warnings.

From this point, you can create user profiles, add and join channels, and talk to yourself from one browser session to the other.

Related Projects

#Authors and Contributors

awgh@awgh.org (@awgh)

About

Demo IRC chat client/server using ratnet

https://awgh.github.io/hushcom

License:GNU General Public License v3.0


Languages

Language:CSS 72.4%Language:JavaScript 26.2%Language:Go 0.8%Language:HTML 0.6%Language:Batchfile 0.0%Language:Shell 0.0%