Skip to content

Secure messaging platform with client end-to-end encryption and ability to communicate via voice channels.

License

Notifications You must be signed in to change notification settings

MrQuackDuck/ColirWebClient

Repository files navigation

Colir (Web Client)

Colir — fast & secure messaging platform with end-to-end encryption.

BackEnd can be found here.

🌈 The idea

The main goal of Colir is to provide an ability to communicate securely.

To implement that, end-to-end encryption was chosen. Before using the application, users should discuss a secret key that will be used to encrypt & decrypt the data.

Note

The encryption keys for rooms are stored on the client only. They're not being sent to the server.

🌠 Features

Besides that, Colir has a couple of features, which can interest you in:

  • Rooms are places where the encrypted communication happens. When a user creates a room, he/she chooses an encryption key (which will be stored at the client) and receives a room GUID. They can share that GUID with someone else so they can join that room. Anyone who has the GUID of a certain room can join it, but it will be impossible to decrypt the data if the wrong encryption key was provided.
  • Expiry date can be provided for rooms. When the expiry date comes, all data won't be accessible and will be deleted forever.
  • There's only one voice channel per room.
  • Passwordless authentication. There are three ways to authenticate: anonymous (gives you a one-time JWT), GitHub account, and Google account.
  • Each user has a unique "Colir ID", which is a 6 symbol-length hexadecimal number to identify a user.

Caution

If you authenticate as anonymous, you won't be able to login into that account again.
Therefore, use 3rd party providers such as GitHub and Google to be able to login as much as you want.

👀 Screenshots

🖥 Desktop (~w1910px):

📱 Mobile (~w440px):

🚀 Development server

  1. Install node.js
  2. Install pnpm
    > npm install -g pnpm
  3. Clone the repo
    > git clone https://github.com/MrQuackDuck/ColirWebClient.git
  4. Jump into the folder
    > cd .\ColirWebClient\
  5. Install all packages
    > pnpm i
  6. Run the server
    > pnpm run dev

About

Secure messaging platform with client end-to-end encryption and ability to communicate via voice channels.

Topics

Resources

License

Stars

Watchers

Forks

Languages