Skip to main content

python license platform

PROJECTDROPIT

A menu-driven peer-to-peer encrypted file transfer CLI for your local network.

  • 🛰 Auto-discovery on the LAN (zeroconf / mDNS)
  • 🔒 End-to-end encryption every session — X25519 ECDH + AES-256-GCM
  • ✅ SHA-256 integrity verification on every transfer
  • ⚡ Zero setup — no internet, no cloud, no accounts, no admin/root, no pre-shared passwords
  • ✨ Premium TUI — rich panels, live discovery, progress, speed, ETA
  • 🔄 Auto-update check on launch (via PyPI, non-blocking)
  • 🐧 Linux + 🪟 Windows + 🍎 macOS, Python 3.8+

Install

pip install projectdropit

Or from source:

pip install .

Run

projectdropit -start

(projectdropit, projectdropit start, and projectdropit --start all work too.)

On first launch you must enter a device name — that's how others on the LAN will see you. Settings can be changed later from the menu.

Menu

1. Discover Devices     — live list of online peers on your LAN
2. Send a File          — pick a peer or enter a direct IP/port
3. Incoming Transfers   — accept / reject offers, view history
4. Settings             — name, download folder, diagnostics & health, update check
5. Quit

Received files land in ~/projectdropit_files/ by default.

How it works

  • Discovery: zeroconf broadcasts <device-name>._projectdropit._tcp.local. with your TCP port and a name TXT record. If mDNS is blocked by router or firewall, manual Direct IP/Port mode is automatically available as a fallback.
  • Transport: a fresh TCP socket per session with bounded concurrency (up to 4 concurrent transfers).
  • Handshake: X25519 ECDH → HKDF-SHA256 → 32-byte AES key.
  • Stream: each frame is [12-byte nonce][4-byte length][AES-256-GCM ciphertext].
  • Atomic staging & Integrity: incoming files are streamed into a temporary .part file. Receiver pre-checks available disk storage before accepting. Sender streams a SHA-256 of the file; receiver verifies the hash upon completion. Only verified files are atomically promoted to the destination folder; aborted or mismatched files are wiped immediately.

Windows firewall

The first time you run projectdropit, Windows shows the standard "Allow an app to communicate" dialog. Click Allow on private networks. No admin password is ever required. The app prints a friendly heads-up before opening its socket.

CLI flags

Flag Purpose
-start / --start / start launch the menu (default)
--no-update / -no-update skip update check on launch
-v / --version / version print version and exit
-h / --help / help show usage

Non-goals

No internet transfers. No accounts. No GUI. No admin requirement. No pre-shared passwords. No cloud.


© 2026 Zenith Open Source Projects. All Rights Reserved. Zenith is an Open Source Project Idea by @roshhellwett

Metadata

Release files for projectdropit 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for projectdropit 1.0.5
File Size Uploaded
projectdropit-1.0.5.tar.gz 36.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for projectdropit 1.0.5
File Interpreter ABI Platform
projectdropit-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 68.1 kB

Release files / projectdropit-1.0.5.tar.gz

Download URL projectdropit-1.0.5.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7eb6ca4f38e4fedfdb0fc039c9ace9567443ff0727c56b991c9d0a7fc1db9875
BLAKE2b-256 checksum
How to use checksums
8912091b97ad9fc0157298d4bf2554dce19cd65dfb02c97a0d92a38f0884fd2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / projectdropit-1.0.5-py3-none-any.whl

Download URL projectdropit-1.0.5-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
430eea8e77533b8b0478ac907638873fe7ce9d99d17adb0750780e8d35fb7992
BLAKE2b-256 checksum
How to use checksums
64283d63f7cd9b853a6dc54bdae1ab6320634430760baa79fbaae12425d0536d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page