All Projects → Hexagon → cryptalk

Hexagon / cryptalk

Licence: MIT license
HTML5/Node.js based, client side (E2EE) encrypted instant chat

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cryptalk

openssl
A functions wrapping of OpenSSL library for symmetric and asymmetric encryption and decryption.
Stars: ✭ 199 (+172.6%)
Mutual labels:  aes, aes-256, aes-encryption
libVES.c
VESvault End-to-End Encryption API: Encrypt Everything Without Fear of Losing the Key
Stars: ✭ 28 (-61.64%)
Mutual labels:  aes, aes-256, aes-encryption
AESCipher-Java
AES encryption working between Objective-C and Java.
Stars: ✭ 88 (+20.55%)
Mutual labels:  aes, aes-encryption
EncrypC
🔑 File Encryption Application using Python.
Stars: ✭ 14 (-80.82%)
Mutual labels:  aes, aes-encryption
CryptoKnight
CryptoKnight is a general purpose cryptography desktop app
Stars: ✭ 18 (-75.34%)
Mutual labels:  aes, aes-encryption
abrute
Multi-threaded AES Brute Force File Decryption
Stars: ✭ 22 (-69.86%)
Mutual labels:  aes, aes-encryption
FlashPaper
One-time encrypted password/secret sharing
Stars: ✭ 85 (+16.44%)
Mutual labels:  aes, aes-256
Link Lock
Password-protect URLs using AES in the browser; create hidden bookmarks without a browser extension
Stars: ✭ 418 (+472.6%)
Mutual labels:  aes, aes-encryption
Cross Platform Aes
Simple cross-platform encryption and decryption using AES
Stars: ✭ 127 (+73.97%)
Mutual labels:  aes, aes-encryption
Securedefaults
A lightweight wrapper over UserDefaults/NSUserDefaults with an additional layer of AES-256 encryption
Stars: ✭ 179 (+145.21%)
Mutual labels:  aes, aes-encryption
Aescipher Ios
AES encryption working between Objective-C and Java.
Stars: ✭ 198 (+171.23%)
Mutual labels:  aes, aes-encryption
Rijndael256
AES cryptographic library for .NET Framework and .NET Core
Stars: ✭ 33 (-54.79%)
Mutual labels:  aes, aes-256
aes-stream
A fast AES-PRF based secure random-number generator
Stars: ✭ 15 (-79.45%)
Mutual labels:  aes, aes-256
Python-File-Encryptor
Encrypt and Decrypt files using Python (AES CBC MODE)
Stars: ✭ 51 (-30.14%)
Mutual labels:  aes, aes-encryption
stenc
SCSI Tape Encryption Manager - stenc (formerly on https://sourceforge.net/projects/stenc/)
Stars: ✭ 41 (-43.84%)
Mutual labels:  aes, aes-256
Gonnacry
A Linux Ransomware
Stars: ✭ 341 (+367.12%)
Mutual labels:  aes, aes-encryption
aesCbc
aes-cbc加密解密
Stars: ✭ 68 (-6.85%)
Mutual labels:  aes, aes-256
PassLock
PassLock is a medium-security password manager that encrypts passwords using Advanced Encryption Standards (AES)
Stars: ✭ 44 (-39.73%)
Mutual labels:  aes, aes-encryption
Hat.sh
encrypt and decrypt files in your browser. Fast, Secure client-side File Encryption and Decryption using the web crypto api
Stars: ✭ 886 (+1113.7%)
Mutual labels:  aes, aes-encryption
Qt Aes
Native Qt AES encryption class
Stars: ✭ 207 (+183.56%)
Mutual labels:  aes, aes-encryption

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

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].