Frictionless Private File Transfer: Local and Global
We've all been there. You need to send a file to someone—maybe it's a colleague sitting a few desks away, or a friend across the globe. Your options? Upload to a cloud service and share a link, wrestle with email attachments, or mess with overly complex file transfer tools. What if you could just... send it, directly and privately, with a single command?
That's the itch that alt-sendme scratches. It's a simple, open-source tool for peer-to-peer file transfer that works seamlessly whether you're on the same local network or connecting over the internet. No sign-ups, no intermediaries, just a direct pipe from one machine to another.
What It Does
In a nutshell, alt-sendme is a command-line tool that establishes a direct, encrypted connection between two machines for sending files. The sender generates a one-time code, and the receiver uses that code to pull the file directly. It handles the network complexity for you, figuring out if you're on the same LAN or need a relay to traverse the internet.
Why It's Cool
The beauty of this tool is in its straightforward approach to a common problem.
- It Just Works, Everywhere: The "Local and Global" tagline isn't just for show. It automatically detects if the recipient is on the same local network for a blazing-fast transfer. If they're not, it falls back to a global relay, so you don't have to fiddle with firewall rules or port forwarding.
- Privacy-First and Ephemeral: Files are transferred over an encrypted channel. The one-time codes are short-lived, and the connection closes once the transfer is complete. There's no central server storing your data.
- Zero Configuration: You don't need to be a network admin to use it. Install it, run the commands, and you're transferring files. It abstracts away all the hard parts of P2P connectivity.
- It's a Single Binary: For many setups, it's a self-contained Go binary. This makes it incredibly easy to install and run on various systems without dealing with dependencies.
How to Try It
Getting started is straightforward. You'll need Go installed on both the sending and receiving machines.
First, install the tool:
go install github.com/tonyantony300/alt-sendme@latest
To send a file, run this on the sender's machine:
alt-sendme send /path/to/your/file.txt
The tool will generate a one-time code and display it.
On the receiver's machine, simply run:
alt-sendme receive <the-generated-code>
The file will be transferred directly to the receiver's current directory. It’s that simple.
You can find the full source code, contribute, or raise an issue on the GitHub repository: https://github.com/tonyantony300/alt-sendme
Final Thoughts
As developers, we often need to quickly move build artifacts, logs, or configuration files between machines. alt-sendme feels like the curl | bash of file transfers—a utility that does one job and does it well without ceremony. It's not meant to replace services like Dropbox for large-scale sharing, but for those quick, "hey, can you grab this file from me?" moments, it's a fantastic tool to have in your arsenal. It embodies the Unix philosophy of a simple, composable tool that just works.
@githubprojects