RetroShare

retroshare.cc
RetroShare

Secure group communications, with the option to be used over Tor or I2P. Fast intuitive group and 1-to-1 chats with text and rich media using decentralized chat rooms, with a mail feature for delivering messages to offline contacts. A channels feature makes it possible for members of different teams to stay up-to-date with each other, and to share files. Also includes built-in forums, link aggregations, file sharing and voice and video calling. RetroShare is a bit more complex to use than some alternatives, and the UI is quite retro, so may not be appropriate for a non-technical team.

Open Source

RetroShare Source Code

Author

RetroShare

Description

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

Homepage

https://retroshare.cc/

License

NOASSERTION

Created

31 Jul 15

Last Updated

12 Jul 26

Latest version

v0.6.7.3

Primary Language

C++

Size

135,561 KB

Stars

1,994

Forks

321

Watchers

1,994

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • csoler (08 Jul 26)

    Merge pull request #3258 from csoler/v0.6-IdentityDialog3 added warning for identities using deprecated signature format

  • csoler (07 Jul 26)

    Merge pull request #3252 from jolavillette/FilterChatSystemMessages filter joined/left system messages in chat rooms

  • jolavillette (11 May 26)

    filter joined/left system messages in chat rooms

  • Gioacchino Mazzurco (05 Jul 26)

    Merge pull request #3265 from jolavillette/fix/gui-own-version-macros fix(gui): give RetroShare GUI its own version, independent from libretroshare

  • csoler (04 Jul 26)

    Merge pull request #3264 from jolavillette/gxstrans-normalize-date-format Gxstrans normalize date format

  • jolavillette (04 Jul 26)

    fix(gui): give RetroShare GUI its own version, independent from libretroshare The GUI reported RS_HUMAN_READABLE_VERSION (a libretroshare macro) as "the RetroShare version". In the CMake build libretroshare exports RS_MAJOR_VERSION as a PUBLIC define, so the GUI inherited the engine's version and displayed it as its own: About showed the same number for both. Give the GUI its own version, as discussed: - Add retroshare-gui/src/rsguiversion.h defining RS_GUI_VERSION with a built-in default, so every build path (including qmake/Android) compiles even without version injection. - Inject RS_GUI_VERSION from 'git describe' of the super-project in both CMake (retroshare-gui/CMakeLists.txt) and qmake (retroshare.pri). - RsApplication::retroshareVersion() now returns the GUI's own version instead of libretroshare's. - About (HelpDialog) shows the GUI version at the top; libretroshare's version is listed among the other libraries, like any dependency. AboutWidget already displayed both lines and is now correct automatically. libretroshare needs no change: it already exposes its own version through RsInit::libRetroShareVersion() in both build systems. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • jolavillette (04 Jul 26)

    gui: replace GxsTransportStatistics 4s auto-refresh with manual Refresh The RsAutoUpdatePage(4000) base class polled getGroupStatistics() every 4 seconds. That call issues blocking GXS token requests (up to 5s per group) and had no anti-reentrancy guard, so background refreshes piled up, saturated the GXS queue and froze the whole UI. Revert to MainPage and drive updates on demand instead: - a Refresh button - showEvent(), so the page refreshes when navigated to - settingsChanged(), kept so a date-format change re-renders Date normalization (formatDateTime) is preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • jolavillette (26 May 26)

    gui: format dates in GxsTransportStatistics using DateTime and enable auto-update

  • csoler (03 Jul 26)

    Merge pull request #3261 from RetroShare/revert-3254-colored-links-v5 Revert "Added colored links feature"

  • csoler (03 Jul 26)

    Revert "Added colored links feature"

  • csoler (03 Jul 26)

    Merge pull request #3254 from defnax/colored-links-v5 Added colored links feature

  • csoler (03 Jul 26)

    Merge pull request #3256 from jolavillette/fix/shared-files-popular-files-crash fix(SharedFiles): stop SIGSEGV when toggling "Popular files" after a search

  • csoler (03 Jul 26)

    added a warning for channels to be re-edited due to admin signature checking problem

  • csoler (02 Jul 26)

    added warning for identities using deprecated signature format

  • jolavillette (02 Jul 26)

    fix(SharedFiles): stop SIGSEGV when toggling "Popular files" after a search Searching a keyword and then clicking "Popular files" crashed in QSortFilterProxyModel::parent() (via rowsAboutToBeRemoved). SFDSortFilterProxyModel::setUploadedOnly() called invalidateFilter(), which runs Qt's incremental filter_changed row-removal path over the currently-mapped tree. After a search the tree is fully expanded and carries live persistent proxy indexes; removing an interior directory node frees the child mapping structs those indexes still point at, and the removal bookkeeping then dereferences freed memory -> SIGSEGV. The plain-search path never crashed because it is always preceded by a full model reset; the "Popular files" toggle was the only path that re-filtered without one (deliberately, to avoid a slow re-crawl). Use invalidate() instead: it rebuilds the whole proxy mapping via the layoutAboutToBeChanged/layoutChanged protocol, which remaps persistent indexes safely and never emits rowsAboutToBeRemoved. It rebuilds only the proxy mapping (lazy, near-instant) and does not re-crawl the source model, so the performance the toggle path was protecting is preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • defnax (27 Jun 26)

    fix qt6 compile

  • defnax (27 Jun 26)

    Fix qt6 compile

  • defnax (27 Jun 26)

    Added colored links feature Fixed to not send the color, only locally

  • csoler (25 Jun 26)

    Merge pull request #3245 from jolavillette/fix/qt6-qdatetime-settime_t Qt6: replace removed QDateTime::setTime_t() with setSecsSinceEpoch()

  • csoler (24 Jun 26)

    Merge pull request #3241 from jolavillette/fix/rsgraphwidget-area-fill fix(gui): RSGraphWidget area fill — close polygon on a flat baseline

  • csoler (23 Jun 26)

    Merge pull request #3231 from jolavillette/fix/macos-camera-mic-permissions fix(macos): add camera & microphone usage descriptions to Info.plist

  • csoler (22 Jun 26)

    Merge pull request #3240 from csoler/v0.6-FeedItem2 Add a TLS attempt item to display connections without certificates in a separate more appropriate item.

  • jolavillette (20 Jun 26)

    fix(gui): replace QDateTime::setTime_t with setSecsSinceEpoch for Qt6 QDateTime::setTime_t() was deprecated in Qt 5.8 and removed in Qt6. setSecsSinceEpoch() exists since Qt 5.8 so the GUI keeps building against both Qt5 and Qt6. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • jolavillette (06 Jun 26)

    fix(macos): add camera & microphone usage descriptions to Info.plist macOS 10.14+ terminates the app with SIGABRT when it accesses the camera or microphone without the matching usage-description keys in the bundle's Info.plist. Any VOIP audio/video call therefore crashes on macOS as soon as the capture device is opened (AVCaptureDeviceInput via QVideoInputDevice::start()). Add NSCameraUsageDescription and NSMicrophoneUsageDescription so the system shows the standard permission prompt instead of aborting the process. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • csoler (19 Jun 26)

    updated CMakeLists to TLSItem

  • jolavillette (18 Jun 26)

    fix(gui): RSGraphWidget area fill — close polygon on a flat baseline The PLAIN (area) paint style closed the fill polygon by prepending only the bottom-right corner, so the polygon's closing edge ran from the bottom-right corner straight to the leftmost data point. Whenever that leftmost point was high, this drew a spurious diagonal across the whole graph, with the real curve clipped above and/or below it. Close the area along a flat baseline instead: add a baseline point under the first (leftmost) and last (rightmost) data points, guarded on a non-empty set. This affects every area-style RSGraph, but it is most visible in the VOIP plugin's config-panel "Required bandwidth" graph: the value swings widely (x264 variable bitrate) so the leftmost point is often high, making the diagonal appear intermittently there. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

  • csoler (17 Jun 26)

    fixed file header

  • csoler (17 Jun 26)

    removed spurious yml file from 3213

  • csoler (17 Jun 26)

    merging with upstream/master

  • csoler (17 Jun 26)

    added TlsItem files

RetroShare Security

4.3/10

Repo Security Summary

Updated 29 Jun 26

  • Maintained 10/10
  • Code-Review 6/10
  • Packaging N/A
  • Dangerous-Workflow 10/10
  • CII-Best-Practices 0/10
  • Token-Permissions 0/10
  • Security-Policy 0/10
  • Binary-Artifacts 8/10
  • License 9/10
  • Fuzzing 0/10
  • Signed-Releases 4/10
  • Branch-Protection 0/10
  • Pinned-Dependencies 3/10
  • SAST 0/10

RetroShare Website

Website

Retroshare

Redirects

Does not redirect

Security Checks

1 security checks failed (64 passed)

  • Top-Level Domain Highly Abused

Server Details

  • IP Address 185.199.108.153
  • Hostname cdn-185-199-108-153.github.com
  • Location California, Pennsylvania, United States of America, NA
  • ISP GitHub Inc.
  • ASN AS54113

Associated Countries

  • FR FR
  • US US

Safety Score

Website marked as risky

70%

Blacklist Check

retroshare.cc was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

RetroShare Reviews

More Team Collaboration

  • Privacy-focused messenger using the Matrix protocol. The Element client allows for group chat rooms, media sharing voice and video group calls.

  • An IRC-based solution is another option, being decentralized there is no point of failure, and it's easy to self-host. However it's important to keep security in mind while configuring your IRC instance and ensure that channels are properly encrypted - IRC tends to be better for open communications. There's a variety of clients to choose from - popular options include: The Longe (Web-based), HexChat (Linux), Pidgin (Linux), WeeChat (Linux, terminal-based), IceChat (Windows), XChat Aqua (MacOS), Palaver (iOS) and Revolution (Android).

  • Mattermost has an open source edition, which can be self-hosted. It makes a good Slack alternative, with native desktop, mobile and web apps and a wide variety of integrations.

  • Easy-to-deploy, self-hosted team collaboration platform with stable, feature-rich cross-platform client apps. The UI is fast, good looking and intuitive, so very little technical experience is needed for users of the platform. Rocket.Chat's feature set is similar to Slack's, making it a good replacement for any team looking to have greater control over their data.

  • Open source team chat organized around topic-based threading, which keeps busy conversations easier to follow than channel-only tools. Can be self-hosted, or used as a paid cloud service. The threading model takes some getting used to.

About the Data: RetroShare

API

You can access RetroShare's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/retroshare

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share RetroShare

Help your friends compare Team Collaboration, and pick privacy-respecting software and services.
Share RetroShare and Awesome Privacy with your network!

View Team Collaboration (6)