Repository navigation
v2.0.0
PureSend v2.0.0 π
An end-to-end encrypted, direct peer-to-peer (P2P) file and directory transfer system built with Go.
β οΈ Breaking Changes (Why v2.0.0?)
This is a major release resulting from a comprehensive security audit of version 1.0.0. The rendezvous protocol has been upgraded to /puresend/rendezvous/2.0.0 and is not backward-compatible with v1.0.0 clients/servers.
π‘οΈ Security and Architectural Updates:
- Server No Longer Sees the Password (Magic-Wormhole Model): Codes are now split; the server only sees the public room number (
nameplate: 42), while the secret words (kiraz-liman) are never transmitted to the server and are strictly used in the peer-to-peer PAKE handshake. The risk of server-side MITM is completely eliminated. - Dynamic Room Scaling: Room numbers start at a minimum of 2 digits (
10..99) and dynamically expand to 3, 4, 5+ digits as server occupancy increases to preserve sparsity rules. The concurrent room limit has been removed. - Brute-Force Protection: After 3 incorrect code attempts, the room deletes itself from the server and self-destructs. The confirmation tag is not presented until the remote peer verifies their key.
- DoS and Resource Protection: The server-wide global minute registration budget (
-register-budget) has been removed; when the table is full, disconnected rooms are evicted. - Integrity and Signature Verification:
puresend -update,install.sh, andinstall.ps1now perform SHA-256 integrity checks viachecksums.txtand digital signature verification viaminisign. - Filesystem Security: Prevented downloading directly to the home directory (
CheckDestination), blocked file exfiltration through symlinks (checkNoLinks), and mitigated TOCTOU race conditions via atomic hard links (place()).
β‘ Quick Install (One-Liner)
- Linux & macOS (Arch, Ubuntu, Fedora, Debian, macOS):
curl -fsSL https://raw.githubusercontent.com/Baaaki/PureSend/main/install.sh | sh
- Windows (PowerShell):
irm https://raw.githubusercontent.com/Baaaki/PureSend/main/install.ps1 | iex
π¦ Manual Installation & Direct Downloads (Assets)
- πͺ Windows (
x86_64): Download the.ziparchive, extract it, and runpuresend.exe. - π¦ Debian / Ubuntu (
amd64): Download the.debpackage and install it via double-click or runsudo dpkg -i puresend_*.deb. - π§ Linux (
x86_64): Extract the.tar.gzarchive and run it directly from the terminal (./puresend). - π macOS (Apple Silicon - M1/M2/M3/M4): Extract the
.tar.gzarchive and run it from the terminal (./puresend).
π‘ macOS Note: If macOS Gatekeeper shows an "unverified developer" warning on first launch, remove the quarantine flag by running the following command in your terminal:
xattr -d com.apple.quarantine puresend