OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Peergos

End-to-end encrypted peer-to-peer storage, sharing and sync that hides file names and contacts

Open source alternative to

Visit PeergosGitHubDocumentation

Main features

  • Client-side encryption of contents, file names, sizes and folder structure
  • Sharing with other users without exposing who shares with whom
  • Secret links with expiry, password, use limits or write access
  • Two-way folder sync that uploads only the changed parts of large files
  • Drive mount on Windows, Linux and Android, plus a WebDAV bridge
  • Sandboxed apps for photos, documents, spreadsheets, calendar and PDFs
  • Calendars and contacts over CalDAV and CardDAV
  • Log in from any device with a username and password
  • Post-quantum hybrid encryption for shared files
  • Optional S3-compatible storage backend

What Peergos does

Peergos is a file storage, sharing and sync system built so that the server never sees your data. Files are encrypted on your device before they leave it, and so are their names, sizes and folder structure, and the list of people you share with. On top of the encrypted file system it offers a web interface, desktop and mobile apps, two-way folder sync, drive mounting and a set of sandboxed apps for photos, documents, spreadsheets, calendars and PDFs.

Sync works in both directions between a local folder and a Peergos folder, optionally including deletions, and for large files it uploads only the chunks that changed. On Windows, Linux and Android your Peergos space can be mounted as a normal drive that decrypts files as you open them. Calendars and contacts sync to phone apps and Thunderbird over CalDAV and CardDAV.

Sharing happens in two ways. Other Peergos users send each other encrypted follow requests and then share directly. For everyone else there are secret links, which can have an expiry date, a password, a limited number of uses or write access. The decryption key in a link sits after the #, so it is not sent to the server.

Security and encryption

Encryption uses TweetNaCl on the user’s machine. Each 5 MiB chunk of a file is encrypted separately, and every file or folder gets two random symmetric keys; the project deliberately avoids convergent encryption because it leaks information. Logging in derives keys from your username and password with scrypt, so you can sign in from any device without moving key files. Private keys never leave the client, and both servers and storage (IPFS or S3) are treated as untrusted. File access control follows the cryptree design, extended to hide more metadata.

Files you have not shared rely only on hashing and symmetric encryption, which the project considers resistant to quantum attacks. For sharing, the website says Peergos uses a hybrid of X25519 and ML-KEM-1024. Security audits by Cure53 and Radically Open Security are published in full in the repository. The project’s tech book warns that some documented features are not implemented yet, notably onion routing, so Peergos does not provide anonymity today.

Self-hosting Peergos

A self-hosted server runs as a Java application (Java 25 or later) or from the Docker image, and stores data in a local folder or an S3-compatible bucket. New accounts need single-use signup tokens, and each user gets 1 GiB by default unless you set a larger quota.

The server you sign up on keeps your data, so it should be always on, ideally with a public IP address. Exposing the web interface publicly needs a domain and a TLS certificate that also covers a wildcard subdomain for the apps, usually behind nginx. Without a domain, you can still log in from another Peergos instance over peer-to-peer TLS 1.3 connections, and on a home network the desktop app can connect over plain HTTP to private addresses.

Hosted version

Peergos runs a paid hosted server at peergos.net, and the website says there is no free tier. Because the network is peer-to-peer, an account can start on peergos.net and later be served from your own machine.

Limitations

Peergos is built for privacy first, so it has fewer administration features for organizations than Nextcloud or Seafile. Public self-hosting needs wildcard TLS and an always-on server. Browsers only allow apps on HTTPS or localhost pages, so on a LAN you should use the desktop app. Onion routing and anonymity are not available yet.

Who it suits

Peergos fits individuals, families and small groups who want a Dropbox-style drive where neither the host nor the developers can see what they store or who they share with.

License details

AGPL-3.0. The server and the client are both open source; the hosted peergos.net service is paid.

Technical details

Self-hosting needs

  • Java 25+

Built with

  • Java
  • Vue.js

GitHub topics

  • cryptography
  • decentralized
  • documents
  • encrypted
  • encryption
  • end-to-end-encryption
  • ipfs
  • ipld
  • java
  • libp2p
  • p2p
  • peer-to-peer
  • photos
  • post-quantum

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.