Skip to content

Agalar-Development/BrailleCrypt-For-Discord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 BrailleCrypt for Discord

An automatic end-to-end encryption tool for Discord desktop chat. Encrypts your messages using AES-256-GCM and displays them as Braille characters — readable only by friends with the same key.

⚠️ Disclaimer: This tool is a Proof of Concept. Using modified clients or automated tools may violate Discord's Terms of Service. Use at your own risk. This project is for educational purposes only.


🔥 Features

  • End-to-End Encryption: Messages are encrypted locally before they ever reach Discord's servers.
  • Automatic Decryption: Incoming messages from friends with the same key are instantly decrypted.
  • Invisible Integration: Runs as a separate process connecting via Chrome DevTools Protocol (CDP) — no Discord file modifications.
  • Stealthy: Encrypted text is encoded as Braille Unicode to blend in visually and bypass some spam filters.
  • Secure Defaults: Uses AES-256-GCM and PBKDF2 (600k iterations) for strong security.

🚀 Quick Start

Prerequisites

  • Node.js (v14 or newer)
  • Discord Desktop Client (Windows)

Installation

  1. Clone the repository:

    git clone https://github.com/KenzoNight/BrailleCrypt-For-Discord.git
    cd BrailleCrypt-For-Discord
  2. Install dependencies:

    npm install
  3. Configure (Optional): Copy the example config if you want to save your preferences:

    cp config.example.json config.json

    Tip: You can edit config.json to set a default key, but be careful not to commit it!

Usage

Launch everything automatically:

node main.js --key "your-secret-password"

This will kill any running Discord processes and relaunch it with the necessary debug flags.

Or connect to an already-running instance:

  1. Start Discord with: Discord.exe --remote-debugging-port=9222
  2. Run the tool:
    node main.js --key "your-secret-password" --no-launch --port 9222

🛠️ Configuration

You can configure the tool via config.json or CLI arguments.

setting description default
encryptionKey The shared secret used for AES-256-GCM. "" (prompts if empty)
debugPort Local port for CDP connection. 0 = random. 0
pbkdf2Iterations Rounds of hashing for key derivation. 600000
messagePrefix The characters marking the start of a message. ⠓⠑

CLI Arguments:

  • --key, -k: Set the encryption key.
  • --port, -p: Set text debug port.
  • --no-launch: Attach to existing Discord process.

🔒 Security Model

What is Encrypted?

  • Message Content: The actual text you type is encrypted using AES-256-GCM.
  • Integrity: The GCM tag ensures messages cannot be tampered with without detection.

What is NOT Encrypted (Metadata)?

  • Sender/Receiver: Discord knows who you are messaging.
  • Timestamps: Discord knows when you are messaging.
  • Message Length: While Braille encoding obfuscates exact length, the approximate size matches the ciphertext.

Local Security

  • The tool listens on 127.0.0.1 (localhost) only.
  • Default behavior uses a randomized port each time to prevent local port scanning.

🤝 Contributing

Pull requests are welcome! Please ensure any changes do not compromise the security or stability of the encryption.

� Contact

�📄 License

MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published