RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Go to file
Gioacchino Mazzurco 5cdc5aa58d Add automatic JSON serialization/deserialization
Abstract serialization concept to pure virtaul class RsSerializable
  from which every other serializable class must inherit from
Use RapidJSON for JSON manipulation
Add TO_JSON and FROM_JSON SerializeJob
Deprecate unused SerializationFormat
Remove some unused old piece of code
Adjust many lines to max 80 columns for better readability on little
  screens
Clean up documentation and code, remove old cruft
Add copyright notice on edited files that miss it
2018-01-16 03:31:03 +01:00
build_scripts updated changelog 2017-12-24 10:36:08 +01:00
data Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
libbitdht/src removed debug info. Added explaination about the new method 2017-11-01 20:31:49 +01:00
libresapi/src Merge pull request #1063 from PhenomRetroShare/Fix_BlankPageWhenClearLobbyInWebInterface 2017-11-01 20:35:29 +01:00
libretroshare/src Add automatic JSON serialization/deserialization 2018-01-16 03:31:03 +01:00
msys2_build_libs Fixed MSYS2AUTOMAKE path in msys2_build_libs/Makefile 2016-08-12 14:14:09 +02:00
openpgpsdk/src added two additional non packward compatible changes for future version 0.7, and improvements of verifications of certificate signatures 2017-11-19 18:21:56 +01:00
plugins Fix TravisCI on MacOS compilation. 2017-12-12 19:39:04 +01:00
retroshare-android-notify-service/src Open chat when click notification of one chat new message 2017-07-31 17:42:45 +02:00
retroshare-android-service/src Changed: Unified socket path across systems. 2017-06-04 22:10:41 +02:00
retroshare-gui/src fixed compilation on ubuntu precise 2017-12-24 12:04:15 +01:00
retroshare-nogui/src Fix CppCheck in notifytxt.cc 2017-11-06 22:20:44 +01:00
retroshare-qml-app/src Add context to debug message 2017-11-01 14:34:01 +01:00
supportlibs/pegmarkdown fix C++ comment to avoid compilation error 2017-08-06 14:27:26 +07:00
tests fixed unnecessary () 2017-07-26 12:27:38 +02:00
.gitignore Simplify QML to work better on both Desktop and Phone 2016-10-26 20:37:28 +02:00
.travis.yml Fix TravisCI on MacOS compilation. 2017-12-12 19:39:04 +01:00
android-prepare-toolchain.sh Fix android compilation with newer Qt 2017-10-16 20:07:52 +02:00
appveyor.yml Fix AppVeyor build by disabling SQLCipher 2017-08-13 14:34:43 +02:00
build-all-mingw32make.bat Fix Windows 7 32b Compilation from scratch. 2015-10-17 12:15:35 +02:00
LICENSE.txt Update and rename license.txt to LICENSE.txt 2015-12-15 09:11:12 -08:00
MacOS_X_InstallGuide.md Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
README-Android.asciidoc Add some documentation on how to debug retroshare on android 2017-12-20 18:24:28 +01:00
README.md Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
retroshare.pri Don't Set Target and SDK if not MacOS 2017-12-17 16:48:53 +01:00
RetroShare.pro Avoid linking libretroshare in qml app and notify 2017-04-18 23:14:44 +02:00
Start_RetroShare-Gui_Debug.bat Rename retroshare06 to retroshare 2017-07-17 10:45:18 +02:00
TODO.circles.txt updated TODO 2016-03-20 22:23:32 -04:00
TODO.txt update todo 2016-02-24 21:51:34 +01:00
WindowsMSys2_InstallGuide.md Fix Travis MacOS compilation since speex 1.2 split. 2017-01-04 21:13:45 +01:00

RetroShare

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

Build Status

Platform Build Status
GNU/Linux, MacOS, (via travis-ci) Build Status
Windows, MSys2 (via appveyor) Build status

Compilation on Windows

Follow this file : WindowsMSys2_InstallGuide.md

Compilation on MacOSX

Follow this file : MacOS_X_InstallGuide

Compilation for Android

Follow this file : README-Android

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 speexdsp 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/retroshare
      /usr/bin/retroshare-nogui
    
  5. Uninstall:

    sudo make uninstall
    

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/retroshare/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