Retroshare

Retroshare
Developer(s) RetroShare-Team
Stable release 0.5.2a 4550 / August 11, 2011; 6 months ago (2011-08-11)
Written in C++
Operating system Microsoft Windows, Linux, Mac OS X
Type Anonymous P2P, Friend-to-friend, Chat, Instant Messenger, Newsgroups
License GNU General Public License
Website retroshare.sf.net

RetroShare is free software for encrypted, serverless email, Instant messaging, BBS and filesharing based on a friend-to-friend network built on GPG. It is not strictly a darknet since peers can optionally communicate certificates and IP addresses from and to their friends.

Contents

Authentication and connectivity

After the installation RetroShare generates a pair of GPG keys. After authentication and exchanging an asymmetric key, ssh is used to establish a connection. End to end encryption is done using OpenSSL. Friends of friends cannot connect by default, but they can see each other if the users allow it.

File sharing

It is possible to share folders between friends. File transfer is carried on using a multi-hop swarming system. In essence, data is only exchanged between friends, although the ultimate source and destination of a given transfer are possibly multiple friends apart. A search function performing anonymous multi-hop search is another source of finding files in the network.

Files are represented by their SHA-1 hash, and http-compliant file links can be exported, copied and pasted into/out RetroShare to publish their virtual location into the RetroShare network.

Communication

RetroShare offers several services to allow friends to communicate. A private chat and a private mailing system allow secure communication between known friends. A forum system allowing both anonymous and authenticated forums distributes posts from friends to friends. A channel system offers the possibility to auto-download files posted in a given channel to every subscribed peer.

User interface

The core of the RetroShare software is based on an offline library, to which two executables are plugged: a command-line executable, that offers nearly no control, and a graphical user interface written in Qt4, which is the one most users would use. In addition to functions quite common to other file sharing software, such as a search tab and visualization of transfers, RetroShare gives users the possibility to manage their network by collecting optional information about neighbor friends and visualize it as a trust matrix or as a dynamic network graph.

Anonymity

The friend-to-friend structure of the RetroShare network makes it difficult to intrude and hardly possible to monitor from an external point of view. The degree of anonymity can still be improved by deactivating the DHT and IP/certificate exchange services, making the Retroshare network a real Darknet.

Friends of friends can not directly connect with each other. However, the possibility exists anonymously on their shares, and encrypted access, if enabled by the user. Search, access, and uploading and downloading of these files made ​​by "routing" of the friends. This means that communicate the source of data (uploading) and the destination of the data (the downloader) directly but only through mutual friends. Friends with whom you are connected directly and via which the data is passed, can not understand, if you request a file or even forward them to other friends.

Features

Future developments

Serverless voicemail, videochat and VoIP could be implemented with RetroShare and its plugin infrastructure. A web interface to control the software from a distant machine also stands among future plans.

External links