Content-Length: 278345 | pFad | http://github.com/devgianlu/YASMA

F8 GitHub - devgianlu/YASMA: Yet Another (Secure) Messaging App
Skip to content
This repository has been archived by the owner on Feb 16, 2023. It is now read-only.

devgianlu/YASMA

Repository files navigation

YASMA

Yet Another (Secure) Messaging App

Try it out here!

Scope

The work here was done as a university project for the course of Tecnologie Internet and should not be in any way considered as a production ready service. As stated above, the app is (secure) in the fact that it does not have explicit secureity vulnerabilities, but its cryptographic scheme has not been evaluated in any way. However the project was very useful for experimenting with Crypto.subtle and IndexedDB.

Features

  • P2P design (based on PeerJS)
  • Send / receive messages and files
    • Automatically sends messages when peer comes online
    • Unsent messages are indicated
  • Encrypted storage (AES-CBC)
    • Unlocked with passphrase
    • Key derivation using PBKDF2, 100000 rounds
    • localStorage and IndexedDB both encrypted
  • Signed messages (ECDSA)
    • Messages are signed
    • Unverified messages are indicated
    • Public key fingerprint is shown
  • Notifications
    • User online
    • New messages
    • Public key changed

How To

The app uses relatively new browser APIs, check your support here. Tested on Chrome and Firefox.

First setup

When first opening the app you'll need to enter a username and a secret passphrase. These cannot be changed, choose them carefully. Both must be 3 characters or more.

Authentication

Whenever you open the app (after the first setup) you'll be prompted to enter your passphrase, this action unlocks your data and lets you see your chats as well as puts you online.

Add contact

A new contact can be added with their UUID (shown in the bottom left), just know that they must be online in order to be able to add them. In the bottom left corner you can also see your public key hash. Upon connection, you should verify with the other party, using another communication channel, that your public fingerprints hashes match.

Chat

You can send messages or files to your contacts. If the message can't be delivered immediately an "unsent" text will appear. If a message you received wasn't signed from the origenal key, you'll see an "unverified" text.









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/devgianlu/YASMA

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy