Peergos

A peer-to-peer end-to-end encrypted global filesystem with fine grained access control. Provides a secure and private space online where you can store, share and view your photos, videos, music and documents. Also includes a calendar, news feed, task lists, chat and email client. Fully open source and self-hostable (or use hosted solution, from £5/month for 100 GB).

Open Source

Peergos Source Code

Author

Peergos

Description

A p2p, secure file storage, social network and application protocol

#cryptography#decentralized#documents#encrypted#encryption#end-to-end-encryption#ipfs#ipld#java#libp2p#p2p#peer-to-peer#photos#post-quantum#privacy#security#self-authenticated-protocol#social-network#storage

Homepage

https://peergos.org

Repository

  • LicenseAGPL-3.0
  • Created23 Aug 13
  • Primary languageJava
  • Size1,016,462 KB
  • Stars2,536
  • Forks203
  • Watchers2,536

Language Usage

Language Usage

Project Health

  • Last commit1 day ago
  • Open issues92

Recent Commits

  • Dr Ian Preston(17 Oct 26)

    Merge pull request #1494 from Peergos/sync-retry-429 Retry bulk commits refused with a 429 and show rate limits readably in sync

  • Ian Preston(16 Oct 26)

    Fix gwtc: TooManyRequestsException's JsConstructor must delegate to RateLimitException's

  • Ian Preston(16 Oct 26)

    Retry bulk commits refused with a 429 and show rate limits readably in sync A bulk delete or move in a synced dir sends one large bulk commit per folder. On an S3 backed server that can push the block flush queue past its limit, so the next commit gets a 429. Bulk commits were never retried, so the sync pass failed with the bare class name as its status. A 429 is now a TooManyRequestsException, which bulkCommit retries since the server refuses it before setting any pointer. A 429 naming a per user or server wide limit becomes a MajorRateLimitException with its message, as in the browser.

  • Dr Ian Preston(16 Oct 26)

    Merge pull request #1493 from Peergos/feat/lan-server Support logging in over LAN

  • Ian Preston(16 Oct 26)

    Let the desktop app use a plain http server on the local network Plain http was only accepted for loopback servers, both at startup and when saving a server in the app. Accept private network addresses too, and talk to them with POSTs, as such a server is not a public one. Print a localhost signup link when listening on every interface, and document LAN login.

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1492 from Peergos/feat/macos-dav Add calendar and contacts sync on macOS and support PROPPATCH on DAV collections

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1491 from Peergos/deps/security-refresh Upgrade bundled dependencies

  • Ian Preston(15 Oct 26)

    Offer calendar and contacts sync on macOS and support PROPPATCH on DAV collections

  • Ian Preston(15 Oct 26)

    Upgrade bundled dependencies with known vulnerabilities - nabu v0.9.1: netty 4.2.19 only (drops the 4.1 line), dnsjava 3.6.5, org.json 20260814, commons-io 2.22.0, slf4j 2 - jackson 2.22.3, jline 3.30.17, postgresql 42.7.14, slf4j 2.0.17 - jetty 11.0.23 -> 12.1.14 (ee10), as jetty 11 is end of life A trivy scan of lib goes from 1 critical and 38 high findings to none. Fixes #1486

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1490 from Peergos/fix/default-daemon-port Let a subcommand's own defaults win over its parent's

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1489 from Peergos/fix/windows-test-failures Fix/windows test failures

  • Ian Preston(15 Oct 26)

    Let a subcommand's own defaults win over its parent's Each command applied its defaults before handing off to a subcommand, so the 7777 port the root command uses for the desktop app was set before the daemon's 8000 default could apply. A fresh server started without -port listened on 7777 and saved it to its config. Defaults are now collected down the command tree and applied only by the command that runs. Fixes Peergos/web-ui#850

  • Ian Preston(15 Oct 26)

    Handle names ending in a space on Windows in folder upload, mkdirs and moves These paths went through PathUtil.getUntrimmed, whose java.nio Path rejects a name ending in a space on Windows. Folder upload, getOrMkdirs and the move-to-descendant check now work on the names directly, and a resumed upload's file name keeps its trailing space instead of being trimmed.

  • Ian Preston(15 Oct 26)

    Skip syncing local names with trailing spaces on Windows, which can't create them

  • Ian Preston(15 Oct 26)

    Don't require cleanup to free usage that deleting the writing space already freed Deleting the writing space gives back the partial upload, leaving only the transaction record, which may already be accounted for when usage is read. Check the transaction is cleared and usage doesn't grow instead.

  • Ian Preston(15 Oct 26)

    Fix concurrent keystore commits clashing A commit queued behind another ran against the keystore file from before the first finished, failing with a CAS exception. Each commit now refreshes the file from the snapshot it runs on, and the keystore maps are synchronized as lookups of different users complete on different threads.

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1488 from Peergos/feat/gc-cli gc cli

  • Ian Preston(15 Oct 26)

    Allow the gc api on servers with periodic gc off, and require a token for it Writes are tracked in transactions regardless of enable-gc, so the server always builds a gc and enable-gc only controls the periodic run. The gc api requires a token from a new owner only file in PEERGOS_PATH, so a reverse proxy on the same machine can't forward requests to it.

  • Ian Preston(15 Oct 26)

    Add a gc command that runs gc in the local server, or in process if none is running The server exposes a local only POST api for gc on its user facing port. A gc requested while one is running waits for it instead of starting a second.

  • Dr Ian Preston(15 Oct 26)

    Merge pull request #1487 from Peergos/fix/interrupted-server-init Recover server identity after an interrupted first start

  • Ian Preston(15 Oct 26)

    Recover server identity after an interrupted first start Store the private key when initialising the server identity db, and use the latest db identity when none is supplied via args or the ipfs config file. Fixes #1484

  • Dr Ian Preston(13 Oct 26)

    Merge pull request #1482 from Peergos/fix/sync-bar Include the pass count in bulk and directory sync status lines

  • Ian Preston(13 Oct 26)

    Include the pass count in bulk and directory sync status lines Without it the sync bar went indeterminate part way through a pass.

  • Dr Ian Preston(13 Oct 26)

    Merge pull request #1481 from Peergos/fix/sync-progress Include the sync pass's file count in per MiB transfer progress

  • Dr Ian Preston(13 Oct 26)

    Merge pull request #1478 from Peergos/fix/sync-counters Fix sync file counters in the initial pass

  • Dr Ian Preston(13 Oct 26)

    Merge pull request #1480 from Peergos/fix/quic-swarm-addrs Support quic-v1 multiaddrs in -ipfs-swarm-addrs

  • Ian Preston(13 Oct 26)

    Support quic-v1 multiaddrs in -ipfs-swarm-addrs The shared Protocol enum only knew quic, so an explicit quic-v1 listener aborted startup. Fixes #1477

  • Ian Preston(13 Oct 26)

    Include the pass's file count in per MiB transfer progress Transfer lines replace the sync status, so without the count the UI loses overall progress while a large file is copied.

  • Ian Preston(13 Oct 26)

    Fix sync file counters in the initial pass The initial pass total was local top level files minus all synced files, which undercounted nested folders and could go negative. Use a recursive local file count as the total and count every file the pass visits, including the ones it skips.

  • Dr Ian Preston(13 Oct 26)

    Merge pull request #1475 from arisoik/fix/pending-follow-lost-update Make changes to the pending follow requests one after another

Peergos Security

3.4/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • Code-Review3/10
  • Dangerous-Workflow10/10
  • PackagingN/A
  • Token-Permissions0/10
  • CII-Best-Practices0/10
  • Binary-Artifacts0/10
  • Security-Policy0/10
  • License10/10
  • Signed-ReleasesN/A
  • Branch-ProtectionN/A
  • Fuzzing0/10
  • Pinned-Dependencies0/10
  • SAST0/10

Peergos Website

Website

Peergos

Peergos is post-quantum end-to-end encrypted storage, sharing and sync. Your files, your metadata and who you share with stay private, even from us.

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address172.235.166.251
  • Hostname172-235-166-251.ip.linodeusercontent.com
  • LocationAmsterdam,Noord-Holland,Netherlands (Kingdom of the),EU
  • ISPAkamai Technologies Inc.
  • ASNAS20940

Associated Countries

  • FRFR
  • NLNL

Safety Score

Website marked as safe

100%

Trackers

No known trackers found

Blacklist Check

peergos.org 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

Peergos Android App

APK Info

Trackers

  • Metrics

Permissions

  • Internet
  • Read External Storage
  • Write External Storage
  • Dynamic Receiver Not Exported Permission

Peergos Reviews

More Encrypted Cloud Storage

  • Zero knowledge end-to-end encrypted affordable cloud storage made in Germany. Open-source mobile and desktop apps. 10GB FREE with paid plans starting at €0.92/month for 100GB.

  • Very affordable encrypted storage provider, with cross-platform apps. Starts as £1.50/month for 150 GB or £3.33/month for 1 TB.

  • Store your files in total privacy. Internxt Drive is a zero-knowledge cloud storage service based on best-in-class privacy and security. Made in Spain. Open-source mobile and desktop apps. 10GB FREE and Paid plans starting from €0.99/month for 20GB.

  • GDPR compliant storage (web/desktop/mobile/WebDAV/RClone) with a sensible privacy policy. Has optional open-source client-side encryption, compatible with RClone. Can connect to other cloud services and MS Office. 10GB free, on ISO27001 servers (DE).

  • End-to-end encrypted zero knowledge file storage, syncing and sharing provider, based in Switzerland. The app is cross-platform, user-friendly client and with all expected features. £6.49/month for 500 GB.

About the Data: Peergos

Change History

Edit Peergos Data

You can edit Peergos's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

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

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

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

Share Peergos

Help your friends compare Encrypted Cloud Storage, and pick privacy-respecting software and services.
Share Peergos and Awesome Privacy with your network!