Pyp is a lightweight, terminal-based peer-to-peer (P2P) file transfer tool written in Go. It uses WebRTC to allow high-speed data transfers between devices, even when they are behind different networks (like transferring files from India to the USA) without needing a middleman server to hold your data.
- Real-time Speed Monitoring: Live upload/download speed tracking displayed in MB/s.
- True P2P: Data flows directly between peers using WebRTC data channels.
- Terminal UI: A beautiful, responsive TUI built with
Bubble Tea 🧋andLipgloss. - Cross-Platform: Single-binary support for Linux and Windows (amd64).
- Automatic Downloads: Received files are automatically saved to your
Downloadsfolder.
You can download the pre-compiled binaries from the Releases page.
To use the pyp command anywhere in your terminal, follow these steps:
- Download the
pypbinary. - Open your terminal in the downloads folder and run:
# Make it executable and move it to your system path
chmod +x pyp
sudo mv pyp /usr/local/bin/pyp
- Now you can simply type
pypfrom any directory!
- Download
pyp.exe. - Move it to a permanent folder (e.g.,
C:\Program Files\pyp\). - Add that folder to your System Environment Variables (PATH).
- Open a new PowerShell or Command Prompt and type
pyp.
- Run
pypand select SEND. - Use arrows to navigate and Space to select files.
- Press Enter to generate a 7-digit room code.
- Share the code with the receiver.
- Run
pypand select RECEIVE. - Enter the 7-digit code provided by the sender.
- The transfer will begin automatically, showing a progress bar and live speed.
- Language: Go (1.25.6+)
- TUI Framework: Bubble Tea
- Networking: Pion WebRTC
- Signaling: Hosted on Render (WebSockets)
This project is licensed under the MIT License.
Made with ❤️🔥 by Nish Deshmukh
