Magshare is a blazing-fast, terminal-based utility designed to eliminate the friction of transferring files between devices on the same local network. By spinning up an ephemeral local web server and rendering a QR code directly in your terminal, it allows any mobile device or PC to securely download or upload files in seconds—no cables, no cloud drives, and no client-side app installations required.
- 📱 Instant QR Generation: Automatically detects your local IP and renders an access URL as a scannable QR code directly within your terminal window.
- ⚡ Interactive TUI Mode: Don't want to remember command flags? Launch the guided, prompt-based UI to effortlessly configure your sharing session.
- 🪶 Memory-Efficient Streaming: Engineered to handle ultra-large files (10GB+) by streaming directly from disk, keeping RAM consumption safely under 20MB.
- 🛡️ Secure Mode: Protect sensitive network transfers by requiring a dynamically generated 4-digit PIN before a download or upload can begin.
- 🌐 Web Dropzone: Running in "receive" mode serves a lightweight, responsive HTML5 dropzone to the client device for seamless drag-and-drop uploads.
magshare is distributed as a standalone executable. Choose your preferred package manager below:
Using Scoop:
scoop bucket add magshare https://github.com/DanaAus/magshare
scoop install magshareUsing WinGet:
winget install magshareIf you already have a Node or Bun environment, you can install or run magshare globally:
bun x magshare
# OR
npm install -g magshareFor developers who want to compile the latest version directly:
go install github.com/DanaAus/magshare@latestmagshare is designed to be completely intuitive. You can use the guided TUI, or pass commands directly.
Simply run the command with no arguments to launch the interactive terminal interface:
magshareShare a specific file. The client's browser will automatically prompt a direct download upon scanning the QR code.
magshare send ./my-file.txtTip: Add the --secure flag to generate a one-time PIN for the transfer.
Spin up a temporary web server that allows anyone on the network to upload files directly to your current terminal directory.
magshare receivemagshare is open-source software, and contributions are always welcome! If you'd like to improve the codebase, add a feature, or report a bug:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is distributed under the Apache 2.0 License. Feel free to use, modify, and distribute it as you see fit.