• Stars
    star
    110
  • Rank 316,770 (Top 7 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

safer.chat is a web application that allows you to have groupal chats using end-to-end encryption, no addons, or applications needs to be installed

safer.chat

https://safer.chat is an end-to-end encrypted webchat that allows users to create rooms with up to 4 participants. The idea is to have what crypto cat used to be, without the need to install browser extensions or applications. In 2019 we have the Web Crypto API which allows us to do all operations.

We do not store any tracking information or history, and the server logs don't include any keys or encrypted messages. In fact, all of the server's data lives in-memory.

To start a conversation, you need to choose a room and a password, then, only people knowing these details can log into that room, this password isn't transferred in plain text.

We hope you enjoy it.

Technical details

There are two components, the web and the server. The web component is the frontend app that you see at https://safer.chat, it uses the server to exchange the keys and the messages between room participants.

  • While joining a room, the app generates an RSA 2048 key-pair and shares the public key with the server (see Public-key cryptography).
  • When a participant joins a room, it gets the participants and their public keys from the server.
  • Each time a message is sent, it is encrypted using each participant's public key and sent to the server, which knows how to reach the participants.

As you can see by reading the technical details, all messages sent to the server are encrypted, any WebSocket debugger can be used to verify that the server doesn't alter any encrypted message or keys.

Development

The project is a mono repository involving the following components:

  • The web project is the frontend app, what you see at https://safer.chat is what the web has, it is built using Angular, communicates to the server project using a web socket.
  • The server project is what connects the peers, it allows them to exchange their keys and messages, as well as handling the room reservation, it is built with Scala.
  • The infra project has the deployment scripts, it uses Ansible.

More Repositories

1

scala-webapp-template

A pragmatic skeleton to build web applications in Scala/Scala.js, including user registration, login, admin portal, and, deployments
Scala
172
star
2

scala-js-games

Simple games ported to Scala.js (Scala 3)
Scala
66
star
3

my-photo-timeline

A simple command-line app to organize your local photos by dates (year/month) on your local file system, for those who don't store photos in the cloud
Scala
42
star
4

cazadescuentos

A platform to catch price drops while shopping online, powered by a browser extension, webapp, android app, and more
Scala
41
star
5

block-explorer

The official Stakenet block explorer
Scala
36
star
6

simple-http-proxy

A very simple http proxy that runs on a Raspberry Pi
Scala
25
star
7

fingerprint-reader-daemon

A daemon service allowing web apps to read fingerprints from biometric devices using the Neurotechnology SDK
Java
11
star
8

wiringbits.github.io

The wiringbits website and blog
HTML
9
star
9

sjs-material-ui-facade

A scalablytyped facade generated for https://v3.material-ui.com to avoid huge compile times
Scala
5
star
10

scala-cli-multi-module-demo

A project showcasing a multi-module setup with scala-cli
Scala
5
star
11

wiringbits-scala-newbie-warts

A collection of WartRemover warts for Scala newbies used by Wiringbits
Scala
4
star
12

eth-indexer

Indexes the Ethereum blockchain in order to provide the API necessary to build a Light Wallet
Scala
2
star
13

usingprism

Open source PRISM Wallet | Browser Extension
2
star
14

wiringbits-webapp-utils

Utils related to webapps by wiringbits | muiv3 | slinky | scala.js | scala | play
Scala
1
star
15

wiringbits-handbook

The wiringbits handbook
1
star
16

discord-scammer-detector-bot

A discord bot intended to detect potential scammers that join the communities using usernames similar to the ones from the official team members
Scala
1
star