RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Go to file
Phenom b13292bb80 Fix error reported by CppChecker:
/libretroshare/src/gxs/rsgenexchange.cc:2850: erreur : Cppcheck:
Dereferencing 'grp' after it is deallocated / released
/libretroshare/src/gxstunnel/p3gxstunnel.cc:1004: erreur : Cppcheck:
Invalid usage of output stream: '<< std::cerr'.
/libretroshare/src/util/contentvalue.cc:185: erreur : Cppcheck: Memory
leak: dest
/openpgpsdk/src/openpgpsdk/reader_armoured.c:575: erreur : Cppcheck:
Common realloc mistake: 'buf' nulled but not freed upon failure
/retroshare-gui/src/gui/FileTransfer/DLListDelegate.cpp:103: erreur :
Cppcheck: Array 'byteUnits[4]' accessed at index 4, which is out of
bounds.
/retroshare-gui/src/gui/FileTransfer/DLListDelegate.cpp:122: erreur :
Cppcheck: Array 'byteUnits[4]' accessed at index 4, which is out of
bounds.
/retroshare-gui/src/gui/FileTransfer/DLListDelegate.cpp:141: erreur :
Cppcheck: Array 'byteUnits[4]' accessed at index 4, which is out of
bounds.
/retroshare-gui/src/gui/FileTransfer/ULListDelegate.cpp:92: erreur :
Cppcheck: Array 'byteUnits[4]' accessed at index 4, which is out of
bounds.
/retroshare-gui/src/gui/FileTransfer/ULListDelegate.cpp:111: erreur :
Cppcheck: Array 'byteUnits[4]' accessed at index 4, which is out of
bounds.
/retroshare-gui/src/gui/People/PeopleDialog.cpp:774: erreur : Cppcheck:
Uninitialized variable: layout
/retroshare-gui/src/gui/People/PeopleDialog.cpp:864: erreur : Cppcheck:
Uninitialized variable: layout
/retroshare-gui/src/gui/common/AvatarWidget.cpp:225: erreur : Cppcheck:
Uninitialized variable: status
/retroshare-nogui/src/rpc/proto/rpcprotostream.cc:805: erreur :
Cppcheck: Memory leak: buffer
/supportlibs/pegmarkdown/GLibFacade.c:150: erreur : Cppcheck: va_list
'args' was opened but not closed by va_end().
/openpgpsdk/src/openpgpsdk/reader_armoured.c:575: erreur : Cppcheck:
Common realloc mistake: 'buf' nulled but not freed upon failure
/tests/unittests/libretroshare/serialiser/rsturtleitem_test.cc:213:
erreur : Cppcheck: Return value of allocation function 'init_item' is
not stored.
2016-03-20 13:12:30 +01:00
build_scripts updated ubuntu changelog 2016-03-06 20:26:46 -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 Merge pull request #206 from realityfabric/master 2016-02-16 17:45:49 -05:00
libresapi/src Merge pull request #218 from csoler/v0.6-ContactList 2015-12-23 18:07:10 -05:00
libretroshare/src Fix error reported by CppChecker: 2016-03-20 13:12:30 +01: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 Fix error reported by CppChecker: 2016-03-20 13:12:30 +01:00
plugins Updated languages from Transifex 2016-02-05 20:04:46 +01:00
retroshare-gui/src Fix error reported by CppChecker: 2016-03-20 13:12:30 +01:00
retroshare-nogui/src Fix error reported by CppChecker: 2016-03-20 13:12:30 +01:00
rsctrl/src updated ubuntu changelog 2015-09-21 22:58:58 -04:00
supportlibs/pegmarkdown Fix error reported by CppChecker: 2016-03-20 13:12:30 +01:00
tests Fix error reported by CppChecker: 2016-03-20 13:12:30 +01: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 attempt to fix output redirect for unittests in travis 2016-02-13 11:55:27 +01: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.txt Update MacOS_X_InstallGuide.txt 2015-12-26 17:20:54 +01:00
README.md fix format in readme 2016-02-21 11:23:33 +01:00
retroshare.pri Fix compilation for plugins but miss RetroShare-gui library linking. 2015-12-26 17:20:54 +01:00
RetroShare.pro - make tests compile 2016-02-13 11:55:25 +01: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-24 21:51:34 +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. 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