Repository navigation
v2.0.6
PureSend v2.0.6
End-to-end encrypted, direct peer-to-peer (P2P) file and folder transfer system built with Go.
Added
- Structured CLI error handling and actionable suggestions. CLI and
headless modes now run errors throughi18n.Explain. Rather than
leaking raw libp2p or system stack traces, errors present clear localized
summaries with bulleted suggestions ("What you can do" / "Ne yapabilirsin"). - Typed sentinel errors across all packages. Exported distinct error
sentinels (rendezvous.ErrRoomNotFound,transfer.ErrChecksumMismatch,
transfer.ErrTransferDeclined,transfer.ErrFileModified,
transfer.ErrInsufficientDiskSpace,transfer.ErrConnectionLost,
p2p.ErrRoomExpired,p2p.ErrRendezvousUnreachable,
p2p.ErrPeerUnreachable,p2p.ErrRelayLimitExceeded), allowing robust
programmatic checks witherrors.Is/errors.As. - Early file and destination validation. Sender now verifies that files
exist and are readable before bringing up the P2P network stack. Receiver
eagerly validates that the target destination directory is writable and safe. - Disk space pre-check. Receiver verifies available disk capacity
(transfer.CheckAvailableSpace) before initiating incoming payload writes. - Multilingual headless experience. CLI flags
-lang trand-lang en
now fully translate terminal transfer prompts, acceptance queries, and
progress output. - Structured exit codes. Client returns standard exit codes (0 for success,
2 for bad syntax or flags, 3 for network unreachable, 4 for wrong code or
expired room, 5 for declined transfer, 6 for I/O and checksum errors, 130
for interrupt). - CLI flag validation and guidance. Detects and warns about positional
arguments (e.g.puresend send fileinstead of-send) and conflicting
flags (-yesor-outused with-send). - Server diagnostics. Server checks socket availability before listening,
provides clear port collision guidance (e.g. port 4001 in use), validates
announcement multiaddresses, and checks private key file permissions.
⚡ Quick Install (One-Line)
- 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 Download (Assets)
- 🪟 Windows (
x86_64): Extract the.ziparchive and runpuresend.exe. - 📦 Debian / Ubuntu (
amd64): Download the.debpackage and install by double-clicking or runningsudo dpkg -i puresend_*.deb. - 🐧 Linux (
x86_64): Extract the.tar.gzarchive and run directly from the terminal (./puresend). - 🍏 macOS (Apple Silicon - M1/M2/M3/M4): Extract the
.tar.gzarchive and run directly from the terminal (./puresend).
💡 macOS Note: If macOS Gatekeeper displays an "unverified developer" warning on first launch, you can remove the quarantine attribute by running:
xattr -d com.apple.quarantine puresend