Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

File transfer doesn't need to be complicated

AltSendme Header

AltSendme working demo

Discord Version Website Platforms Sponsor

A free and open-source file transfer tool that harnesses the power of cutting-edge peer-to-peer networking, letting you transfer files directly without storing them on cloud servers.

Why rely on WeTransfer, Dropbox, or Google Drive when you can reliably and easily transfer files directly, end-to-end encrypted and without revealing any personal information?

Features

  • Send anywhere, from anything - Desktop, Android, terminal, or browser - start on one platform, receive on any other.
  • Transfer anything, any size - Files or entire directories, verified end-to-end with BLAKE3 integrity checks.
  • Fast enough to matter - Saturates multi-gigabit connections for lightning-fast transfers.
  • Private by default - No accounts, no sign-ups, no tracking, no ads.
  • Direct device-to-device transfer - Files move directly between your devices, avoiding corporate cloud storage where data is the price.
  • End-to-end encryption, always on - Every transfer uses QUIC with TLS 1.3; relays only see encrypted traffic even if they are involved.
  • Cryptographic authentication - Every ticket verifies you're connected to the intended sender before any files transfer.
  • Resumable & broadcastable - Interrupted transfers resume automatically; share the same file with any number of peers at once.
  • Preview before you download - See what you're receiving before you download it.
  • Paired devices - Pair computers and Android phones once in Settings → Devices, then send files without copying tickets each time.
  • Featherlight - Tiny installs, minimal web footprint.
  • Free & open source - No upload costs, no size limits, community-driven.

Real-world stats

MetricReported
Largest transfer452 GB
Fastest large transfer54 GB @ 123 MB/s (~1 Gbps)
High-speed bulk transfer328 GB @ 93 MB/s
Peak speed measured125 MB/s (1 Gbps)

Transfer throughput depends on your device, network, and connection path.

Installation

The easiest way to get started is by downloading one of the following versions for your respective operating system:

PlatformRecommendedOther formatsSize
💻 Windows (x64)Setup.exeMSI, Portable ZIP~10 MB
💻 macOS (Universal)AltSendme.dmgApple Silicon, Intel~15 MB
💻 Linux (amd64)AltSendme.deb.rpm, AppImage~13 MB
📱 Android (arm64)AltSendme.apkarmv7, universal~50 MB
⌨️ CLIDownloads-~4-5 MB
🌐 Web (Limited throughput)app.altsendme.com-~2 MB

More options at GitHub Releases or in Downloads page.

Partners

TestMuAI

We're looking for Partners to join our mission! Partner with us and support while we push the boundaries of peer-to-peer file transfer.

LET'S CHAT

Supported Languages

🇺🇸 🇷🇺 🇫🇷 🇨🇳 🇩🇪 🇯🇵 🇮🇳 🇹🇭 🇮🇹 🇨🇿 🇪🇸 🇧🇷 🇸🇦 🇮🇷 🇰🇷 🇵🇱 🇺🇦 🇹🇷 🇳🇴 🇧🇩 🇭🇺 🇷🇸 🇹🇼 🇰🇭

How it works

  1. Drop your file or folder - AltSendme creates a one-time share code (called a "ticket").
  2. Share the ticket via chat, email, or text, or send directly to a paired device (desktop / Android).
  3. Your friend pastes the ticket in their app (or accepts a paired-device invite), and the transfer begins.

Paired devices

On macOS, Windows, Linux, and Android you can pair devices in Settings → Devices using a pairing code. After pairing:

  • Senders can tap Send next to a paired device while sharing: no manual ticket copy.
  • Receivers get an in-app prompt when a paired sender invites them (app must be open).
  • Manual tickets and the sendme CLI still work exactly as before.

Comparison

AltSendmeBlipLocalSendMagic WormholePairDrop
Networking stackQUIC via IrohUnknownHTTPS/REST over TCPencrypted TCPWebRTC/DTLS (SCTP)
Works over the internetLAN only
Saturates gigabit connections✅ (LAN only)❌ (SCTP/browser ceiling)
Open source
No account required
End-to-end encryption
Send folders✅ (CLI only, not in browser)
Resumable transfers
Unlimited file sizeLimited by browser memory
PlatformsCLI + desktop + mobile + webDesktop + mobile (no web/CLI)Desktop + mobile (no web/CLI)CLI onlyWeb/PWA + Android app + CLI
The catchWIPClosed source; data handling cannot be auditedSame-network only, no resumeCLI-only; GUI front-ends are separate, community-maintainedWebRTC/SCTP throughput ceiling; browser memory limits

Know more →

Under the hood

AltSendme is built on Iroh, a modern peer-to-peer networking stack that simplifies direct device-to-device communication. In practice, that means devices talk over encrypted QUIC, files move with content-addressed blobs, and relays help when a direct path isn’t available.

The building blocks

PieceWhat it does here
Blobs (iroh-blobs)Store and stream file data; every chunk is verified with BLAKE3
TicketsOne string that tells a peer who to dial and what to fetch
EndpointsEach device’s Iroh identity (Ed25519 key → endpoint id)
QUIC + TLS 1.3Encrypted transport; multiplexing without head-of-line blocking
Relays + hole punchingBootstrap connections across NATs; prefer direct, fall back to relay
Control protocol (pairing)Long-lived channel to remember devices and deliver share invites

Blobs

Files aren’t uploaded to a server. They’re published as blobs: opaque byte sequences addressed by a BLAKE3 hash.

  • A link is that 32-byte hash: if the hash matches, the content matches.
  • Folders and large files use a HashSeq (a blob that points at other blobs).
  • The sender is the provider; the receiver is the requester. Either side can do both.

Tickets

A share ticket is a single token that packs:

  1. The sender’s endpoint id (so you know you’re talking to the right device)
  2. Enough address / relay info to dial them
  3. The blob hash to download

You only connect to people you share a ticket with: no broadcasting your IP to strangers. That’s the default “cozy network” model Iroh encourages, vs. flooding discovery to the whole swarm.

Connecting across networks

When two devices need to meet:

  1. Each registers with a public (or self-hosted) relay so peers can find a path through firewalls and NATs.
  2. Iroh tries QUIC hole punching to upgrade to a direct peer-to-peer link.
  3. If a direct path works, traffic goes device-to-device. If not, the relay stays in the path as a fallback UDP hop.

Either way, the payload is end-to-end encrypted. Relays see ciphertext, not your files. More on Iroh relays →

QUIC & encryption

QUIC (UDP-based, same foundation as HTTP/3) brings TLS 1.3 into the transport. For AltSendme that buys encryption and authentication, multiple streams with shared congestion control, and fast reconnects when you’ve talked to a peer before.

Paired devices

Pairing doesn’t replace tickets; it delivers them for you.

  1. Devices exchange a short pairing code (the host’s endpoint id) over a dedicated control ALPN (altsendme/control/1).
  2. Each side proves identity by signing connection-bound keying material with its device secret, then remembers the peer locally.
  3. A persistent control connection keeps presence (online/offline).
  4. When you share, AltSendme still creates a normal one-time blob ticket; choosing a paired device ships that ticket as an in-app invite instead of making you copy-paste it.

Manual tickets and the sendme CLI keep working exactly as before.

Self-hosting relays

For how to run your own iroh relay, configure AltSendme to use it, and how mixed public/self-hosted setups behave, see deploy/relay/README.md.

Development

See CONTRIBUTING.md for prerequisites, local setup, build instructions, and testing.

Join our Discord to contribute

The best way to contribute is to join our Discord and say hi. Introduce yourself and share what skills or interests you have - whether that’s coding, testing, design, or something else. You can also raise issues, suggest fixes, or pitch ideas. Maintainers are there to guide you every step of the way.

It’s the best place to get context, align on direction, and collaborate with the community.

License

AGPL-3.0

Privacy Policy

See PRIVACY.md for information about how AltSendme handles your data and privacy.

Sponsor Buy Me Coffee

Contributors

Contact

Reach me here for suggestions, feedback or media related communication.

Thank you for checking out this project! If you find it useful, consider giving it a star and helping spread the word.

Built on

关于 About

Send files and folders anywhere in the world without storing in cloud - any size, any format, no accounts, no restrictions.
androidblake3cross-platformdesktop-appencryptionfile-transferhole-punchingopen-sourcep2pprivacyquicresumabletauriterminalweb

语言 Languages

TypeScript56.4%
Rust34.8%
JavaScript4.4%
Kotlin2.1%
CSS1.7%
HTML0.2%
Shell0.2%
NSIS0.1%
Dockerfile0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
846
Total Commits
峰值: 77次/周
Less
More

核心贡献者 Contributors