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.

  1. 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.
  2. 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.

  1. 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.
  2. 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.
  3. 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:

FeatureSoulseekRoseWire
User LoginPlaintext username & password✅ Cryptographic keypair via SSH
Chat EncryptionNoneFull SSH Encryption
File TransfersUnencryptedEncrypted & Relayed for IP Protection
Server KnowledgeCan log IPs, searches, and filenamesOnly knows online users and shared file lists
Open Source⛔ No (Closed Source)Yes (Verifiable & Trustworthy)
Federation⛔ Centralized Servers✅ Decentralized (connects multiple communities)