Protocols and Networks

From PlexodusWiki
Jump to: navigation, search

This page lists online messaging and social-networking / social-media / social-graph based technologies.



Of Protocols and Networks[edit]

In telecommunication, a communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchronization of communication and possible error recovery methods. Protocols may be implemented by hardware, software, or a combination of both.

(Wikipedia)

Protocols, or more properly, communications protocols, are a set of conventions by which messages are transmitted between nodes on a network. A given communications network is a set of nodes which share a given protocol.

Nodes may support multiple protocols, protocols may be nested or overlayed, and there may be network-to-network message exchange via common protocols.

In the context of online and social media, protocols define the capabilities and limitations of a particular system. These protocols may be internal and proprietary, as with Google+, Facebook, or Twitter, or open as with SMTP (email), NNTP (Usenet), HTTP (Web), or the various protocols of the Federated Networks: ostatus, activitypub, diaspora, etc. An API may expose some or all of a protocol to programmatic tools and/or third-party systems.

Effectively, protocols define networks, given a set of nodes and links between and through messages are passed according to a specific (set of) protocol(s).

Protocols, generally[edit]

Fediverse Protocols[edit]

All node and user counts scraped from https://the-federation.info/ on 19 December 2018

Fediverse protocols (from https://the-federation.info/#protocols)
Protocol Nodes Users URL Github Projects
activitypub 3,570 1,759,710 https://www.w3.org/TR/activitypub/ ActivityPub Projects
dfrn 102 13,420 https://friendi.ca/about/features/ dfrn Projects
diaspora 431 678,175 https://wiki.diasporafoundation.org/An_introduction_to_the_Diaspora_source diaspora* Projects
ostatus 3,324 1,753,820 https://en.wikipedia.org/wiki/OStatus OStatus Projects
webmention 3 6 https://www.w3.org/TR/webmention/ Webmention Projects
zot 116 4,187 https://project.hubzilla.org/help/en/developer/zot_protocol Zot Projects

ActivityPub[edit]

"ActivityPub is a decentralized social networking protocol based on the ActivityStreams 2.0 data format. ActivityPub is an official W3C recommended standard published by the W3C Social Web Working Group. 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 subscribing to content." - ActivityPub.Rocks

Github: https://github.com/w3c/activitypub

dfrn[edit]

"DFRN is a distributed communications protocol which provides privacy and security of communications and also provides the basis for distributed profiles and making connections (friend requests)." - W3C Incubator

Github: https://github.com/friendica/friendica

Diaspora (protocol)[edit]

"diaspora* is a true network, with no central base. There are servers (called “pods”) all over the world, each containing the data of those users who have chosen to register with it. These pods communicate with each other seamlessly, so that you can register with any pod and communicate freely with your contacts, wherever they are on the network. diaspora* uses open web standards such as PubSubHubbub and Webfinger to make this kind of connection possible." - How does diaspora* work?

Github: https://github.com/diaspora/diaspora

OStatus[edit]

OStatus is a collective name given to a suite of existing protocols which make this possible. They include:

  • PubSubHubbub – Real-time publishing ("PuSH")
  • ActivityStreams – Represent social actions in XML with Atom
  • Salmon – "Upstream" comments and replies
  • Portable Contacts – Social graph and contact data sharing
  • WebFinger – XML representation of a user's identity in terms of the services they use

Github: https://github.com/OStatus

webmention[edit]

"Webmention is a simple way to notify any URL when you mention it on your site. From the receiver's perspective, it's a way to request notifications when other sites mention it." - W3C Webmention Abstract

Github: https://github.com/w3c/webmention

zot[edit]

"Zot is a JSON-based web framework for implementing secure decentralised communications and services.

It differs from many other communication protocols by building communications on top of a decentralised identity and authentication framework.

The authentication component is similar to OpenID conceptually but is insulated from DNS-based identities. Where possible remote authentication is silent and invisible. This provides a mechanism for internet scale distributed access control which is unobtrusive." - W3C Federation Candidates

Github: https://github.com/friendica/red/wiki/zot

Other Federated Protocols[edit]

Jabber/XMPP[edit]

Jabber or XMPP, the Extensible Messaging and Presence Protocol (XMPP) is a communication protocol for message-oriented middleware. It is an IETF (Internet Engineering Task Force) standard. Designed to be extensible, the protocol has been used also for publish-subscribe systems, signalling for VoIP, video, file transfer, gaming, the Internet of Things (IoT) applications such as the smart grid, and social networking services. Jabber exists since 1999 and was later renamed to XMPP. The name Jabber is still in use, though.

Matrix[edit]

"Matrix is an open standard for interoperable, decentralised, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history." - What is Matrix?, Matrix FAQ

Github: https://github.com/matrix-org

Scuttlebutt[edit]

Scuttlebutt is a distributed peer-to-peer system, implemented by the scuttlebot software. The Patchwork software implements a social network on top of Scuttlebutt.

Networks, generally[edit]

All node and user counts scraped from https://the-federation.info/ on 19 December 2018

Platform Nodes Users Official Site Code
Activityrelay 15 14
Booth 1 1
Diaspora 519 661057 https://diasporafoundation.org https://github.com/diaspora/diaspora
Friendica 208 13420 http://friendi.ca https://github.com/friendica/friendica
Funkwhale 16 913 https://funkwhale.audio https://code.eliotberriot.com/funkwhale/funkwhale
Ganggo 2 187 https://ganggo.github.io https://github.com/ganggo/ganggo
Gnusocial 6 48 https://gnu.io/social https://git.gnu.io/gnu/gnu-social
Hubzilla 254 4094 https://hubzilla.org https://framagit.org/hubzilla/core
Juick 1 None
Mastodon 3208 1732831 https://joinmastodon.org https://github.com/tootsuite/mastodon
construct 1 None
ponaapse 1 None
synapse 37 None https://matrix.org https://github.com/matrix-org/synapse
Microblogpub 3 2 https://github.com/tsileo/microblog.pub
Misskey 36 4517 https://misskey.xyz https://github.com/syuilo/misskey
Mobilizon 1 3 https://framagit.org/framasoft/mobilizon
Osada 9 135 https://zotlabs.com/osada https://framagit.org/macgirvin/osada
P3k 1 1 https://indieweb.org/p3k
Peertube 309 8799 https://joinpeertube.org https://github.com/Chocobozzz/PeerTube
Pixelfed 26 5064 https://pixelfed.org https://github.com/dansup/pixelfed
Pleroma 444 5104 https://pleroma.social https://git.pleroma.social/pleroma/pleroma
Plume 15 461 https://plume-org.github.io/Plume/ https://github.com/Plume-org/Plume
Prismo 3 84 https://gitlab.com/mbajur/prismo
Read.as 1 1
Red 2 50
Red_platform 5 66
Redmatrix 58 9
Reel2bits 1 1 https://github.com/rhaamo/reel2bits
Rustodon 1 141 https://github.com/rustodon/rustodon
Social-relay 1 None https://github.com/jaywink/social-relay https://github.com/jaywink/social-relay
Socialhome 9 848 https://socialhome.network https://github.com/jaywink/socialhome
Wordpress 6 13
Writefreely 58 1177 https://writefreely.org https://github.com/writeas/writefreely
Zap 1 5

Microblog[edit]

Aardwolf[edit]

Aardwolf is the engine behind a new Facebook-like social platform which is being actively developed.

Aardwolf shares a philosophy and underlying protocols with Mastodon, a federated microblogging platform with over a 1000 independently-run servers, hosting more than a million active users.

Official Site: https://www.aardwolf.social/

Source: github

diaspora*[edit]

A privacy-aware, distributed, open source social network.

  • Nodes: 519
  • Total Users: 661057
  • Monthly Users: 18229
  • Supported Protocols: diaspora

Official Site: https://diasporafoundation.org/

Source: github

Friendica[edit]

A Decentralized Social Network

  • Nodes: 208
  • Total Users: 13420
  • Monthly Users: 1168
  • Supported Protocols: diaspora, ostatus, dfrn

Official Site: https://friendi.ca/

Source: github

GangGo[edit]

GangGo is a decentralized social network written in GoLang. It uses the same federation library like Diaspora and therefore can participate in conversations like any other Pod!

  • Nodes: 2
  • Total Users: 187
  • Monthly Users: 31
  • Supported Protocols: diaspora

Official Site: https://ganggo.git.feneas.org/documentation/

Source: github

GNU social[edit]

GNU social is a continuation of the StatusNet project. It is social communication software for both public and private communications. It is widely supported and has a large userbase. It is already used by the Free Software Foundation.

  • Nodes: 6
  • Total Users: 48
  • Monthly Users: 17
  • Supported Protocols: ostatus

Official Site: https://gnu.io/social/

Source: git.gnu.io

Mastodon[edit]

Mastodon is a free, open-source social network server based on open web protocols like ActivityPub and OStatus. The social focus of the project is a viable decentralized alternative to commercial social media silos that returns the control of the content distribution channels to the people. The technical focus of the project is a good user interface, a clean REST API for 3rd party apps and robust anti-abuse tools.

  • Nodes: 3208
  • Total Users: 1732831
  • Monthly Users: 487183
  • Supported Protocols: ostatus, activitypub

Official Site: https://joinmastodon.org/

Source: github

microblog.pub[edit]

A self-hosted, single-user, ActivityPub powered microblog.

  • Nodes: 3
  • Total Users: 2
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://microblog.pub/

Source: github

Misskey[edit]

Misskey is a decentralized microblogging platform born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?

  • Nodes: 36
  • Total Users: 4517
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://misskey.xyz/

Source: github

osada[edit]

Osada is a conversational style macroblogging network powered by hyper-drive social engine, supporting ActivityPub and Zot6 protocols.

  • Nodes: 9
  • Total Users: 135
  • Monthly Users: 74
  • Supported Protocols: zot, activitypub

Official Site: https://zotlabs.com/osada

Source: gitlab

Pleroma[edit]

Pleroma is a federated social networking platform, compatible with GNU social, Mastodon and other ActivityPub and OStatus implementations. It is free software licensed under the AGPLv3.

  • Nodes: 444
  • Total Users: 5104
  • Monthly Users: ?
  • Supported Protocols: ostatus, activitypub

Official Site: https://pleroma.social/

Source: gitlab

postActiv[edit]

postActiv is a free software project to develop a social networking platform. It is derived from GNU Social, which is itself derived from StatusNet and Laconica. It helps people in a community, company, or group to exchange short status updates, do polls, announce events, or other social activities. Users can choose which people to "follow" and receive only their friends' or colleagues' status messages. They can also view the public timeline of the site to see everyone, or the "whole known network" timeline, to see all the people in sites that have connected with this one, by someone following them. It provides a similar service to proprietary social network sites, but is decentralized, and with many additional features and an open, free software codebase that you can develop your own plugins for, it is much more awesome.

Official Site: https://postactiv.com/

Source: gitea

Rustodon[edit]

A Mastodon-compatible, ActivityPub-speaking server in Rust

  • Nodes: 1
  • Total Users: 141
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://rustodon.glitch.social/

Source: github

Blog[edit]

dokieli[edit]

dokieli is a clientside editor for decentralised article publishing, annotations and social interactions.

Official Site: https://dokie.li/#publish

Source: github

Fedi.blog[edit]

Easy self-hosted, ActivityPub, Markdown, PHP, NoSQL, fully customisable blog engine for noob web devs and others!

Official Site: https://framagit.org/DavidLibeau/FediBlog

Source: gitlab

Plume[edit]

Federated blogging application, thanks to ActivityPub

  • Nodes: 15
  • Total Users: 461
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://joinplu.me/

Source: github

WordPress[edit]

Blogging platform, able to communicate with Federation via plugins

  • Nodes: 6
  • Total Users: 13
  • Monthly Users: ?
  • Supported Protocols: webmention, ostatus

Official Site: https://wordpress.org

Source: github

Write Freely[edit]

A simple, federated blogging platform.

  • Nodes: 58
  • Total Users: 1177
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://writefreely.org/

Source: github

Images[edit]

pixelfed[edit]

PixelFed is a federated social image sharing platform, similar to instagram. Federation is done using the ActivityPub protocol, which is used by Mastodon, PeerTube, Pleroma, and more. Through ActivityPub PixelFed can share and interact with these platforms, as well as other instances of PixelFed. a la Instagram

  • Nodes: 26
  • Total Users: 5064
  • Monthly Users: 1020
  • Supported Protocols: activitypub

Official Site: https://pixelfed.org/

Source: github

Music[edit]

funkwhale[edit]

Funkwhale is a self-hosted, modern free and open-source music server, heavily inspired by Grooveshark.

  • Nodes: 16
  • Total Users: 913
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://funkwhale.audio/

Source: gitlab

reel2bits[edit]

Soundcloud-like but simple, easy and KISS (and ActivityPub).

  • Nodes: 1
  • Total Users: 1
  • Monthly Users:  ?
  • Supported Protocols: activitypub

Official Site: https://sound.otter.sh/user/dashie

Source: github

Video[edit]

PeerTube[edit]

A decentralized video hosting network, based on free/libre software.

  • Nodes: 309
  • Total Users: 8799
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://joinpeertube.org/

Source: github

Multipurpose[edit]

hubzilla[edit]

Hubzilla is a general purpose communication server integrated with a web publishing system and a decentralised permission system. If this sounds like a bunch of technical mumbo-jumbo to you, just think of it as an independent platform for sharing stuff online (publicly or privately). Hubzilla contains some social network bits, some cloud storage bits, some blog and forum bits, and some content management bits. These are all integrated within a common privacy framework - and it is all decentralised.

  • Nodes: 254
  • Total Users: 4094
  • Monthly Users: 1570
  • Supported Protocols: zot, diaspora, ostatus, activitypub

Official Site: https://hubzilla.org/

Source: gitlab

retroshare[edit]

Retroshare establish encrypted connections between you and your friends to create a network of computers, and provides various distributed services on top of it: forums, channels, chat, mail... Retroshare is fully decentralized, and designed to provide maximum security and anonymity to its users beyond direct friends. Retroshare is entirely free and open-source software. It is available on Android, Linux, MacOS and Windows. There are no hidden costs, no ads and no terms of service.

Official site: http://retroshare.net

Misc[edit]

activityrelay[edit]

Yet another powerful customizable ActivityPub relay server written in Go

  • Nodes: 15
  • Total Users: 14
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://relay.toot.yukimochi.jp/

ForgeFed[edit]

ForgeFed (formerly GitPub) is a decentralized federation protocol based on the W3C's ActivityPub, which extends ActivityStream 2.0. It provides a server to server API for pull request, forking and subscription of repositories provided by Git web services (services like GitHub, GitLab, Gogs, Gitea).

Source: github

littr.go[edit]

Link aggregator inspired by reddit using ActivityPub federation.

Official Site: https://littr.me/

Source: github

matrix|synapse[edit]

Synapse is a reference "homeserver" implementation of Matrix from the core development team at matrix.org, written in Python/Twisted. It is intended to showcase the concept of Matrix and let folks see the spec in the context of a codebase and let you run your own homeserver and generally help bootstrap the ecosystem.

  • Nodes: 37
  • Total Users: ?
  • Monthly Users: ?
  • Supported Protocols: matrix

Official Site: https://matrix.org/

Source: github Source: github

MobiliZon[edit]

Mobilizon is a tool designed to create platforms for managing communities and events. Its purpose is to help as many people as possible to free themselves from Facebook groups and events, from Meetup, etc.

  • Nodes: 1
  • Total Users: 3
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://joinmobilizon.org/

Source: gitlab

read.as[edit]

Read.as is a free and open-source long-form reader built on open web protocols (specifically ActivityPub). It helps you gather and curate things to read in a peaceful space. (Feed Reader)

  • Nodes: 1
  • Total Users: 1
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://read.as

Source: github

Prismo[edit]

Federated link aggregation powered by ActivityPub. (Similar to StumbleUpon or Digg)

  • Nodes: 3
  • Total Users: 84
  • Monthly Users: 33
  • Supported Protocols: activitypub

Source: gitlab

Socialhome[edit]

Socialhome is a federated personal profile builder with social networking functionality.

  • Nodes: 9
  • Total Users: 848
  • Monthly Users: 99
  • Supported Protocols: diaspora

Official Site: https://socialhome.network/

Source: github

Uncategorized[edit]

Booth[edit]

  • Nodes: 1
  • Total Users: 1
  • Monthly Users: None

Official Site:

Source:

Juick[edit]

  • Nodes: 1
  • Total Users: None
  • Monthly Users: None

Official Site:

Source:

P3k[edit]

  • Nodes: 1
  • Total Users: 1
  • Monthly Users: 1

Official Site: https://indieweb.org/p3k

Source:

Red[edit]

  • Nodes: 2
  • Total Users: 50
  • Monthly Users: 49

Official Site:

Source:

Red_platform[edit]

  • Nodes: 5
  • Total Users: 66
  • Monthly Users: 5

Official Site:

Source:

Redmatrix[edit]

  • Nodes: 58
  • Total Users: 9
  • Monthly Users: 0

Official Site:

Source:

Social-relay[edit]

Application to act as a relay for public posts using the Diaspora protocol. Keeps track of nodes and their subscription preferences, receives payloads and forwards the payloads to subscribers. The aim is to pass public posts around in an efficient way so any new node in the network can quickly subscribe to lots of public activity, without having to wait a long time to create social relationships.

  • Nodes: 1
  • Total Users: None
  • Monthly Users: None

Official Site: https://github.com/jaywink/social-relay

Source: https://github.com/jaywink/social-relay

Zap[edit]

  • Nodes: 1
  • Total Users: 5
  • Monthly Users: 4

Official Site:

Source:

References[edit]