Skip to content

johnmanjohnston/end-to-end-encrypted-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

end-to-end-encryted-chat

A basic utility to transfer text, using end-to-end encryption. The utility is built using socket.io, to connect clients to the server and transfer text, and uses Node.js for the server.

Usage

You can start the server, by using the following:

node server.js

The server should then start running on http://localhost:3000

Then, to connect as a client, you can run

node client.js

You'll then be prompted to enter a room name, then your username will be assigned as your socket ID. After another user connects to the same room, both users' public keys will be stored and sent to each other, which are used to encrypt messages.

To leave the room, enter .exit.

Demo

On running client.js, you'll be prompted to enter a room name. image

After entering a room name, you'll be assigned a username, which is your socket ID image

We can also see the users joining the server. image

After another client joins the same room, the clients' public keys are exchanged image

Users can then have a lovely conversation about whatever they please. image

All the data being sent over to the server is encrypted using state-of-the-art, end-to-end encryption, so even if the users are being spied on, the data can't be decrypted without the user's private key. image

After a user leaves (by entering .exit), the other user in the room will be notified. image

As users leave, we can see them leaving on the server. image

About

Utility to securely transfer text using end-to-end encryption

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors