RShare documentation (English)

From Planet Peer Wiki

Jump to: navigation, search


Contents

What is RShare?

RShare is a young and ambitious software project with a fast growing community and active supports. Compared with other anonymous filesharing programs like MUTE or ANts P2P RShare is under active and continuous development. The active community supports RShare with best efforts and Lars Regensburger (the author of RShare) tries to implement useful suggestions from the community as fast as possible.

RShare strives to provide users from conventional direct connection networks like eMule or so a secure, anonymous and comfortable alternative. Although RShare is a newbie compared with other programs like eDonkey if offers a lot of interesting features which other anonymous programs lack of. Independant of this fact RShare can download files secure and anonymous by now.

Conventional P2P filesharing networks are in no way anonymous. Each participant can be identified with ease due to his unique IP address while he is performing actions like downloading or uploading.

Companies, organizations and authorities use this weakness of traditional P2P filesharing networks to track down people who download or offer particular files within a filesharing network. RShare protects his users from this kind of surveillance and gives them back a part of their freedom when they use the Internet.

What is RShare good for?

Regular filesharing networks like eDonkey are in no way anonymous. Each network participiant can be tracked down with ease because his IP address is visible to all other network participiants. Moreover, all his actions (downloading and uploading for instance) can be monitored and recorded. It is a well-known fact that heavily modified versions of open source P2P clients are used by organisations like IFPI, MPAA or RIAA to track down filesharers.

Companies, organisations and authorities all over the world use the weakness of traditional networks like visible IP addresses to locate people sharing copyrighted stuff, for instance. RShare protects the privacy of each user who participates on the RShare network and provides several countermeasures to deal with Internet/network surveillance.

RShare is a Peer-to-Peer Filesharing program for file exchange over the Internet. The difference between regular P2P networks like eDonkey or so and RShare is that upload and download of files is completely anonymous as well as the user is.

RShare anonymity workings

Compared with server-based filesharing systems like eDonkey2000 there are no central or dedicated servers within the RShare network so correlation of IP addresses to files is nearly impossible.

Conventional serverless filesharing networks maintain direct connections between participating clients (FastTrack/Kazaa, Kademlia, Gnutella or BitTorrent). In contrast RShare clients use never direct connections, the network traffic is rather routed trough several other RShare nodes/clients.

IP addresses of senders and recipients in the RShare network are hidden. Instead of IP addresses so-called RShare IDs are used which can´t be correlated with IP addresses. In addition all data routed between RShare nodes is encrypted so even ISPs can´t analyze transmitted data to check if you are doing some kind of filesharing.


The RShare “Who is Who”

All users of RShare filesharing software (RShare Client) are participiants in the RShare network which is completely independent and shielded from the rest of the Internet. To create connections to other participiants Webcaches are needed.

Webcaches are intended to store IP addresses and ports of other network participiants until they disconnect from the RShare network. This data is not stored in a log file for longer periods. Each time a new participiant joins the RShare network he receives connection informations from the Webcaches to successfully attend the RShare network.

The Webcaches does neither store informations about the files shared by network users nor do they record concrete activities. Webcaches doesn´t play the same role as regular servers in non-anonymous networks. Connections to Webaches have a temporary character and are only needed when users join the network or when they disconnect from it.

Each RShare client who is connected to the RShare network acts automatically as a network node through which a part of the network/data traffic is routed. That way indirect connections between file hosters and file recipients are feasible. A node is called a peer when he becomes active, for instance when he search for files or has active downloads and/or uploads.

Encrypted connections persist between all RShare recipients like nodes and peers. Each client has only a few direct connections to other nodes or peers.


How does the RShare network login work?

As mentioned above RShare requires Webcaches to connect successfully to the network. The own RShare clients creates a http connection to several Webcaches (1) and transmits the own IP address and the RShare TCP port. The client gets in return a list of IP addresses and ports of other network participiants.

Afterwards the client shuts down the connection to the Webcaches. With the IP addresses he got from the Webcaches the client creates now encrypted connections to several other participiants (A, B and C) (2).


How does file search work with RShare?

Each search request is first passed to the neighbor nodes which are connected with the own client (1). The neighbor nodes not only hand over own search results to the network, they also pass search requests on the other hand to their neighbor nodes. Hereby the searched network space is expanded more and more. (2)

For anonymous and security reasons all search results are routed along with the RShare ID of the clients hosting the files through several nodes in the RShare network. With this measure it is guaranteed that the client who initiated the search request never will receive search results from one of his neighbor nodes over a direct connection which would eventually allow the correlation of his IP address with the search results or with RShare ID.


How does downloads work with RShare?

When a client requests a download the request is routed through multiple other nodes in the RShare network to the node who has the file (1). This node passes file segments in a row to the neighbor node where the request came from. The neighbor node in turn passes data over to the node who sent the request and so on.

Under ideal circumstances the download travels back on the same route as the download request before (2). In case that an involved node is no longer available the file segment along with the recipient RShare ID is passed to the network and reaches the recipient on a new route (3).


Creating a webcache

In case you want to build your own webcache, here's a short manual. First of all - why do you want to build you own webcache? For example, if you want to run you own dedicated RShare network. Build up your own webcache, disable the "syncronize webcache" in StealthNet and add the URL of your webcache in the webcache.xml file. Delete the other webcaches in this file. 1.) You need a webserver with PHP and MySQL installed. 2.) Create a new database in mySQL - the name doesn't matter. 3.) Add the following tables to the DB: Table: nodes

Fieldname	Datatype	Length	Null	Primary Key
ipaddress	varchar	15	No	Yes
port	        int	11	No	No
lastupdate	datetime	-	No	No

Table: sent

Fieldname	        Datatype	Length	Null	Primary Key
receiveripaddress	varchar	15	No	No
sentipaddress	        varchar	15	No	No
lastupdate	        datetime	-	No	No

Remember the database-name, the database-user and the according password. You'll need it later on.

4.) Create a folder or subdomain on your webspace. Remember, the server has to be PHP installed! Download the webcache files. Right now you'll find the files attached to this thread (http://board.planetpeer.de/index.php/topic,3811.msg22443.html#msg22443). Edit the following files with your preferred text-editor: File: rwpmws.php Line 24 - "mysql_connect('localhost', '<username>', '<password>');" Normally you don't have to change "localhost". In case the database (see provider), is on another server, you'll have to add the URL here. Replace <username> with your SQL user. Replace <password> with the corresponding user password.

Line 25 - "mysql_select_db('<database-name>');" Replace <database-name> with the name of your database.

File: rwpmws.wsdl Replace <webcache-URL> with the URL of your webserver. The tag <webcache-URL> should be appearing 8 times. Change them all! (Lines: 68, 77, 86, 98, 107, 116, 127, 130)

5.) Publish Copy the files nusoap.php, rwpmws.php and rwpmws.wsdl to your webspace. Set the permissions of the directory to 755 (drwxr-xr-x) If you browse your webcache http://<WebcacheUrl>/rwpmws.php you should see a window with links (AddPeer, RemovePeer....).

6.) Test Start Stealthnet and disable "syncronize webcaches" and alter the webcache.xml in the preference directory. Only thr URL of your webcache should be in that file. Everybody that joins your network has to alter his SN client the same way!

Done!!!

Pictures and documentation: Philharmoni
English translation: Markus

Personal tools