Peergos: A P2P Secure File Storage, Social Network, and Application Protocol

Summary
Peergos is a peer-to-peer, secure platform designed for private file storage, social networking, and application hosting. It emphasizes user control over data, offering end-to-end encryption and fine-grained access control. Built on a decentralized architecture, Peergos aims to create a private web experience where users are protected from surveillance and data tracking.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Peergos is a groundbreaking peer-to-peer, secure platform that redefines file storage, social networking, and application protocols. It champions the vision of a "private web" where end-users maintain absolute control over their data, free from surveillance and tracking. At its core, Peergos provides an encrypted global filesystem with fine-grained access control, designed to resist data content or friendship graph surveillance. Key features include a secure messenger, an encrypted email client, and a completely private social network, all built on strong cryptographic principles. The name Peergos, derived from the Greek word ?????? (Pyrgos) meaning stronghold or tower, phonetically connects to its peer-to-peer nature, emphasizing its commitment to user data security.
For more in-depth information, explore the official Peergos website and its comprehensive tech book.
Installation
Getting started with Peergos involves running a local instance, which can connect to an existing Peergos account or host a new one.
Prerequisites:
You will need Java Development Kit (JDK) version 21 or higher installed.
Running Locally (Client Mode):
- Download the latest
Peergos.jarrelease from the official releases page. - Execute the daemon:
This will store Peergos data injava -jar Peergos.jar daemon~/.peergosby default. You can then access the web interface and log in viahttp://localhost:8000. In this mode, your local instance proxies writes to your home server and caches accessed blocks.
Self-Hosting (Server Mode):
To run your own Peergos home-server, which is ideal for a publicly routable and always-on machine:
- Download the
Peergos.jaras above. - Run with a token generation flag:
This will provide a single-use signup token for creating new accounts on your server.java -jar Peergos.jar daemon -generate-token true
Docker images are also available for easier deployment:
docker pull ghcr.io/peergos/web-ui:master
docker run --volume $(PEERGOS_PATH):/opt/peergos/data ghcr.io/peergos/web-ui:master daemon -listen-host 0.0.0.0 -public-domain $YOUR_DOMAIN_NAME -log-to-console true
Examples
Peergos offers a robust command-line interface (CLI) for various operations, including an interactive shell.
Interactive Shell:
Connect to a Peergos server and manage your files and social interactions:
java -jar Peergos.jar shell
You will be prompted for the server address, username, and password. Once logged in, you can use commands like help to see available options or put local_path remote_path for uploading files.
Native File Access:
Peergos supports mounting your encrypted storage space natively using FUSE (Filesystem in Userspace) on Linux/macOS or WinFsp on Windows, and also provides a WebDAV bridge for accessing files with any WebDAV compatible client.
Why Use Peergos?
Peergos is built on the principle, "Control your data, control your destiny." It offers a compelling alternative to traditional centralized services by prioritizing user privacy and security through a decentralized architecture.
Key Advantages:
- Ultimate Privacy and Security: End-to-end encryption ensures that your data content and metadata, including friendship graphs, are protected from surveillance. Private keys never leave your client device.
- Decentralized Control: Store files in a peer-to-peer network without a central node, making it resilient to disruption and censorship. Users own their data and decide where it is stored.
- Self-Hostable: Easily run your own Peergos server, gaining complete control over your storage space and communication platform.
- Secure Web Applications: Load and run web apps directly from Peergos within a sandbox, preventing data exfiltration and allowing user-granted permissions.
- Post-Quantum Resistance: Files not shared with other users are designed to be resistant to quantum computer-based attacks, leveraging hashing and symmetric encryption.
- Trustless Servers: Your data and metadata remain secure even if your server is compromised, as encryption happens client-side.
Peergos is actively audited for security, with reports available on its website and GitHub repository.
Links
- GitHub Repository: https://github.com/Peergos/Peergos
- Official Website: https://peergos.org/
- Tech Book: https://book.peergos.org
- Try the Demo: https://peergos.net/#%7B%22secretLink%22:true%2c%22link%22:%22#6MDZhRRPT4ugkJuUfcWtaZodN5QYzkZKJtHpDHomFJrVhNSZysiFYimpgtcA2F/6MDZhRRPT4ugkJuUfcRzRbPpFimcBNJx2N9TJDnL4W3ETYhwdsWdvgCkXkwipF/FCYSFhpQ1xD2cydr6CFQ6UwFkgB82pWReAUzKVDxe4KA/5Pf7SvCG1mMtui2aPd9F3SH2wdwsPro1GxTa7VfxkWrj9XQGAUB%22%2c%22open%22:true%2c%22path%22:%22/demo/%22%7D
- Matrix Chat Room: https://matrix.to/#/#peergos-chat:matrix.org