Concept - selfagency/monoverse GitHub Wiki
The recent six-hour Facebook outage affected billions of people who rely upon Facebook, Whatsapp, and Instagram for their social lives and livelihoods, reinforcing the need for a resilient, decentralized Internet. But convincing people who have spent the last decade-and-a-half inside Big Tech's walled gardens to go it alone is hard, if not improbable. Present solutions are lacking. For one, most of these solutions require a more significant technical sophistication than your average end-user possesses. There are also too many separate services outside the walled gardens, each with its peculiarities, of which to keep track, let alone make use. It's hard even to know where to start.
Monoverse aims to lower the barriers to decentralization by creating a convenient, unified platform for managing one's identity, relationships, personal data, and digital payments online. It is a completely self-hosted alternative to Facebook and its envisioned Metaverse that relies entirely on open-source and open standards. Monoverse embraces the principles set forth by the IndieWeb community and is inspired by initiatives like the Unhosted manifesto and The Small Web. It takes the best ideas from Freedom Box, NextCloud, Mastodon, Keybase, and Metamask and combines them into one simplified interface that any user comfortable with applications like Facebook and Twitter should find familiar. The project embraces the Linux philosophy paradoxically: It aims to do one thing and to do it well — onboard humanity to the decentralized Internet, whatever it takes.
Available as a virtual machine image, container pod, or disk image installable to a microcomputer and comprised of free and open-source software, Monoverse's secure service cluster provides:
- A secure VPN ingress to one's private Monoverse with encrypted egress to the Internet.
- An encrypted distributed file system with support for remote access via Fuse, WebDAV, or the S3 API, automatically replicated and pinned to the IPFS network and optionally one's S3-compatible provider of choice.
- An encrypted distributed database system for internal application data.
- An identity server with support for OpenID, IndieAuth, Webfinger, FOAF, Solid, and remoteStorage.
- A crypto wallet with support for Ethereum dApps and web payments.
- An email server with support for SMTP, IMAP, spam and virus filtering, DKIM, DMARC, SPF, and autodiscovery.
- A CalDAV/CardDAV server for calendar and contact management.
- A personal media server with support for DLNA, Airplay, Chromecast, Sonos, and BitTorrent transfers.
- An archival tool for storing, viewing, and sharing content migrated from Facebook, Instagram, and Twitter.
- An automation server with support for webhook-triggered serverless functions and a user-managed crontab.
- And the pièce de résistance: A web application server which consists of a single platform for managing one's public profile, personal microblog, static website, universal inbox (for email and feeds), chats, personal information (contacts, calendar, notes, passwords), payments, torrents, automations, files, and Dapp connections/configurations. (An authenticated VPN user can access these services on their standard ports using the application of their choice.)
All services come preconfigured with optimal security settings that more sophisticated users can alter as they see fit. An installer will guide users through the installation and configuration processes on their devices, including a browser extension enabling access to one's wallet, passwords, and the like. The distributed file and database systems allow for replication across data centers and availability zones for failover in the event of service disruption.
Monoverse aims to be future-proof and censorship-resistant by being available no matter how people connect to the Internet — and even without it. It supports traditional Internet protocols, new decentralized Web3 technologies, and even P2P stacks that can operate wirelessly when the Internet goes down (or isn't safe to use). Ideally, you should be able to run it off a solar panel in the event of societal collapse. With this in mind, Monoverse's public services are accessible via secure Internet gateway and via IPFS, onion router, and Web3 mixnets. The microblog publishes to, and the universal inbox assembles content from, ActivityPub, Diaspora, Atom/RSS feeds, JSON feeds, Hypercore, Ethereum smart contracts, Gemini (Gopher 2.0), email, and Scuttlebutt — an offline networking protocol. The chat client supports WebRTC, XMPP, IRC, Mumble, Matrix, and Scuttlebutt too.
Instead of managing multiple applications and visiting numerous websites to stay in touch with your family, community, and the world (AKA life before Facebook), the whole Internet now comes right to you, in just one place: Your Monoverse.
Visitors to an individual's Monoverse would land on the user's customizable user profile page and microblog (or, optionally, their static website). Visitors can subscribe to the user's feed via their medium of choice. Visitors can contact an individual directly through their Monoverse via WebRTC or text chat (if desired by the user). Microblog interactions will appear in the user's universal inbox. Users will have the ability to block individual visitors and subscribers or entire domains (in the vein of Mastodon) in the event of abuse.
One significant difference between Monoverse and other projects in the ActivityPub ecosystem, or "Fediverse," is that Monoverse is designed with zero trust in mind and intended to serve only one person per instance. This choice was inspired in large part by Thomas Sileo's Microblog.pub. Platforms such as Mastodon and Diaspora are oriented towards hosting entire communities with hundreds and thousands of users. In addition to the cost and maintenance burden administrators bear under this model, they also have access to and legal responsibility for individuals' private data, including credentials and conversations. In a single-tenancy (i.e., one-person-per-instance) model, each individual becomes responsible for their own credentials and data, neither of which leaves their Monoverse. Application developers are then free to use the distributed authentication and data storage system of their choice (such as IndieAuth, Solid, remoteStorage, and Ethereum) to grant access to their services.
There is a place for a multiuser edition to come at a later phase, which will potentially be made available as a commercial product to support the development of the open-source project. The multiuser edition would enable:
- Multiple users (obviously).
- Support for SMB and LDAP.
- Git repository hosting.
- Group blog.
- Collaborative document editing and wiki.
- Shared contacts and calendars.
- Shared secrets.
- Kanban boards.
- Network filter and traffic analysis.
However, the present goal is to focus on the individual use case.