RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Find a file
csoler 06c2fd3947
Merge pull request #2955 from defnax/stylefix2
Fixed frame to get styled on system theme (Win/MacOS)
2025-07-07 21:56:56 +02:00
.reuse
build_scripts Update macports 2025-06-14 16:21:32 +02:00
data
jsonapi-generator
libbitdht@2ddc86fb57
libretroshare@ac83e00ea7
LICENSES
openpgpsdk@178aa8ebce
plugins
retroshare-friendserver/src
retroshare-gui Merge pull request #2955 from defnax/stylefix2 2025-07-07 21:56:56 +02:00
retroshare-service
retroshare-webui@edfc638a6a
supportlibs
tests
.gitignore
.gitlab-ci.yml
.gitmodules
.travis.yml
appveyor.yml
COPYING
README.asciidoc
retroshare.pri
RetroShare.pro

// SPDX-FileCopyrightText: Retroshare Team <contact@retroshare.cc>
// SPDX-License-Identifier: CC-BY-SA-4.0

= RetroShare

RetroShare is a decentralized, private, secure, cross-platform, communication
toolkit.
RetroShare provides file sharing, chat, messages, forums, channels and more.

|===============================================================================
| Developer Documentation | image:https://deepwiki.com/badge.svg[link="https://deepwiki.com/RetroShare/RetroShare",title="Ask DeepWiki"]
|===============================================================================
.Build Status
|===============================================================================
|GNU/Linux (via Gitlab CI) | image:https://gitlab.com/RetroShare/RetroShare/badges/master/pipeline.svg[link="https://gitlab.com/RetroShare/RetroShare/-/commits/master",title="pipeline status"]
|Windows (via AppVeyor) | image:https://ci.appveyor.com/api/projects/status/github/RetroShare/RetroShare?svg=true[link="https://ci.appveyor.com/project/RetroShare58622/retroshare"]
|macOS, (via Travis CI) | image:https://app.travis-ci.com/RetroShare/RetroShare.svg?branch=master[link="https://app.travis-ci.com/github/RetroShare/RetroShare"]
|libretroshare GNU/Linux, Android (via Gitlab CI) | image:https://gitlab.com/RetroShare/libretroshare/badges/master/pipeline.svg[link="https://gitlab.com/RetroShare/libretroshare/-/commits/master",title="pipeline status"]
|===============================================================================

== Get the source

Clone this repository, enter the directory and then get the submodules with the
following command

[source,bash]
--------
git submodule update --init --remote --force libbitdht/ libretroshare/ openpgpsdk/
--------


== Compilation

Short of comprehensive and updated documentation on how to build RetroShare
(for the many supported platforms it runs on), scripts and recipes are provided
in the aim of creating packages for the supported platforms (and more)
in the `build_scripts` directory of this repository.

Those packaging receipts together with the continuous integration files
`.travis.yml` and `appveyor.yml` are a good source of knowledge on how to
compile RetroShare on different platforms.


== Using RetroShare on a headless computer with web UI

WARNING: This section is outdated need to be adapted to the new web UI

The web UI needs to be enabled as a parameter option to the retroshare-service:

[source,bash]
--------
./retroshare-nogui --webinterface 9090 --docroot /usr/share/retroshare/webui/
--------

The web UI 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 to it:

[source,bash]
--------
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 web UI on 


      http://localhost:9090

(This can also be done from the RetroShare GUI.)