Welcome to RoseWire
🌹 Your Guide to Private, Modern File Sharing
Ever feel like you’re being watched online? 👀 In a world where every click is tracked, RoseWire is a breath of fresh air. It’s a modern, secure, and open-source platform designed from the ground up to put your privacy first.
This isn’t just another app—it’s a new way to connect and share, built on a foundation of trust and transparency. Let’s look under the hood and see how it works, without any confusing jargon.

📬 How RoseWire Works: The Simple Version
Think of a RoseWire server as a smart, secure post office. It helps you connect with friends but has a strict policy: it never opens your mail.
- Your Secure Tunnel (SSH) 🚇 When you connect to a RoseWire server, you’re not just logging in—you’re creating a private, encrypted tunnel using SSH (Secure Shell). This is the same battle-tested technology that system administrators use to securely manage servers. As shown in
main.go
, your connection is authenticated with a cryptographic key, not a simple password that can be stolen. No one can peek inside this tunnel to see what you’re doing. - Finding Friends & Sharing Files 🤝 The server acts as a directory. It knows who is online and what files they’re sharing (
chat.go
), but it never has access to the content of your chats or files. When you’re ready to download, the server helps establish the connection.
🛡️ How RoseWire Actually Transfers Files (The Private Way)
Here’s where RoseWire truly shines and differs from traditional peer-to-peer apps. Instead of connecting your computer directly to another user’s—which would expose your personal IP address to them—RoseWire uses the servers as private, encrypted relays.
🚚 Think of it like using a trusted courier service that uses unmarked vans.
- Secure Pickup: When you start a download, your client tells your RoseWire server you’d like a file from another user. You open a secure, encrypted SSH tunnel only to your server (
main.go
,handleSessionRequests
). The other user does the same on their end. - The Anonymous Relay: The two servers then connect to each other to transfer the file (
s2s.go
,InitiateTransfer
). Your server tells the other server, “My user wants this file,” but it never shares your IP address. The other server then sends the file. - Secure Delivery: The file data is streamed from the uploader’s server to your server, and then delivered to you through your private SSH tunnel (
main.go
,pipeStreams
).
The most important part of this process is that you and the other user never learn each other’s IP addresses. The servers act as privacy-protecting intermediaries. They simply pass along the encrypted data stream without ever storing the complete file.
🔒 Your Privacy Isn’t a Feature, It’s the Foundation
We built RoseWire because we believe privacy is a right. Your data is yours, period. Here’s how the code protects you:
- No Spying Allowed 🤫 All your connections to the server are protected by strong SSH encryption. The servers relay your data but don’t store or read it.
- We Don’t Store Your Stuff 📦 Your files stay on your computer. The server only keeps a list of filenames you’re currently sharing (
files.go
), not the files themselves. When you log off, that list is cleared. - You Are in Control 💪 You choose what to share. With the new admin tools (
admin.go
), instance operators can create safer communities by banning bad actors and blocking malicious file types, but they still can’t access your data.
❤️ Open Source & Community Driven
RoseWire is 100% open source. That means anyone can view, audit, and contribute to our code on GitHub.
- Transparency: You don’t have to take our word for it. You can see for yourself how we protect your privacy.
- Security: More eyes on the code means potential vulnerabilities are found and fixed quickly.
- Community: RoseWire is built by people who are passionate about digital freedom. We invite you to join us and help shape the future of a more private internet.
🆚 RoseWire vs. Soulseek: A Privacy Showdown
Soulseek is a legend in file-sharing, but it was built for a different era of the internet. Here’s a clear comparison based on what’s in the code:
Feature | Soulseek | RoseWire |
User Login | Plaintext username & password | ✅ Cryptographic keypair via SSH |
Chat Encryption | ⛔ None | ✅ Full SSH Encryption |
File Transfers | ⛔ Unencrypted | ✅ Encrypted & Relayed for IP Protection |
Server Knowledge | Can log IPs, searches, and filenames | Only knows online users and shared file lists |
Open Source | ⛔ No (Closed Source) | ✅ Yes (Verifiable & Trustworthy) |
Federation | ⛔ Centralized Servers | ✅ Decentralized (connects multiple communities) |