RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Find a file
2025-07-29 18:32:48 +02:00
.reuse
build_scripts MSYS2: Use date of last git commit instead of current date for packed filename 2025-07-29 18:31:22 +02:00
data Desktop file remove 'Application' 2025-05-31 18:28:47 +02:00
jsonapi-generator
libbitdht@2ddc86fb57
libretroshare@ac83e00ea7 updated submodules to latest commit 2025-05-30 20:54:40 +02:00
LICENSES Improve license according to REUSE 3.0 2019-12-18 17:57:20 +01:00
openpgpsdk@178aa8ebce updated submodules to latest commit 2025-05-30 20:54:40 +02:00
plugins Replaced deprecated QDateTime::toTime_t by QDateTime::toSecsSinceEpoch 2025-07-29 18:32:31 +02:00
retroshare-friendserver/src
retroshare-gui Removed usage of deprecated QSysInfo::WindowsVersion 2025-07-29 18:32:48 +02:00
retroshare-service Desktop file remove 'Application' 2025-05-31 18:28:47 +02:00
retroshare-webui@edfc638a6a
supportlibs fixed restbed to stick to commit 6001a322809b5005b8bcccdf593fdda6f0173691 2025-07-07 23:37:29 +02:00
tests Moved compiler flags for warnings to retroshare.pri 2022-01-04 00:33:04 +01:00
.gitignore
.gitlab-ci.yml More attempts at fixing GitlabCI 2023-11-27 02:08:21 +01:00
.gitmodules updated submodules to latest 2025-06-05 23:22:57 +02:00
.travis.yml
appveyor.yml
COPYING Add COPYING 2020-04-01 16:35:22 +02:00
README.asciidoc Added deepwiki badge 2025-06-04 21:13:22 +02:00
retroshare.pri Build libretroshare on Windows as shared library 2025-07-16 17:25:57 +02:00
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.)