92f90178c4
Avoid the need of dirty patching to set the version at build time In case RS version is not passed as argument attempt to determine it using git describe, if unavailable use hardcoded default |
||
---|---|---|
build_scripts | ||
data | ||
jsonapi-generator | ||
libbitdht/src | ||
libresapi/src | ||
libretroshare/src | ||
msys2_build_libs | ||
openpgpsdk/src | ||
plugins | ||
rapidjson-1.1.0 | ||
retroshare-android-notify-service/src | ||
retroshare-android-service/src | ||
retroshare-gui/src | ||
retroshare-nogui/src | ||
retroshare-qml-app/src | ||
supportlibs | ||
tests | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
android-prepare-toolchain.sh | ||
appveyor.yml | ||
build-all-mingw32make.bat | ||
LICENSE.txt | ||
MacOS_X_InstallGuide.md | ||
README-Android.asciidoc | ||
README.md | ||
retroshare.pri | ||
RetroShare.pro | ||
Start_RetroShare-Gui_Debug.bat | ||
TODO.circles.txt | ||
TODO.txt | ||
WindowsMSys2_InstallGuide.md |
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) | |
Windows, MSys2 (via appveyor) |
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
-
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 rapidjson-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 rapidjson
- Arch Linux
pacman -S base-devel libgnome-keyring libmicrohttpd libupnp libxslt \ libxss opencv qt4 speex speexdsp sqlcipher rapidjson
-
Checkout the source code
mkdir ~/retroshare cd ~/retroshare git clone https://github.com/RetroShare/RetroShare.git trunk
-
Compile
cd trunk qmake CONFIG+=debug make
-
Install
sudo make install
The executables produced will be:
/usr/bin/retroshare /usr/bin/retroshare-nogui
-
Uninstall:
sudo make uninstall
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/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