Gioacchino Mazzurco 39bde58c29
Many serialization and related stuff improvements
Fix bug in array-like containers serialization which could cause almost infinite
  loop on malformed input
Implement VLQ integer serialization
Unify sequence containers serialization code
Add support for VLQ serialization also for string size
Use VLQ compression for file links
Add templated function to fix endiannes for all integer types
Use bitset to print flags in binary form
Unify serialization code for integral types
Serialize 64bit integers types to JSON object with both string and integer
  representation, so it is posible to have this representation also for
  containers types like std::vetor or std::map this breaks retrocompatibility
  but is necessary to support clients written in languages which doesn't have
  64 bit integers support such as JavaScript or Dart
2020-04-14 12:17:01 +02:00
2020-04-08 12:10:07 +02:00
2020-04-01 16:35:22 +02:00
2020-04-08 12:10:06 +02:00

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

.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"]
|GNU/Linux, macOS, (via Travis CI) | image:https://travis-ci.org/RetroShare/RetroShare.svg?branch=master[link="https://travis-ci.org/RetroShare/RetroShare"]
|Windows (via AppVeyor) | image:https://ci.appveyor.com/api/projects/status/github/RetroShare/RetroShare?svg=true[link="https://ci.appveyor.com/project/RetroShare58622/retroshare"]
|===============================================================================


== 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.)
Description
RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Readme 198 MiB
Languages
C++ 85.6%
C 7%
QMake 1.7%
HTML 1.4%
NSIS 1%
Other 3.1%