RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Go to file
2016-02-04 20:31:04 -05:00
build_scripts fixed date format in changelog 2016-02-04 20:31:04 -05:00
data Move data dir from build_scripts/ to root and adapt RedHat build files 2015-08-25 00:56:50 +02:00
libbitdht/src added checks after mallocs in several files 2016-01-11 23:49:00 -05:00
libresapi/src Merge pull request #218 from csoler/v0.6-ContactList 2015-12-23 18:07:10 -05:00
libretroshare/src fixed update of GroupNetworkStats and proper reset when loadList is called (thx Jo) 2016-02-03 18:58:28 -05:00
msys2_build_libs Fix MSys 32b depends and Add a specific MSys2 Makefile to compile 2015-10-17 12:15:36 +02:00
openpgpsdk/src added checks after mallocs in several files 2016-01-11 23:49:00 -05:00
plugins Updated english translation 2016-02-02 19:36:35 +01:00
retroshare-gui/src Merge pull request #265 from PhenomRetroShare/Add_SaveOpMode 2016-02-04 20:11:47 +01:00
retroshare-nogui/src Added security hardening flags for ASLR and DEP protection for Windows compile. 2016-01-28 19:02:42 +01:00
rsctrl/src updated ubuntu changelog 2015-09-21 22:58:58 -04:00
supportlibs/pegmarkdown updated ubuntu changelog 2015-09-21 22:58:58 -04:00
tests updated tests and also fixed a few bugs in using random initialisation routines 2015-01-11 22:19:32 +00:00
win_build_libs Make VOIP running with newer FFmpeg version. 2015-10-17 12:15:36 +02:00
.gitignore Remove Thumbs.db files and add to .gitignore 2015-08-27 22:35:28 +02:00
.travis.yml Fix Travis CI compilation by adding libavutil-dev package. 2015-09-04 17:28:45 +02:00
build-all-mingw32make.bat Fix Windows 7 32b Compilation from scratch. 2015-10-17 12:15:35 +02:00
MacOS_X_InstallGuide.txt Update MacOS_X_InstallGuide.txt 2015-12-26 17:20:54 +01:00
README.md corrected compilation inst on openSUSE 2016-01-04 15:25:22 +02:00
retroshare.pri Fix compilation for plugins but miss RetroShare-gui library linking. 2015-12-26 17:20:54 +01:00
RetroShare.pro Disable compiling of pegmarkdown by default, only used for wiki 2015-09-05 09:25:08 +02:00
Start_RetroShare-Gui_Debug.bat Fix Windows 7 32b Compilation from scratch. 2015-10-17 12:15:35 +02:00
TODO.txt update todo 2016-02-04 21:30:23 +01:00
WindowsMSys2_InstallGuide.txt Add MSys2 Install Guide 2015-10-17 12:15:36 +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 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 dont 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 (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.