MCPcopy Index your code
hub / github.com/Hexagon/cryptalk

github.com/Hexagon/cryptalk @1.2.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.9 ↗ · + Follow
97 symbols 162 edges 19 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

cryptalk

Node.js CI npm version License Codacy Badge

Cryptalk

Cyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat

Features

  • Client side AES-256-CBC encryption/decryption (the server is just a messenger)
  • 256 bit key derived from your passphrase using PBKDF2
  • Messages torched after a configurable delay, default is 600s.
  • Simple setup using npm, Docker or Heroku
  • Notification sounds (mutable)
  • Native popup notifications
  • Configurable page title
  • Nicknames, optional.
  • Quick-links using http://server/#Room:Passphrase, optional and insecure

Installing

Docker setup

To run latest cryptalk with docker, exposed on host port 80, simply run the following command to pull it from docker hub

sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk

Heroku setup

Click the button below

Deploy

Docker setup without using docker hub

Clone this repo, enter the new directory.

Build image

docker build . --tag="hexagon/cryptalk"

Run container, enable start on boot, expose to port 80 at host

sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk

Browse to http://<ip-of-server>/

Done!

npm setup

Install node.js, exact procedure is dependant on platform and distribution.

Install the app from npm

npm install cryptalk -g
````

Then issue the following to start the app

```bash
cryptalk

Browse to http://localhost:8080

Done!

Usage


Available commands:

Client:                                                             
    /key        StrongPassphrase    Sets encryption key                 
    /nick       NickName            Sets an optional nick                   
    /mute                           Audio on                                    
    /unmute                         Audio off                                   
    /clear                          Clear on-screen buffer                      
    /help                           This                                        
    /title                          Set your local page title                   
    /torch      AfterSeconds        Console messages are torched        
                                    after this amount of seconds                    
                                    (default 600).                                  

Room:                                                                   
    /join       RoomId              Join a room                             
    /leave                          Leave the room                              
    /count                          Count participants                          

Host:                                                                               
    /connect                        Connect to host                 
    /disconnect                     Disconnect from host                        

You can select any of the five last commands/messages with up/down key.

Due to security reasons, /key command is not saved, and command         
history is  automatically cleared after one minute of inactivity.       

It is highly recommended to use incognito mode while chatting, 
to prevent browsers from keeping history or cache.            


Development

Install node.js (development require >=12.0), exact procedure is dependant on platform and distribution.

Clone this repo

git clone https://github.com/Hexagon/cryptalk.git
cd cryptalk

Pull dependencies from npm

npm install

Start server

npm run start

Browse to http://localhost:8080

To work on the JavaScript, edit the code in client/source/. To test the changes, first run npm run build to lint, build and minify the code. Then restart the server.

Core symbols most depended-on inside this repo

now
called by 4
client/source/queue.js
now
called by 3
client/source/notifications.js
off
called by 2
client/source/notifications.js
resetState
called by 2
client/source/notifications.js
connect
called by 2
client/source/host.js
playTones
called by 1
client/source/audio.js
on
called by 1
client/source/notifications.js
doBlink
called by 1
client/source/notifications.js

Shape

Function 97

Languages

TypeScript100%

Modules by API surface

client/public/js/cryptalk.min.js63 symbols
client/source/notifications.js8 symbols
client/source/host.js6 symbols
client/source/client.js6 symbols
client/source/audio.js5 symbols
client/source/room.js3 symbols
client/source/window.js2 symbols
client/source/$.js2 symbols
client/source/queue.js1 symbols
client/source/console.js1 symbols

For agents

$ claude mcp add cryptalk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact