Skip to main content

Secure P2P file transfer with end-to-end encryption and Device ID system

Project description

Peer2Drop

Secure P2P file transfer with end-to-end encryption and Device ID system.


Features

  • AES-256 + RSA-2048 end-to-end encryption
  • Device ID System - IP addresses hidden from users
  • Zero configuration - works immediately
  • Cross-platform - Windows, Linux, macOS
  • Real-time transfers with progress tracking
  • Minimalist interface - pure black design

Quick Start

# Install dependencies
pip install -r requirements.txt

# Run application
python3 p2p_transfer.py

Usage

  1. Launch app - Device ID appears at top
  2. Click "Copy ID" and share with peer
  3. Paste peer's Device ID and click "Add Peer"
  4. Select peer and click "Connect"
  5. Add files and click "Upload All"

How It Works

Device ID System

Each instance generates a unique Device ID that encodes the IP address and port:

Device ID: MTkyLj-E2OC4x-LjUzOj-UwMDAZ
           (contains: 192.168.1.53:5000)

Users only share Device IDs - IP addresses remain hidden.

Security

  • Handshake: RSA-2048 key exchange
  • Transfer: AES-256 symmetric encryption
  • Verification: SHA-256 file hashing

Interface

Device ID: MTkyLj-E2OC4x-LjUzOj-UwMDAZ  |  Port: 5000

[Files]  [Peers]  [Transfers]

Name              Size        Hash
document.pdf      2.3 MB      9d5f6c4a
photo.jpg         1.1 MB      3e8a2b7f

[Add File]  [Scan Folder]  [Open Folder]

Server:5000 | Peers:2 | Files:5 (12.3MB) | AES-256

Configuration

Files stored in ~/.p2p_transfer/:

  • shared/ - Files to share
  • downloads/ - Received files
  • peers.json - Peer registry

Default port: 5000 (auto-increments if busy)


Architecture

p2p_core.py          Backend (networking, crypto, files)
p2p_transfer.py      GUI application (PyQt6)

Key Components

  • DeviceID - Generate and encode Device IDs
  • CryptoManager - AES-256 + RSA-2048 encryption
  • FileManager - File scanning and metadata
  • P2PConnection - Peer-to-peer connection handling
  • P2PServer - Accept incoming connections
  • P2PClient - Initiate outgoing connections

Troubleshooting

Peer stays offline:

  • Ensure both apps running
  • Check firewall allows port 5000
  • Verify same local network

Files not sending:

  • Click "Connect" first
  • Wait for "online" status
  • Check files in shared folder

Dependencies

cryptography==41.0.7
psutil==5.9.6
PyQt6==6.6.1
pyperclip==1.8.2

License

MIT License


Repository

https://github.com/vyofgod/peer2drop

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peer2drop-1.0.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peer2drop-1.0.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file peer2drop-1.0.0.tar.gz.

File metadata

  • Download URL: peer2drop-1.0.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for peer2drop-1.0.0.tar.gz
Algorithm Hash digest
SHA256 03a83480c3851105ac857a1890f53ca508a373e30744e20575a1b35b3ef4aa60
MD5 a44022a5c71f0bbe3e607640b3545b04
BLAKE2b-256 6f1d5568888f0a5ef7d645a3b44ec159fb333f33972e70f2d8d9d67fcdc54dd2

See more details on using hashes here.

File details

Details for the file peer2drop-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: peer2drop-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for peer2drop-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1915b6c313a78634030196ca93be7debc5c911a84ec42a40e4bbc544e721a96b
MD5 489a0005c95119ab293cd5ec5095307d
BLAKE2b-256 8becdb40514e7938496907b0daeaffbebb7a93918f519d3e71c25c9a900603de

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page