Retroshare "server mode"

Technical RetroShare discussions Forum

Retroshare "server mode"

Postby Sukrim » Thu Mar 22, 2012 11:06 pm

Currently it seems to me RS is mostly tailored to home/mobile users with relatively slow internet connections and a high churn rate (clients joining/leaving all the time). Also it seems to me that it is somehow expected that behind every node, there is more or less sitting someone.

What I'd like to propose (and if it's not too hard even implement, maybe as a plugin?) is the following operation mode:

A RS "server" mode, used as cache for a network of friends providing more uptime, faster down/upload speeds and that might help in bridging.
Rules:
Parts running through the server (Alice loads from Charlie, who is friends with Bob, who is friends with Server - Alice doesn't know Charlie though) get cached on the server (so Bob will be able load that part from Server or Charlie) until they reach xxx MB, after that they get replaced in the cache either via a simple first-in-first-out or least-requested-first-out.
If the server has a direct connection to a trusted friend (Alice has Serverkey, Server has Alicekey) it should be possible for this friend to upload a file to the server as well. E.g. "Server" will initiate a download for a file that Alice has, if Alice selects "store on server 'Server' " on one of her files. This file will not be stored just in the cache, but will be permanently, as long as Server and Alice are friends. If their friendship ends, the server will clear out these files probably.

The second part is optional imho, I guess even a "dumb" cache might help already a lot if you manage to set up a star-type network where everyone is friends with the server and a majority of transfers run over it. If the cache then is large enough, it might help a lot to speed up transfers and/or to make files more available, if some of your friends are offline.

Taking it a step further, a merger of two larger communities could then just "befriend" their servers, forming a backbone connection.

In the end I guess what I'm sugesting is some kind of "supernode" combined with "storage/caching node" mode. This would (I guess) mostly be run without GUI on some cheap VPS, Amazon EC2 or maybe even just a Router/RaspberryPi with a USB HDD. It would mainly serve parts of files, cache files and provide bridging between NATs + relays. It should need minimal interaction (maybe auto-accept all keys that the person identified by the "owner key" throws at it?) and be tuned for highest utility and high uptime.
Sukrim
 
Posts: 11
Joined: Thu Mar 15, 2012 12:07 pm

Re: Retroshare "server mode"

Postby cave » Wed Nov 28, 2012 2:41 pm

i am also searching for some "Supernode" functionality.

Running on my Raspberry Pi, which shares my NAS and saves the data from my friends to my NAS. 24/7 online, but noGui, no Chat or other functions.
some remote functions from my RS Gui on my PC/Laptop to control the Raspi-RS daemon.
Remote control and chat on my Android phone.

Raspi and my other RS clients should use the same GnuPGP certificates with different locations.
cave
 
Posts: 109
Joined: Tue Nov 13, 2012 10:27 pm

Re: Retroshare "server mode"

Postby Imanuel » Tue Jan 01, 2013 11:05 am

Parts running through the server (Alice loads from Charlie, who is friends with Bob, who is friends with Server - Alice doesn't know Charlie though) get cached on the server (so Bob will be able load that part from Server or Charlie) until they reach xxx MB, after that they get replaced in the cache either via a simple first-in-first-out or least-requested-first-out.
That won't work because the server does not know the hash of the files it is forwarding. It only knows the tunnel id - so if A load FILE1 from B, and C loads FILE1 from B, the server in the middle does not know it's the same file.
Imanuel
 
Posts: 33
Joined: Fri Jun 03, 2011 7:17 am


Return to Technical RetroShare discussion

Who is online

Users browsing this forum: No registered users and 1 guest