RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Go to file
AsamK 5ae5d76ffc Make file names consistent with packaging
Rename executables:
RetroShare -> RetroShare06
retroshare-nogui -> RetroShare06-nogui

Add 06 suffix to icons and desktop file

Update README, debian rules and windows installer file
2015-08-24 00:03:57 +02:00
build_scripts Make file names consistent with packaging 2015-08-24 00:03:57 +02:00
libbitdht/src Fixed uninitialized members of bdProxyId and bdConnectionRequest. 2015-06-18 10:19:36 +00:00
libresapi/src webui: allow only whitelisted link protocols to prevent javascript in links 2015-07-31 17:27:26 +02:00
libretroshare/src Disable installing of headers and libretroshare.a 2015-08-24 00:03:57 +02:00
openpgpsdk/src removed default debug flag in .pro files. Fixed up version.h in packaging script. 2015-08-02 18:35:27 +02:00
plugins Make RS installable with "make install" 2015-08-24 00:03:57 +02:00
retroshare-gui/src Make file names consistent with packaging 2015-08-24 00:03:57 +02:00
retroshare-nogui/src Make file names consistent with packaging 2015-08-24 00:03:57 +02:00
rsctrl/src Added Transfer State to RPC messages 2013-04-22 22:40:30 +00:00
supportlibs/pegmarkdown Merged revision 7410 from v0.5.5 2014-06-21 21:12:27 +00:00
tests updated tests and also fixed a few bugs in using random initialisation routines 2015-01-11 22:19:32 +00:00
.gitignore added some rules to .gitignore 2015-08-05 20:53:18 +02:00
.travis.yml add travis file 2015-07-31 16:31:14 -04:00
build-all-mingw32make.bat update windows build scripts 2015-08-11 16:44:59 +02:00
README.md Make file names consistent with packaging 2015-08-24 00:03:57 +02:00
RetroShare.pro Make file names consistent with packaging 2015-08-24 00:03:57 +02:00
TODO.txt Fixed layout of the ServicePermissionsPage 2015-08-08 22:46:31 +02:00

RetroShare

RetroShare is a decentralized, private and secure commmunication and sharing platform. RetroShare provides filesharing, chat, messages, forums and channels.

Compilation on Linux

  1. Install package dependencies:

    • Debian/Ubuntu
    sudo apt-get install libglib2.0-dev libupnp-dev qt4-dev-tools \
        libqt4-dev libssl-dev libxss-dev libgnome-keyring-dev libbz2-dev \
        libqt4-opengl-dev libqtmultimediakit1 qtmobility-dev \
        libspeex-dev libspeexdsp-dev libxslt1-dev libcurl4-openssl-dev \
        libopencv-dev tcl8.5 libmicrohttpd-dev
    
    • openSUSE
    sudo zypper install gcc-c++ libqt4-devel libgnome-keyring-devel \
        glib2-devel speex-devel libssh-devel protobuf-devel libcurl-devel \
        libxml2-devel libxslt-devel sqlcipher-devel libmicrohttpd-devel \
        opencv-devel speexdsp-devel libupnp-devel
    
    • Arch Linux
    pacman -S base-devel libgnome-keyring libmicrohttpd libupnp libxslt \
        libxss opencv qt4 speex sqlcipher
    
  2. Checkout the source code

    mkdir ~/retroshare
    cd ~/retroshare 
    git clone https://github.com/RetroShare/RetroShare.git trunk
    
  3. Compile

    cd trunk
    qmake CONFIG=debug PREFIX=/usr
    make
    
  4. Install

    sudo make install
    

    The executables produced will be: /usr/bin/RetroShare06 /usr/bin/RetroShare06-nogui

If libsqlcipher is not available as a package

You need to place sqlcipher so that the hierarchy is:

  retroshare
      |
      +--- trunk
      |
      +--- lib
            |
            +---- sqlcipher
mkdir lib
cd lib
git clone git://github.com/sqlcipher/sqlcipher.git
cd sqlcipher
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
make
cd ..

Using retroshare-nogui & webUI

The webUI needs to be enabled as a parameter option in retroshare-nogui:

./retroshare-nogui --webinterface 9090 --docroot /usr/share/RetroShare06/webui/

The webUI is only accessible on localhost:9090 (unless you canged that option in the GUI). It is advised to keep it that way so that your RS cannot be controlled using an untrusted connection.

To access your web UI from a distance, just open a SSH tunnel on it:

distant_machine:~/ >  ssh rs_host -L 9090:localhost:9090 -N

"rs_host" is the machine running retroshare-nogui. Then on the distant machine, access your webUI on

  http://localhost:9090

That also works with a retroshare GUI of course.