Skip to content

K-Variable7/Blacktooth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦷 Blacktooth: The Privacy Dongle (v0.3)

"Serverless Signaling" for the Cyberpunk Era.

Concept: A hardware-assisted privacy tool that uses Bluetooth Low Energy (BLE) to perform "Serverless Signaling" for WebRTC connections. No central server knows who you are talking to.

🕵️‍♂️ The Problem

Standard P2P (WebRTC) requires a "Signaling Server" (WebSocket) to introduce two peers. This server logs:

  1. Who you are (IP A).
  2. Whom you are talking to (IP B).
  3. When you are talking.

🛡️ The Blacktooth Solution

We replace the Signaling Server with a Physical Handshake or BLE Gossip Protocol.

  1. The Dongle (ESP32): Acts as a local air-gapped mailbox.
  2. The Client (Browser): Connects to the Dongle via Web Bluetooth.
  3. The Connection: Once the handshake is complete, the browsers connect Directly (P2P) over the internet. The ISP sees encrypted UDP packets, but no central server logged the setup.

✨ Features (v0.3)

💻 The Terminal (Client)

  • Cyberpunk UI: Matrix rain, retro typing effects, and mechanical SFX.
  • Encrypted Chat: Secure P2P text messaging.
  • 📁 File Transfer: Send images and files directly peer-to-peer.
  • 🎤 Voice Chat: Encrypted voice calls.
  • 🆔 Identity Art: Visual "Glitch Art" fingerprint to verify secure keys.
  • 🛠️ Manual Mode: Test the system without hardware by copy-pasting keys (Simulation).

📡 The Hardware (Firmware)

  • BLE Server: Stores WebRTC Offers/Answers.
  • Magic Hop (ESP-NOW): Wirelessly bounces the signal between dongles so you don't have to physically swap them.

🚀 Getting Started

Option A: Simulation (No Hardware)

  1. Open client/index.html on two devices (Computer & Phone).
    • Note: Must be on the same WiFi or use a Tunnel (like pinggy.io) if on different networks.
  2. Click "Enable Voice" on both.
  3. Device A: Click "Manual Mode: Generate Offer" -> Copy JSON -> Send to B.
  4. Device B: Paste JSON -> "Process" -> Copy Answer -> Send to A.
  5. Device A: Paste Answer -> "Process".
  6. Result: 🚀 COSMIC CHANNEL OPEN.

Option B: Hardware Mode (ESP32)

  1. Flash firmware/main.cpp to two ESP32-C3/S3 boards.
  2. Power them up.
  3. Use the "Connect Dongle" button in the client to perform the handshake wirelessly.

📂 Structure

  • /client: A Progressive Web App (PWA) using Web Bluetooth & WebRTC.
  • /firmware: C++ code for ESP32 (BLE + ESP-NOW).

🛠️ Tech Stack

  • Hardware: ESP32 (C3 or S3 recommended).
  • Software: HTML5, JavaScript (Web Bluetooth), WebRTC, Web Audio API.

v0.3-alpha - Simulation Ready

About

Serverless WebRTC Signaling via BLE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors