|Stable release||0.5.5a / September 12, 2013|
|Operating system||Microsoft Windows, Linux, Mac OS X, FreeBSD|
|Type||Anonymous P2P, Friend-to-friend, Chat, Instant Messenger, Newsgroups, Voice over IP|
|License||GNU General Public License|
RetroShare is free software for encrypted, filesharing, serverless email, instant messaging, chatrooms, and BBS, based on a friend-to-friend network built on GPG (GNU Privacy Guard). It is not strictly a darknet since optionally, peers may communicate certificates and IP addresses from and to their friends.
Authentication and connectivity
After installation, the user either generates a pair of (GPG) cryptographic keys with RetroShare, or selects an existing keypair to use. After authentication and exchanging an asymmetric key, SSH is used to establish a connection. End to end encryption is accomplished by using OpenSSL. Friends of friends cannot connect by default, but they can see each other, if the users allow it.
It is possible to share folders between friends. File transfer is carried on using a multi-hop swarming system (inspired by the "Turtle Hopping" feature from the Turtle F2F project, but implemented differently). In essence, data is only exchanged between friends, although it is possible that the ultimate source and destination of a given transfer are 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 value, and HTTP-compliant file and links may be exported, copied, and pasted into/out of RetroShare to publish their virtual location into the RetroShare network.
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.
The core of the RetroShare software is based on an offline library, to which two executables are plugged :
- a command-line interface executable, that offers nearly no control.
- 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 potential to manage their network by collecting optional information about neighbor friends and visualizing it as a trust matrix or as a dynamic network graph.
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 may be improved further by deactivating the DHT and IP/certificate exchange services, making the Retroshare network a real Darknet.
Friends of friends may not connect directly with each other, however, the possibility exists of anonymously sharing files with friends of friends, if enabled by the user. Search, access, and both uploading and downloading of these files is made by "routing" through a series of friends. This means that communications between the source of data (the uploader) and the destination of the data (the downloader) is indirect through mutual friends. Although the intermediary friends cannot determine the original source or ultimate destination, they can see their very next links in the communication chain (their friends). Since the data stream is encrypted, only original source and ultimate destination are able to see what data is transferred.
- Search for friends
- Search for files
- Instant messaging
- IRC-like channels
- Anonymous/authenticated forums
- Multi-hop search for files
- NAT hole punching
- Swarming as in BitTorrent
- Qt4 platform independent UI
- Localisation for nine languages
- Anonymous file sharing with friends
- URL scheme for shared files
- Completely decentralised
- Optional IP localization using Kademlia DHT
- UPnP / NAT-PMP port forwarding support
- Overview of all shared files
- Multiple simultaneous downloads / uploads
- Plugin support
- Voice chat via VoIP plugin
- Integration into the taskbar
- Support for resuming downloads after exiting the program
- Adding downloads via website links
- Overview of internal router statistics
- Quick Start Wizard (for quick and easy setup of RetroShare)
- Setting (forward) and the ports of the router is automatically inherited from RetroShare
- Public or anonymous data sharing with friends
|This section is empty. You can help by adding to it. (November 2013)|
Serverless voicemail and videochat could be implemented with RetroShare and its Plugin infrastructure. A web-based user interface to control the software from a distant machine also stands among future plans.
- Anonymous P2P
- Instant messaging
- Comparison of file sharing applications
- Turtle F2F — Turtle routing technology is used by RetroShare
- I2P — polyvalent like RetroShare