Skip to content

not-GIANT/DNA-Bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNA Bridge Banner
Latest Release License Platform Python Encryption WebSockets



DNA Bridge is a lightweight Windows desktop app that instantly syncs your clipboard — text, rich content, images, and files — across multiple computers over the internet or local network, with end-to-end AES-128-CBC + HMAC-SHA256 encryption.


Download   Quick Start   Twitter/X

✨ Features

Features


Feature Description
Real-Time Sync WebSocket-powered clipboard updates across all paired devices instantly
🔐 End-to-End Encryption AES-128-CBC + HMAC-SHA256 — the relay server never sees your data
📋 Rich Content Support Sync plain text, formatted rich text, images, and entire file/folder trees
🔗 One-Code Pairing Connect any two devices with a simple 6-character code — no accounts needed
🌐 Flexible Networking Works over the internet or on a local LAN — you choose

📸 Screenshots

Client Interface

DNA Bridge Client
Server Dashboard

DNA Bridge Server

🚀 Quick Start

Prerequisites

  • Python 3.10+
  • Windows 10/11
  • A relay server (self-hosted or remote)

1 · Install Dependencies

pip install -r requirements.txt

2 · Start the Relay Server

Run this once on any machine reachable by all clients (can be the same PC on a LAN):

python server/main.py

The server will output its address — note it for the next step.

3 · Launch the Client

Run on each computer you want to sync:

python client/app.py

4 · Pair Your Devices

  1. Open the client on Device A → click Generate Code → note the 6-character code
  2. Open the client on Device B → enter the same code → click Connect
  3. The tray icon turns green ✅ — you're live!

Copy anything on Device A and it's instantly on Device B's clipboard. That's it.


🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│                        DNA Bridge                            │
│                                                             │
│  ┌──────────┐    Encrypted WS     ┌────────────────────┐   │
│  │ Client A │ ─────────────────►  │   Relay Server     │   │
│  │  PyQt6   │ ◄─────────────────  │   FastAPI + WS     │   │
│  └──────────┘    AES-128-CBC      │  (blind to data)   │   │
│                  HMAC-SHA256      └────────────────────┘   │
│  ┌──────────┐                             │                 │
│  │ Client B │ ◄───────────────────────────┘                │
│  │  PyQt6   │         Encrypted WS                         │
│  └──────────┘                                              │
└─────────────────────────────────────────────────────────────┘

Key components:

  • client/ — PyQt6 desktop app with system tray, clipboard monitoring, and encrypted WS transport
  • server/ — FastAPI relay that only forwards opaque encrypted blobs
  • shared/ — Shared crypto primitives and protocol definitions
  • tests/ — Unit and integration tests

🔐 Security Model

DNA Bridge is designed so that no one except the paired devices can read your clipboard data.

Layer Mechanism
Confidentiality AES-128-CBC with a key derived from your pairing code
Integrity HMAC-SHA256 on every message
Relay blindness Server forwards only ciphertext — it cannot decrypt or read content
Key exchange Pairing code → PBKDF2 key derivation; never transmitted over the wire

⚠️ For maximum security, host your own relay server on trusted infrastructure.


🛠️ Building a Windows Executable

Bundle the client into a single portable .exe:

# Install build deps
pip install -r requirements-dev.txt

# Build with PyInstaller
pyinstaller dna-bridge.spec

# Output will be in:
#   dist/DNA-Bridge/DNA-Bridge.exe

The resulting executable has no external dependencies — distribute it directly.


📦 Tech Stack

Layer Technology
Client UI PyQt6 (PySide6)
Networking websockets, qasync
Encryption cryptography (AES-128-CBC + HMAC-SHA256)
Server FastAPI + Uvicorn
Packaging PyInstaller

📁 Project Structure

DNA-Bridge/
├── client/           # PyQt6 desktop client
│   └── app.py
├── server/           # FastAPI relay server
│   └── main.py
├── shared/           # Shared crypto & protocol
├── tests/            # Test suite
├── requirements.txt
├── requirements-dev.txt
└── dna-bridge.spec   # PyInstaller spec

📄 License

Distributed under the MIT License. See LICENSE for more information.


DNA Bridge Icon

Made with ❤️ by not-GIANT

⭐ Star this repo if DNA Bridge saved you time!

About

DNA Bridge is a Windows desktop application that lets you instantly sync your clipboard, formatted rich text, images, or entire files and folders across multiple computers over the internet or your local network with AES-128-CBC + HMAC-SHA256 encryption.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages