This is the new Web Interface for Retroshare, which allows you access to your Retroshare Node from anywhere you chose. Although its got a bit to go before it is one-click access, I thought it was time to share some screen-shots to whet your appetite.
The source code is available at: https://github.com/drbob/djrs.git
NB: The Web Interface will only work with Retroshare SVN 6330 and upwards. You need to compile Retroshare from source code to use it. Support for the DjRS will be in the next stable release (V0.5.4f)
But wait, I hear you ask, “why don’t you just point us at the webserver and let us play with it…?”. As Retroshare is a fully distributed system, we don’t host Retroshare nodes. So you need a Retroshare installation before the Web Interface is useful.
DjRS runs as a standalone Web Interface on any laptop, server, phone that supports python. As privacy-aware netizens, you know that the person running the Web Server will have access to your data. So it is much better for your sanity if you run your own. There are more technical details towards the end of this post.
Login to your Node
When you startup the Web Interface it presents you with the Login screen.
You supply username, password as well as the location of your Retroshare Node, and the Web server connects via SSH. Securely allowing you to control your node.
After a successful login, you will get to this screen – with a little congratulations message. There is basic status information on the right-hand side and context menus for navigation.
Find your Friends
Clicking on friends is a good place to start. Excuse the reduxxed images but Retroshare is meant to be a Private Social Network. From here you can chat to friends that are online, view their shared files as well as change your friends list by adding or removing people.
Chat with Friends.
The web chat interface is quite basic at the moment – but functional. Type in your message, read their responses – what else is there to it! You can also access older chat messages via the button on the upper-right side.
Of course, the chat is running over the Retroshare network and can be considered private.
You can also communicate with a wider range of people via the Chat Lobbies. Just Join and Chat. We will add “create lobby” functionality in the near future.
Shared Folders are displayed one level at a time, allowing you to drill down as far as needed. Clicking on the Download link will fetch the files when they become available.
If Shared folders are too tedious to use, you can search the Network via the Search Interface and download data at the click of a button.
Much More to Come
We expect to add all the other standard Retroshare features to the Web Interface in the coming months: Forums, Channels, Wiki, Photographs, and more.
Technical Details of DjRS.
DjRS is written using Python/Django and Bootstrap. It communicates with your Retroshare Node using the SSH RPC protocol. DjRS uses the PyRS python module to handle the comms.
Instructions are available here: https://github.com/drbob/djrs.git
You need to install python and git and run some scripts.
There are three ways of running DjRS listed in the Instructions. Using the tornado http server is currently the best option.
The server version of Retroshare (retroshare-nogui) provides the SSH RPC protocol that DjRS talks to. Instructions for setting this up are here: Excito Blog Post
The whole system has three distinct components (Browser, DjRS, Retroshare Node) which can be run on three different hosts. This provides great flexibility in how you access your system:
Browser <--http(s)--> DjRS <-- SSH --> RS Node <===> RS Net
For example, you could run Retroshare on your DreamPlug or Raspberry PI at home, and run DjRS remotely. As DjRS has no configuration, it can be installed and run from anywhere and used to access any Retroshare node. This is probably the easiest way for most people to use DjRS.
Remote: Home: Browser / DjRS <------- SSH --------> RS Node
Alternatively, you could run DjRS and Retroshare on a single server, and just use the Web Interface from anywhere. Just remember to use HTTPS with this configuration, as you will be sending RS web traffic over the Internet.
Mobile: Home or Server: Browser <----- https -----> DjRS / RS Node
In the near future you could also share a single DjRS installation with your friends. Just be sure you can trust the Server administrator!
Remote: Server: Home(s): Mobile <--- https ---> <--- SSH ---> RS Node iPad <--- https ---> DjRS <--- SSH ---> RS Node Laptop <--- https ---> <--- SSH ---> RS Node
This software is still in active development, we are keen to get feedback about issues.
There is a known problem where after a connection fails, you cannot reconnect. If this happens, please restart both retroshare-nogui and DjRS. Some of these failures are due to libssh-v0.5.4 not restarting properly, this is fixed in libssh-v0.6.0rc1.
There are up-to-date instructions for compiling and setting up the backend system in the README.txt located in the base directory of the repository.
We are not really Web developers, and DjRS is in no way complete. Feel free to send pull requests via github.