Skip to content
RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform. (upstream Repository)
C++ C QMake JavaScript NSIS HTML Other
Latest commit c14c240 Apr 17, 2016 @csoler csoler fixed update of circles GUI using a timer. This is not optimal, and s…
…hould be replaced by a proper notify call
Failed to load latest commit information.
build_scripts Add trailing semi-colon to MimeType in .desktop files Apr 16, 2016
data Add trailing semi-colon to MimeType in .desktop files Apr 16, 2016
libbitdht/src removed some debug info Apr 15, 2016
libresapi/src Fix Escaped characters in WebUI. Apr 9, 2016
libretroshare/src fixed update of circles GUI using a timer. This is not optimal, and s… Apr 17, 2016
msys2_build_libs Fix MSys 32b depends and Add a specific MSys2 Makefile to compile Oct 17, 2015
openpgpsdk/src Merge pull request #305 from realityfabric/openssl_crypto_infinite_loop Apr 4, 2016
plugins Updated languages from Transifex Feb 5, 2016
retroshare-gui/src fixed update of circles GUI using a timer. This is not optimal, and s… Apr 17, 2016
retroshare-nogui/src Fix error reported by CppChecker: Mar 20, 2016
rsctrl/src updated ubuntu changelog Sep 21, 2015
supportlibs/pegmarkdown Fix error reported by CppChecker: Mar 20, 2016
tests Fix UnitTests Compilation Apr 4, 2016
win_build_libs Make VOIP running with newer FFmpeg version. Oct 17, 2015
.gitignore undo gitignore Mar 22, 2016
.travis.yml attempt to fix output redirect for unittests in travis Feb 13, 2016
LICENSE.txt Update and rename license.txt to LICENSE.txt Dec 15, 2015
MacOS_X_InstallGuide.txt Update MacOS_X_InstallGuide.txt Dec 26, 2015
README.md fix format in readme Feb 21, 2016
RetroShare.pro - make tests compile Feb 13, 2016
Start_RetroShare-Gui_Debug.bat Fix Windows 7 32b Compilation from scratch. Oct 17, 2015
TODO.circles.txt updated TODO Mar 20, 2016
TODO.txt update todo Feb 24, 2016
WindowsMSys2_InstallGuide.txt Add MSys2 Install Guide Oct 17, 2015
build-all-mingw32make.bat Fix Windows 7 32b Compilation from scratch. Oct 17, 2015
retroshare.pri Fix compilation for plugins but miss RetroShare-gui library linking. Dec 26, 2015

README.md

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 libsqlcipher-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 libavcodec-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
    make
  4. Install

    sudo make install

    The executables produced will be:

     /usr/bin/RetroShare06
     /usr/bin/RetroShare06-nogui
    

Compile only retroshare-nogui

If you want to run RetroShare on a server and don’t need the gui and plugins, you can run the following commands to only compile/install the nogui version:

qmake
make retroshare-nogui
sudo make retroshare-nogui-install_subtargets

For packagers

Packagers can use PREFIX and LIB_DIR to customize the installation paths:

qmake PREFIX=/usr LIB_DIR=/usr/lib64 "CONFIG-=debug" "CONFIG+=release"
make
make INSTALL_ROOT=${PKGDIR} install

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

Compile and run tests

  qmake CONFIG+=tests
  make
  tests/unittests/unittests
Something went wrong with that request. Please try again.