GithubHelp home page GithubHelp logo

aral / retroshare Goto Github PK

View Code? Open in Web Editor NEW

This project forked from retroshare/retroshare

1.0 1.0 0.0 98.81 MB

RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform. (upstream Repository)

Home Page: https://retroshare.github.io/

License: GNU General Public License v2.0

QMake 1.11% Batchfile 0.37% Shell 0.30% Makefile 0.41% Python 0.01% NSIS 0.82% XSLT 0.01% C++ 85.42% C 8.39% CSS 0.23% JavaScript 1.05% HTML 0.76% Rascal 0.01% QML 0.81% Java 0.09% Perl 0.03% Visual Basic 0.01% Roff 0.19%

retroshare's Introduction

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

retroshare's People

Contributors

asamk avatar babushkaretroshare avatar bryonglodencissp avatar cavebeat avatar chelovechishko avatar chozabu avatar crhode avatar cristeab avatar csoler avatar dartraiden avatar defnax avatar electron128 avatar ericthefish avatar felisucoibi avatar g10h4ck avatar gottox avatar heini avatar hunbernd avatar kdebiec avatar merkeld avatar mestaritonttu avatar mr-alice avatar myfingerhurt avatar phenomretroshare avatar ppjet6 avatar realityfabric avatar retropooh avatar sehraf avatar thunder2 avatar zeners avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.