Repository navigation
v2.0.4
PureSend v2.0.4
End-to-end encrypted, direct peer-to-peer (P2P) file and folder transfer system built with Go.
Security
golang.org/x/crypto0.54.0 → 0.57.0, which fixes GO-2026-6303,
GO-2026-6354 and GO-2026-6355.govulncheckfound none of them
reachable from PureSend's code; the update takes them out of the build.
Changed
go-libp2p0.49.0 → 0.50.0 (quic-go 0.62.0). It carries a hole-punching
fix: the attempt's timeout is set before the connection notifications
that can start it.- The terminal interface runs on Bubble Tea v2, Lip Gloss v2 and
Bubbles v2. The screens and keys are the same. Colours now follow the
background the terminal reports when asked, and the code box keeps the
terminal's own text colour for its prompt and cursor, which the new
defaults would have drawn in a grey that is hard to see on a light
background. A pasted code still lands in the code box: v2 delivers a
paste as one message rather than as keys, and it is routed there. pion/stun3.1.7 → 4.0.1.- Go 1.27.1: go.mod names it as the toolchain, so a machine with an older
1.27 fetches it, and the server image builds ongolang:1.27.1-alpine3.24
rather than whatever1.27-alpinea builder has cached. The server
image runs on Alpine 3.24 instead of 3.22. - The rest of the dependency tree is current as of September 2026, except
libp2p's own network stack (quic-go, webtransport-go, the pion WebRTC
packages), which stays at the versions go-libp2p 0.50.0 is built and
tested against; newer pion releases do not even compile together. - CI and the release job run on
ubuntu-26.04. - The release page's install notes and the
.debpackage description are
in English. - Dependabot groups the
charm.landmodules with the rest of Charm.
Fixed
- Something a library logged — quic-go's warning about UDP buffer sizes,
on most Linux machines — was written over the terminal interface, and
the new renderer, which redraws only the cells it changed, would have
left it there. Log output is now kept off the screen while the
interface runs. make debstamped every package it built as 2.0.1, whatever the code
was. It now takes the version from the latest release tag, and builds
in the release signing key, so a locally built package checks update
signatures the way the released one does.
⚡ 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