2014-09-19 13:59:10 -04:00
|
|
|
![cryptalk](/docs/screenshot.png)
|
|
|
|
|
2014-10-20 14:57:50 -04:00
|
|
|
![Build](https://travis-ci.org/Hexagon/cryptalk.svg)
|
2015-12-29 18:38:05 -05:00
|
|
|
[![npm version](https://badge.fury.io/js/cryptalk.svg)](https://badge.fury.io/js/cryptalk)
|
|
|
|
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)
|
2014-10-20 14:57:50 -04:00
|
|
|
|
2014-10-20 14:37:55 -04:00
|
|
|
Cyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat
|
2014-09-19 13:59:10 -04:00
|
|
|
|
2016-01-02 13:14:25 -05:00
|
|
|
|
2014-09-19 13:59:10 -04:00
|
|
|
Features
|
2014-09-18 03:24:21 -04:00
|
|
|
========
|
|
|
|
|
2016-12-17 18:06:02 -05:00
|
|
|
|
|
|
|
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f748d8923f0b44d2b2b3d3b42aceae7c)](https://www.codacy.com/app/robinnilsson/cryptalk?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/cryptalk&utm_campaign=badger)
|
|
|
|
|
2014-09-19 14:01:28 -04:00
|
|
|
* Client side AES-256-CBC encryption/decryption (the server is just a messenger)
|
|
|
|
* 256 bit key derived from your passphrase using PBKDF2
|
2016-01-02 13:13:25 -05:00
|
|
|
* Message is torched after a configurable delay, default is 600s.
|
2014-09-19 13:59:10 -04:00
|
|
|
* Optional nicknames
|
2016-01-02 13:13:25 -05:00
|
|
|
* Quick-links (not recommended!) using http://server/#Room:Passphrase
|
2014-09-19 13:59:10 -04:00
|
|
|
* Super simple setup
|
2014-09-20 09:26:43 -04:00
|
|
|
* Notification sounds (mutable)
|
2014-09-23 14:19:00 -04:00
|
|
|
* Native popup notifications
|
|
|
|
* Configurable page title
|
2014-10-20 14:37:55 -04:00
|
|
|
* Heroku support
|
|
|
|
|
2014-10-20 14:57:50 -04:00
|
|
|
|
|
|
|
|
2014-10-20 14:37:55 -04:00
|
|
|
Heroku setup
|
|
|
|
========
|
|
|
|
|
|
|
|
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/hexagon/cryptalk)
|
2014-09-18 13:48:17 -04:00
|
|
|
|
|
|
|
|
2014-09-25 04:51:21 -04:00
|
|
|
Regular setup
|
|
|
|
========
|
|
|
|
|
|
|
|
Install node.js, exact procedure is dependant on platform and distribution.
|
|
|
|
|
2014-09-25 10:29:04 -04:00
|
|
|
Install the app from npm
|
2014-09-25 04:51:21 -04:00
|
|
|
```bash
|
2014-09-25 10:29:04 -04:00
|
|
|
npm install cryptalk -g
|
2014-09-25 04:51:21 -04:00
|
|
|
````
|
|
|
|
|
2014-09-25 10:29:04 -04:00
|
|
|
Then issue the following to start the app
|
2014-09-25 07:08:11 -04:00
|
|
|
|
|
|
|
```bash
|
2014-09-25 10:29:04 -04:00
|
|
|
cryptalk
|
2014-09-25 07:08:11 -04:00
|
|
|
```
|
|
|
|
|
2014-09-25 04:51:21 -04:00
|
|
|
Browse to ```http://localhost:8080```
|
|
|
|
|
|
|
|
Done!
|
|
|
|
|
2014-10-20 14:37:55 -04:00
|
|
|
|
2014-09-25 04:51:21 -04:00
|
|
|
Developer setup
|
2014-09-18 13:48:17 -04:00
|
|
|
========
|
|
|
|
|
2014-09-18 17:13:10 -04:00
|
|
|
Install node.js, exact procedure is dependant on platform and distribution.
|
2014-09-18 13:54:45 -04:00
|
|
|
|
2014-09-18 13:48:17 -04:00
|
|
|
Clone this repo
|
2014-09-18 13:54:45 -04:00
|
|
|
```bash
|
|
|
|
git clone https://github.com/Hexagon/cryptalk.git
|
|
|
|
cd cryptalk
|
|
|
|
```
|
2014-09-18 13:48:17 -04:00
|
|
|
|
2014-09-24 06:28:55 -04:00
|
|
|
Pull dependencies from npm
|
2014-09-18 13:54:45 -04:00
|
|
|
```bash
|
2014-09-24 06:28:55 -04:00
|
|
|
npm install
|
2014-09-18 13:54:45 -04:00
|
|
|
```
|
2014-09-18 13:48:17 -04:00
|
|
|
|
2014-09-18 13:54:45 -04:00
|
|
|
Start server
|
|
|
|
```bash
|
|
|
|
node server.js
|
|
|
|
```
|
2014-09-18 13:48:17 -04:00
|
|
|
|
2014-09-19 13:59:10 -04:00
|
|
|
Browse to ```http://localhost:8080```
|
2014-09-19 14:05:30 -04:00
|
|
|
|
|
|
|
Usage
|
|
|
|
========
|
|
|
|
|
|
|
|
```
|
2014-09-23 14:19:00 -04:00
|
|
|
|
|
|
|
Available commands:
|
|
|
|
|
|
|
|
Client:
|
2016-01-04 18:08:15 -05:00
|
|
|
/key StrongPassphrase Sets encryption key
|
2016-01-04 18:15:24 -05:00
|
|
|
/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
|
2016-01-04 18:08:15 -05:00
|
|
|
/torch AfterSeconds Console messages are torched
|
2016-01-04 18:15:24 -05:00
|
|
|
after this amount of seconds
|
|
|
|
(default 600).
|
2016-01-04 18:08:15 -05:00
|
|
|
|
|
|
|
Room:
|
2016-01-04 18:15:24 -05:00
|
|
|
/join RoomId Join a room
|
|
|
|
/leave Leave the room
|
|
|
|
/count Count participants
|
2016-01-04 18:08:15 -05:00
|
|
|
|
2014-09-23 14:19:00 -04:00
|
|
|
Host:
|
2016-01-04 18:15:24 -05:00
|
|
|
/hosts List available hosts
|
|
|
|
/connect HostIndex Connect to selected host
|
|
|
|
/disconnect Disconnect from host
|
2016-01-04 18:08:15 -05:00
|
|
|
|
2014-09-23 14:19:00 -04:00
|
|
|
You can select any of the five last commands/messages with up/down key.
|
2016-01-04 18:08:15 -05:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2014-09-21 08:20:25 -04:00
|
|
|
|
2014-09-19 14:05:30 -04:00
|
|
|
```
|