Hey guys!
Transferring a quick file, APK, or PDF from my Windows PC to my phone always felt way too clunky. Setting up SMB for a one-off transfer is annoying, cloud drives make me feel so nervous of my data, and emailing myself files is just sad. I wanted an "AirDrop" experience that worked across any OS without needing to install an app on my phone.
So, I built QShare.
It’s an open-source, terminal-based utility built in Go.
How it works:
If I want to send a file to my phone, I just open my terminal and type:
qshare send aquaman.mp4
The tool instantly spins up an ephemeral local web server, finds my active Wi-Fi IP, and renders a giant ASCII QR code right in the terminal. I scan it with my phone's camera, and the download starts instantly over the local network.
It also works in reverse. If I type qshare receive , it gives my phone a sleek little HTML dropzone. I can upload photos from my phone, and they save directly into the directory where my terminal is currently open.
A few technical details I'm proud of:
- Zero Dependencies: It's a single compiled binary (Go). No node_modules, no python environments.
- Memory Efficient: It uses io.Copy to stream data directly from disk. You can send a 10GB+ file and it will never use more than 50MB of RAM.
- Secure Mode: You can pass a --secure flag, which generates a random 4-digit PIN that the client device has to enter before the transfer begins.
- Interactive TUI: If you just run qshare, it launches an interactive UI so you don't have to memorize CLI flags.
I just open-sourced the V1 today and would absolutely love some feedback from you guys.
GitHub Repo: QShare
Let me know what you think, or if you run into any bugs!
Top comments (0)