Awesome
Awesome Fediverse 🛰✨😎
A curated, collaborative list of awesome Fediverse resources for getting ramped up in the Fediverse.
What's the fediverse?
The Fediverse is a network of social networking applications that communicate with each other via a set of protocols. The servers hosting an application are called a node or instance and can host multiple users.
Here are some resources to get you started:
Applications
These products rule the fediverse.
- Mastodon - Ruby based twitter clone - Follow friends and discover new ones among more than 2M people. Publish anything you want: links, pictures, text, video. All on a platform that is community-owned and ad-free.
- Mastodon Glitch Edition (glitch-soc) - a Mastodon fork with additional features such as rich text formatting and local-only toots
- Hometown - a lightweight fork of Mastodon that supports local-only toots and more content types
- PixelFed - PHP based instagram clone. A free and ethical photo sharing platform.
- Peertube - Javascript based youtube clone. A decentralized video hosting network, based on free/libre software.
- Sepia Search - The offical search engine software for peertube writin in typescript and vuejs, by framasoft
- Lemmy - Link aggregator, reddit clone.
- Movim - Social Network based on XMPP
- Soundstorm Soundstorm is an audio-oriented federated social network that speaks ActivityPub. Users can upload their own music, comment on others' tracks, and like/follow/mention just as in a regular social network. Since it speaks the same language as federated platforms like Mastodon, Soundstorm can send new track upload posts to users' followers on the fediverse, allowing them to gain a greater reach than a conventional social audio service.
- Prismo - A ruby based reddit clone. Federated link aggregation powered by ActivityPub.
- Pleroma - Elixir based Twitter clone. The server side is more lightweight than Mastodon, and the UI is more customizable too.
- Akkoma - a Pleroma fork with more features and a faster pace of development
- Diaspora - Ruby based Facebook clone.
- WriteFreely - Go based publishing platform. WriteFreely is free and open source software for starting a minimalist, federated blog — or an entire community.
- Friendica - PHP based facebook clone. Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.
- Hubzilla
- FunkWhale - Python based Grooveshark. A self-hosted tribute to Grooveshark.com.
- Cobalt - Ruby Video platform by same owner as Mastodon (hasn't been updated in at least 5 years)
- ActivityPub for WordPress - An ActivityPub plugin for WordPress.
- ActivityPub for Drupal - An ActivityPub module for Drupal.
- ActivityPub for xwiki - An ActivityPub plugin for xwiki
- Forgefed for Pagure - Forgefed plugin for pagure.
- Cactus Comments - Federated comment system for the open web built on Matrix.
- Kbin - Federated content aggregator and microblogging platform.
- Epicyon - ActivityPub server, designed for simplicity and accessibility. Includes calendar, news and sharing economy features to empower your federated community.
- GotoSocial - fast and efficient ActivityPub server written in Golang, still in alpha
- Bookwyrm - a federated social network for tracking your reading, talking about books, writing reviews, and discovering what to read next
- pub - an ActivityPub host indented for a single actor. To interact with ActivityPub, pub implements the Mastodon api for use with various apps.
- Takahē - A beta Fediverse server for microblogging/"toots", with support for multiple domains and multiple identities
- Shuttlecraft - an "easy" way to participate in the ActivityPub "Fediverse" and other indie web protocols like RSS
- Misskey - An ActivityPub Microbloging platform built with Vue
- Owncast - A single user live video streaming and chat with activetypub support for following and user verification.
- Pinetta - A early pinterest clone prototype written in python
- Nextcloud - A private cloud provider with activitypub and diaspora for sharing, auth & more.
- Plume - Plume is a rust based federated blogging engine.
- CastoPod - CastoPod is a PHP based federated podcasting platform.
- GNUSocial - A PHP based free-softwere social networking platform.
- Friendica - Friendica is a PHP based federated microbloging platform
- Hubzilla - Hubzilla is a decentralized communication and publishing platform.
- Bonfire - Bonfire is a fedirated modular social networking toolkit, written in elixir.
- Mobilizon - Mobilizon is a fedirated event planning and group management tool by Framasoft.
- Activity Relay - Activity Relay is a powerful customizable ActivityPub relay server written in Go.
- Pleroma Relay - Pleroma Relay is a generic LitePub message relay, writin in python.
- AodeRelay - AodeRelay is a simple and efficient activitypub relay, writin in rust.
- Social Relay - Social Relay is a Public post relay for Diaspora, writin in python. (Archived Project)
- Synapse - Synapse is an open-source Matrix homeserver written in python and twisted
- Dendrite - Dendrite is a open-source second-generation Matrix homeserver written in Go!
- Conduit - Conduit is a simple, fast and reliable chat server powered by matrix, written in rust.
Protocols
The fediverse is made up of a bunch of protocols. Below are the most used ones.
- ActivityPub - The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.
- Litepub - LitePub is a suite of protocols which provide a federated social network. They constitute various profiles of the ActivityPub specification. It is intended that LitePub implementations provide compatibility with ActivityPub, but there are some core behavioral differences.
- Diaspora - The purpose of this document is to specify the communications that go on between diaspora* servers (and other servers supporting this protocol)
- WebMention - Webmention is a web standard for mentions and conversations across the web, a powerful building block that is used for a growing federated network of comments, likes, reposts, and other rich interactions across the decentralized social web.
- Zot - Zot is the revolutionary protocol that powers Hubzilla, providing communications, identity management, and access control across a fully decentralised network of independent websites, often called "the grid". The resulting platform is a robust system that supports privacy and security while enabling the kind of rich web services typically seen only in centralized, proprietary solutions.
- OStatus - OStatus is a minimal specification for distributed status updates or microblogging. Many social applications can be modelled with status updates, however. Practically any software that generates RSS or Atom feeds could be OStatus-enabled. Travel networks, event invitation systems, wikis, photo-sharing systems, social news sites, social music sites, podcasting servers, blogs, version control systems, and general purpose social networks would all be candidates for OStatus use.
- ForgeFed - ForgeFed is an ActivityPub extension set for git forges like gitea and foregejo
- Friendica - The Portable Contacts specification is designed to make it easier for developers to give their users a secure way to access the address books and friends lists they have built up all over the web.
- Portable Contacts - The Portable Contacts specification is designed to make it easier for developers to give their users a secure way to access the address books and friends lists they have built up all over the web. Specifically, it seeks to create a common access pattern and contact schema that any site can provide, well-specified authentication and access rules, standard libraries that can work with any site, and absolutely minimal complexity, with the lightest possible toolchain requirements for developers.
- WebFinger - WebFinger is used to discover information about people or other entities on the Internet that are identified by a URI using standard Hypertext Transfer Protocol (HTTP) methods over a secure transport. A WebFinger resource returns a JavaScript Object Notation (JSON) object describing the entity that is queried. The JSON object is referred to as the JSON Resource Descriptor (JRD).
- Salmon - The Salmon Protocol is a message exchange protocol running over HTTP designed to decentralize commentary and annotations made against newsfeed articles such as blog posts. It allows a single discussion thread to be established between the article's origin and any feed reader or "aggregator" which is subscribing to the content. Put simply, that if an article appeared on 3 sites: A (the source), B and C (the aggregates), that members of all 3 sites could see and contribute to a single thread of conversation regardless of site they were viewing from.
- ActivityStreams - This specification details the serialization of a stream of social activities using the JSON format. Activities are important in that they allow individuals to process the latest news of people and things they care about.
- Original JSON Activity Streams 1.0 Specification which the official W3C standard utilized.
- Magic Signatures - This document defines a lightweight, robust mechanism for digitally signing nearly arbitrary messages, along with a simple public key infrastructure.
- DFRN - The DFRN (pronounced dee-fern) framework provides the communication basis for a decentralised social network - where cooperating servers share information on your behalf while operating in a web of trust relationships you control. It can provide a “Facebook-like” experience without requiring a central company or server.
- WebSub - WebSub provides a common mechanism for communication between publishers of any kind of Web content and their subscribers, based on HTTP web hooks. Subscription requests are relayed through hubs, which validate and verify the request. Hubs then distribute new and updated content to subscribers when it becomes available. WebSub was previously known as PubSubHubbub.
- PubSubHubbub - PubSubHubbub is an open protocol for distributed publish/subscribe communication on the Internet. It generalizes the concept of webhooks and allows data producers and data consumers to work in a decoupled way.
- Pubcast - An experimental ActivityPub based podcasting platform
- Pubgate - Lightweight (Gotta Go Fast) ActivityPub federator
- Matrix - A open Protocol for e2ee secured, decentralised communication.
Sites
- WeDistribute
- Fediverse.party
- The federation instance stats
- Fediverse.space
- Fediverse glossary
- Mastodon Instance Picker
- Fedi.buzz Trends Monitor
Resources
Activitypub
Talk
- Federation in social networks - Lwn.net
- Wikipedia Article
- What is ActivityPub, and how will it change the internet?
- ActivityPub - one protocol to rule them all?
- An ActivityPub Philosophy
- On standards divisions and collaboration (or: Why can't the decentralized social web people just get along?)
- ActivityPub - Final thoughts, one year later.
- From GNU social to Mastodon
Developers
- How to verify requests - Implementing an activity inbox - Mastodon
- How to implement a basic ActivityPub server - Mastodon
Videos
- Lets chat about ActivityPub
- ActivityPub and the federated social networks
- Easterhegg 2019 - ActivityPub, the Fediverse, and Everything
- Decentralized Social Networks vs the Trolls
Meetups
TODO
Slides
TODO