DisCrypt

End-to-end encryption for Discord messages and files

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

Autor
NotTrueFalse
Dziennych instalacji
0
Wszystkich instalacji
3
Oceny
0 0 0
Wersja
1.1
Utworzono
09-11-2025
Zaktualizowano
10-11-2025
Rozmiar
69,3 KB
Licencja
MIT
Dotyczy

DisCrypt - End-to-End Encryption for Discord

Secure peer-to-peer messaging on Discord using client-side encryption. Messages and files remain encrypted end-to-end, even if your Discord account is compromised.

How It Works

  1. Add a peer by their Channel ID (DM channel) and public keys
  2. Messages auto-encrypt on send, auto-decrypt on receive, message edition is well handled
  3. Only you and the intended recipient can read your messages
  4. Encryption verified with color coding (blue = sent, green = received)

Features

  • End-to-end encryption using X25519 ECDH + XSalsa20-Poly1305 (TweetNaCl)
  • Automatic message encryption/decryption
  • Encrypted file attachments with Ed25519 signature verification
  • Message editing support
  • Reply handling for encrypted messages
  • Peer management UI with key storage
  • Works in DMs and group channels

Security Model

Threat Model: Protects against message interception if your account is compromised.

Does NOT protect against:

  • Private key compromise (if your computer is compromised)
  • Man-in-the-middle attacks during key exchange (manually exchange keys via secure channel)
  • Message metadata (timestamps, message count, presence)

Implementation Details:

  • Private keys stored in browser localStorage only
  • Uses NaCl.box (X25519 ECDH) for asymmetric encryption
  • Ed25519 signatures for file authenticity verification
  • Sender/recipient public keys included in message format for verification

Limitations

  • No forward secrecy (compromise of keypair compromises all messages)
  • No built-in key exchange protocol (manual key sharing required)
  • Private keys stored in plaintext in localStorage
  • File upload MIME type spoofing (.png wrapper) for CORS bypass

TODO

  • [x] GUI improvements
  • [x] Message editing
  • [x] File encryption/decryption
  • [x] Reply handling
  • [ ] Message authenticity verification (sender signature)
  • [ ] Forward secrecy (keypair rotation)
  • [ ] Key import/export with password protection
  • [ ] Code refactor for maintainability
  • [ ] Link preview support
  • [ ] Better media handling after decryption