How to Share Files Securely with OneSwarm

There have been a few attempts over the years at making a safe and secure way to swap files or interact online. Projects like Tor and Freenet have give us some of what we’re looking for, but often have drawbacks such as low speed or complex installation. OneSwarm takes a different approach. Essentially, it’s a multiplatform Bittorrent client with support for the OneSwarm network. With it, you can securely swap files over insecure networks, search for friends and content, and even play media like videos and music from within your browser.

What does it do?

There are two aspects to OneSwarm – the private, secure, friend-based OneSwarm network, and the standard P2P. The developers took an existing Bittorrent client (Azureus) and heavily modified it to include support for their private network. They added a web client (you can control your file transfers through a web browser, even remotely) and included software for finding and inviting friends into your swarm.

Even if you have no interest in the secure swarm aspect, OneSwarm makes a great torrent client. It’s built on the Azureus classic UI which is a high quality mature torrent client. All the P2P benefits of Azureus matched with the extra functionality of the web client gives OneSwarm a very powerful feature base.

How does it work?

There are two methods of using OneSwarm, a web client and a desktop client. Both are usable immediately after installation, but the developers seem to encourage use of the web client. That’s where I’ve found most of OneSwarm’s unique features. The desktop client is more or less a standard Bittorrent client. So far, I’ve found the web client to be the way to go when working with OneSwarm friend-based transfers, but the classic desktop client gives more options for standard torrent downloads.

Windows users who’d like to use the desktop client instead of web can do so by right-clicking the OneSwarm icon in their system tray and choosing Show Classic UI. Linux users – access to the desktop client could vary widely based on your choice of desktop environment. Because of this, and to highlight the unique features of OneSwarm, this article will focus on the web client.

Getting Started

If your system didn’t take you to the web client automatically, you should be able to access it by opening your browser of choice to http://127.0.0.1:29615/. There you’ll find the opening screen for the OneSwarm web client.

oneswarm-main

For those who aren’t networking geeks – 127.0.0.1 is the address a computer uses to identify itself. By putting that into your browser you’re telling it “open the web page running on this computer”. The OneSwarm web client runs a small webserver on your machine so you can access the web client.

Finding Friends

The main concept behind OneSwarm is Friend-To-Friend transfers. When you first connect to OneSwarm, you’ll be asked to add friends. The first, and easiest way to do that is to choose “Use Default Settings”. This will connect you to the OneSwarm community server. Within a minute or two, you’ll see names pop into your Friends list. Users of the community server can all see each other, but cannot, by default, see each other’s files. Everyone on the community server is a “limited” friend by default and cannot trade files.

There are multiple other ways to add friends, all of which can be found by using the Add friends button below your contacts list on the left. For me, the GMail/Google Talk option would normally be a great way to add my friends, but as of the time of this writing, that feature does not appear to be working correctly. I have settled for using email invites through the Redeem/Create/View Invitations option.

oneswarm-addfriends

When my friends get the invitation in their email, they can install OneSwarm and click the link included in the invite to become a OneSwarm friend. For example, I sent an invite to Tara, who has named her computer “Hank”. She downloaded the OneSwarm client, clicked the link in the invite, and now OneSwarm sees us as friends. She shows up on my Friends list as well as the community server with which she’s registered.

Friend Access

As noted earlier, friends by default are set to “limited” status. They cannot see each other’s files or initiate any transfers. Fortunately, removing that limitation is quick and painless. You simply choose Friends from the navigation panel on the left, and you will have the full list of friends. Click the one you want to share with, and remove the check for “Limited”.

oneswarm-limited

From now on, Tara can browse through all the files that I have shared and choose whatever she’d like to download. Speaking of sharing…

Sharing Files

At the heart of any P2P app is the sharing of files. There’s not much point otherwise. To allow certain files to be shared over OneSwarm, you just add those files or directories to your Shared list. On any section of the OneSwarm web client you’ll find the Share button near the top of the screen. This will let you choose what to share. Here, for example, is one user’s files that they’ve chosen to open to the OneSwarm network.

oneswarm-download

I can download whichever of these files I like and choose where to save them. In addition, OneSwarm appears to have read the ID3 tag information for the music files, and added the album art to the thumbnail view. A nice touch.

I’ve found OneSwarm to be a very elegant, well-designed system. I’ve often looked for (and written about) ways to securely transfer files over the Internet. Some of them are simpler than OneSwarm, but not nearly as friendly and versatile. I’ll be sticking with OneSwarm for a while.

What about you?