Retroshare is a relatively young project that aims to offer an "Open Source cross-platform, private and secure decentralized communication platform" to their users.
I like Retroshare because they have a really good concept. But yes, it has a lot of bugs :) I do not want to use other popular friend-to-friend (F2F) software because they are written in Java. I am not willing to spend 200MiB (!!) of RAM for idle programs - especially not on my slim vserver.
Retroshare on a vserver can help the clients not to lose all friends' IP's (what would cause manual adjustment) and to provide your F2F network with popular files so that your uplink stays relaxed.
Let's assume you have a server with a working X11-forwarding to your machine. I use Debian, so if you have another distribution please watch for commands that are distribution specific.
Further, make sure you have the dependencies installed:
Since the nogui-version of Retroshare did not work for me (starts, runs, logs but does not connect), I installed xvfb (a virtual X-Server) to be able to start the GUI-version of Retroshare detached in the background.
For security reasons, create system user account for Retroshare with a home directory and set a reasonable password.
Login as retroshare (do not `su`, it can cause problems with X11-forwarding).
Install the latest stable Retroshare client according to the Retroshare wiki.
You can try using the nogui version. I did but my clients could not connect to it. A Retroshare developer told me it is not really in active development since there a more relevant things to hack on for now. Sad.
qmake && make
chmod +x retroshare-nogui
mv retroshare-nogui ~/retroshare-nogui
Connect to your server with X11-forwarding enabled. I suggest copying your ~/.gnupg directory to the server to have the same certificate and friends. Start Retroshare, configure it (enable auto login is necessary!) and add your friends so you see the client on the server connected to your F2F network.
Once this worked you can start your backgrounded Retroshare! I use the following script:
# file ~/retroshare_quiet_up.sh
if [ `top -bn1|grep -c RetroShare` -gt 0 ];
echo "RetroShare is already running..."
nice -n15 xvfb-run ./RetroShare &>/dev/null &
I suggest to observe RetroShare's presence and restart it daily (there is evidence for memory leaks because of growing memory usage). So hack in
# check if retroshare is running every 10 minutes
2,12,22,32,42,52 * * * * ~/retroshare_quiet_up.sh >/dev/null 2>&1
# kill RetroShare once a day, will be restarted by job above
0 5 * * * killall RetroShare