Retroshare’s Web Interface.

Introducing DjRS

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:

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

djrs_201304_friendsClicking 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.

djrs_201304_chatThe 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.

Chat Lobbies


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


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.

File Transfers

djrs_201304_transfersActive Transfers can be reached through the sidebar menu, and will be fully controllable from the Web Interface very soon.

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.

DjRS Setup

Instructions are available here:

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.

Retroshare-nogui Setup

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

Network Setup

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.

Helping out

We are not really Web developers, and DjRS is in no way complete. Feel free to send pull requests via github.

This entry was posted in Web Interface. Bookmark the permalink.

10 Responses to Retroshare’s Web Interface.

  1. Pingback: Using RetroShare on the Excito Bubba3 | RetroShare Team

  2. juanito003 says:

    This is great news, really. Thanks a lot!
    By the way, did you read the news about the NSA capable of decrypting SSL traffic? I didn’t get all the technical stuff out of it, but it would make RS less then.

  3. imidiwan says:

    This is great news, really. Thanks a lot!
    By the way, did you read the news about the NSA capable of decrypting SSL traffic? I didn’t get all the technical stuff out of it, but it would make RS less secure then.

  4. Nice interface. I am using it currently on a retroshare headless installation I made a few day ago.
    For now I just noticed some issues with adding a friend, it looks like people never receive the invitation to be friend. Therefore I have to periodically run the RetroShare install with GUI just to add them. But I am probably sure this feature is under development 😀
    Nevermind, it is already something very functional 😛
    Thanks for the good job!

  5. batmads says:

    Great!! More of that!! Your future developments sounds super.
    How can we help?

    • cave says:

      Would be nice to see some HowTos for RetroShare WebInterface, BlogPosts, Tutorials and other stuff about RS on the net.
      DjRS needs a python/Django Dev, who understands/enhances the RS SSH RPC protocol.
      There is another unofficial WebInterface for RS in development. have a look at it too.

      If you want to get in contact, try to add one of the public chatservers, or join #retroshare on FreenodeIRC. This channel is bridged to an internal chatroom. there you can find always some other folks which is involved in the development in some kind.

      Have a look at the sticky on for additional information regarding chatservers and other ports.

  6. “We expect to add all the other standard Retroshare features to the Web Interface in the coming months: Forums, Channels, Wiki, Photographs, and more.” What are your plans? i think the plugin rswebGUI is perfect and should always be uptodate with rslibrairies, this web plugin should be in mobile version for tablet and mobile screen size…not an app that is closer.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s