RetroShare

Last updated
Retroshare
Retroshare-symbol.png
RetroShare 0.6 screenshot.png
Original author(s) Robert Fernie
Developer(s)
  • Cyril Soler
  • Gioacchino Mazzurco
Initial release2006;14 years ago (2006) [1]
Stable release
0.6.5 [2] / 12 February 2019;16 months ago (2019-02-12)
Repository github.com/RetroShare
Written in C++
Operating system Linux, Windows, macOS, Android, FreeBSD, OpenBSD, NetBSD, Haiku
Platform Cross-platform
Available in38 languages [3]
List of languages
English, Arabic, Bulgarian, Catalan (Spain), Chinese (China), Chinese (Taiwan), Czech, Danish, Dutch, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Macedonian, Malayalam, Norwegian Bokmål, Occitan, Polish, Portuguese, Portuguese (Brazil), Portuguese (Portugal), Romanian, Russian, Serbian, Slovenian, Spanish, Swedish, Turkish, Ukrainian, Vietnamese
Type Anonymous P2P, friend-to-friend, chat, instant messaging, newsgroups, voice over IP, email client and BBS
License GNU General Public License
Website retroshare.cc

Retroshare is a free and open-source peer-to-peer communication and file sharing app based on a friend-to-friend network built on GNU Privacy Guard (GPG). Optionally, peers may communicate certificates and IP addresses from and to their friends. [4] [5]

Contents

History

There has been an unofficial build for the single-board computer Raspberry Pi, named PiShare, since 2012. [6]

The web site 'PRISM Break' has recommended Retroshare for anonymous file sharing since 2013. [7]

On November 4, 2014, Retroshare scored 6 out of 7 points on the Electronic Frontier Foundation's secure messaging scorecard. It lost a point because there has not been a recent independent code audit. [8]

In August 2015, Retroshare repository was migrated from SourceForge to GitHub. [9]

Design

Retroshare is an instant messaging and file sharing network that uses a distributed hash table for address discovery. Users can communicate indirectly through mutual friends and request direct connections. [10]

Features

Authentication and connectivity

After initial installation, the user generates a pair of (GPG) cryptographic keys with Retroshare. After authentication and exchanging an asymmetric key, OpenSSL is used to establish a connection, and for end-to-end encryption. Friends of friends cannot connect by default, but they can see each other, if the users allow it. IPv6 support was merged [11] into the master branch and will be released in the next version.

File sharing

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.

Communication

The services that Retroshare offers for communication are:

User interface

The core of the Retroshare software is based on an offline library, to which two executables are plugged:

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.[ citation needed ] The degree of anonymity may be improved further by deactivating the DHT and IP/certificate exchange services, making the Retroshare network a real dark net. [12]

Friends of friends may not connect directly with each other; however, a user may enable the anonymous sharing of files with friends of friends. Search, access, and both upload and download of these files are made by "routing" through a series of friends. This means that communication between the source of data (the up-loader) and the destination of the data (the down-loader) 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.

Caveats

It is important to remember that while Retroshare’s encryption makes it virtually impossible for an ISP or another external observer to know what one is downloading or uploading, this limitation does not apply to members of the user's Retroshare circle of trust; adding the wrong people to it is a potential risk. [13]

In 2012, a German Court granted an injunction against a user of Retroshare for sharing copyrighted music files. Retroshare derives its security from the fact that all transfers should go through “trusted friends” whom users add. In this case, the defendant added the anti-piracy monitoring company as a friend, which allowed him to be “caught.” [14]

See also

Related Research Articles

In computer networking, the User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite. The protocol was designed by David P. Reed in 1980 and formally defined in RFC 768. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network. Prior communications are not required in order to set up communication channels or data paths.

BitTorrent peer-to-peer file sharing protocol

BitTorrent is a communication protocol for peer-to-peer file sharing (P2P) which is used to distribute data and electronic files over the Internet in a decentralized manner.

WASTE is a peer-to-peer and friend-to-friend protocol and software application developed by Justin Frankel at Nullsoft in 2003 that features instant messaging, chat rooms, and file browsing/sharing capabilities. The name WASTE is a reference to Thomas Pynchon's novel The Crying of Lot 49. In the novel, W.A.S.T.E. is an underground postal service.

GNUnet A framework for decentralized, peer-to-peer networking which is part of the GNU Project

GNUnet is a software framework for decentralized, peer-to-peer networking and an official GNU package. The framework offers link encryption, peer discovery, resource allocation, communication over many transports and various basic peer-to-peer algorithms for routing, multicast and network size estimation.

An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.

The Invisible Internet Project (I2P) is an anonymous network layer that allows for censorship-resistant, peer to peer communication. Anonymous connections are achieved by encrypting the user's traffic, and sending it through a volunteer-run network of roughly 55,000 computers distributed around the world. Given the high number of possible paths the traffic can transit, a third party watching a full connection is unlikely. The software that implements this layer is called an "I2P router", and a computer running I2P is called an "I2P node". I2P is free and open source, and is published under multiple licenses.

Filetopia

Filetopia is a free, multi-platform peer-to-peer file sharing client, and networking tool that allows users to share files, use chat, and send instant messages. Filetopia also features a buddy list. Users can share files in public chat rooms or privately with contacts. As it is not a centralized system, users must connect to a network made of multiple servers in order to find each other. However all the file transfers, secure chat, etc. are conducted on a peer-to-peer basis. Users can also host their own rooms and share the room's encrypted data with their friends by any means, without the need to connect to the Filetopia network.

BitComet BitTorrent Client for Microsoft Windows

BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.

A friend-to-friend computer network is a type of peer-to-peer network in which users only make direct connections with people they know. Passwords or digital signatures can be used for authentication.

Segmented file-transfer is a software method that is intended to improve file download speed. It works by simultaneously downloading different portions of the computer file sourced from either multiple servers or from a single server, recombining the parts into the single file requested. The majority of Download Manager applications work in this way.

Private peer-to-peer (P2P) systems are peer-to-peer (P2P) systems that allow only mutually trusted peers to participate. This can be achieved by using a central server such as a Direct Connect hub to authenticate clients. Alternatively, users can exchange passwords or cryptographic keys with friends to form a decentralized network. Private peer-to-peer systems can be divided into friend-to-friend (F2F) and group-based systems. Friend-to-friend systems only allow connections between users who know one another, but may also provide automatic anonymous forwarding. Group-based systems allow any user to connect to any other, and thus they cannot grow in size without compromising their users' privacy. Some software, such as WASTE, can be configured to create either group-based or F2F networks.

A BitTorrent tracker is a special type of server that assists in the communication between peers using the BitTorrent protocol.

eMule Free peer-to-peer file sharing application for Microsoft Windows.

eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. Often used by clients looking for extremely rare content, the distinguishing features of eMule are the direct exchange of sources between client nodes, fast recovery of corrupted downloads, and the use of a credit system to reward frequent uploaders. Furthermore, eMule transmits data in zlib-compressed form to save bandwidth.

qBittorrent Libre cross-platform BitTorrent node

qBittorrent is a cross-platform free and open-source BitTorrent client.

Turtle F2F

Turtle was a free anonymous peer-to-peer network project being developed at the Vrije Universiteit in Amsterdam, involving professor Andrew Tanenbaum. It is not developed anymore. Like other anonymous P2P software, it allows users to share files and otherwise communicate without fear of legal sanctions or censorship. Turtle's claims of anonymity are backed by two research papers provided in the "external links" below.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

In computing, Microsoft's Windows Vista and Windows Server 2008 introduced in 2007/2008 a new networking stack named Next Generation TCP/IP stack, to improve on the previous stack in several ways. The stack includes native implementation of IPv6, as well as a complete overhaul of IPv4. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after a change in settings. The new stack, implemented as a dual-stack model, depends on a strong host-model and features an infrastructure to enable more modular components that one can dynamically insert and remove.

OneSwarm anonymizing BitTorrent client

OneSwarm is a privacy-preserving P2P client developed at the University of Washington. Although backward compatible with traditional BitTorrent clients, OneSwarm also includes new features designed to protect user privacy when sharing data among friends through creating a distributed darknet, so-called friend-to-friend sharing.

Bitblinder was an open source software program that allows users to share bandwidth and IP addresses in order to anonymously download torrents and browse the internet. It was first released in June 2009. under an MIT open-source license. It was developed by Josh Albrecht and Matthew Kaniaris of Innominet. The software is based on the principles that Tor uses to create anonymity but was designed to be faster and encourage file sharing in addition to anonymous browsing. It currently comes bundled with an anonymous browser based on Mozilla Firefox and an anonymous BitTorrent client based on BitTornado. The software was planned to provide anonymity for instant messaging and Internet Relay Chat.

ZeroNet Peer to peer web hosting

ZeroNet is a decentralized web-like network of peer-to-peer users, created by Tamas Kocsis in 2015. Programming for the network is based in Budapest, Hungary; is built in Python; and is fully open source. Instead of having an IP address, sites are identified by a public key. The private key allows the owner of a site to sign and publish change, which propagate through the network. Sites can be accessed through an ordinary web browser when using the ZeroNet application, which acts as a local webhost for such pages. In addition to using bitcoin cryptography, ZeroNet uses trackers from the BitTorrent network to negotiate connections between peers. ZeroNet is not anonymous by default, but it supports routing traffic through the Tor network.

References

  1. "Retroshare aims to be a private F2F social network | SourceForge Community Blog". Sourceforge.net. 2010-05-11. Retrieved 2016-12-04.
  2. Cyril (12 February 2019). "Release notes for v0.6.5".
  3. "Retroshare localization". Transifex.com. Retrieved 2016-12-04.
  4. "Anonymous, Decentralized and Uncensored File-Sharing is Booming". TorrentFreak. 2012-03-03. Retrieved 2016-12-04.
  5. "Handbook of Peer-to-Peer Networking | Xuemin (Sherman) Shen". Springer. Retrieved 2016-12-04.
  6. "PiShare download". SourceForge.net. Retrieved 2016-12-04.
  7. Peng Zhong (2003-07-16). "Projects". PRISM Break. Retrieved 2016-12-04.
  8. "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. 2014-11-04.
  9. Community, Retroshare. "History - Retroshare Docs". retroshare.readthedocs.io. Retrieved 2018-01-28.
  10. M, Rogers; S, Bhatti (2007). "How to Disappear Completely: A Survey of Private Peer-to-Peer Networks". discovery.ucl.ac.uk. Retrieved 2018-01-28.
  11. "IPv6 support by G10h4ck · Pull Request #1191 · RetroShare/RetroShare". GitHub.
  12. "Anonymous, Decentralized and Uncensored File-Sharing is Booming - TorrentFreak". TorrentFreak. 2012-03-03. Retrieved 2018-01-28.
  13. "Increase online privacy with Retroshare". Doug Vitale Tech Blog. 2013-07-29. Retrieved 2018-01-28.
  14. ""Anonymous" File-Sharing Darknet Ruled Illegal by German Court - TorrentFreak". TorrentFreak. 2012-11-23. Retrieved 2018-01-28.