Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Sojolicious is a toolkit for the federated social web, containing plugins for the powerful web framework Mojolicious written in Perl.


use Mojolicious::Lite;

# Load Plugins
plugin 'Webfinger';
plugin 'PubSubHubbub';
plugin 'Salmon';

# Esablish Salmon Endpoints:
group {
  under '/salmon';
  (any '/:acct/mentioned')->salmon('mentioned');
  (any '/:acct/all-replies')->salmon('all-replies');
  (any '/signer')->salmon('signer');

# Add pubsubhubbub callback url
(any '/pubsub')->pubsub;

hook on_salmon_follow => sub {
  # ... You received a follow request

hook on_pubsub_content => sub {
  my ($c, $type, $dom) = @_;
  # ... You receive feed information you subscribed to



Sojolicious mainly focus on support for the OStatus meta protocol and aims for a straight forward implementation of all surrounding specifications.

The design goal is to make all plugins useful on their own, as separated building blocks of OStatus, while playing well with each other. All plugins are application (despite the fact that they are Mojolicious plugins) and storage agnostic, providing event driven hooks for usage.

Some plugins will become separated distributions, in case this is useful.

See for recent updates.

Plugins for ...

There are plans to expand the scope to other social protocols later, for example OExchange.


ActivityStreams was developed by Martin Atkins, Will Norris, Chris Messina, Monica Wilkinson, and Rob Dolin. Atom was developed by Mark Nottingham and Robert Sayre. Atom Threading Extensions was developed by James M. Snell. HostMeta was developed by Eran Hammer-Lahav and Blaine Cook. MagicSignatures was developed by John Panzer, Ben Laurie, and Dirk Balfanz. Mojolicious is written by Sebastian Riedel. OStatus was developed by Evan Prodromou, Brion Vibber, James Walker, and Zach Copley. PortableContacts was developed by Joseph Smarr. PubSubHubbub was developed by Brad Fitzpatrick, Brett Slatkin, and Martin Atkins. Salmon was developed by John Panzer. Webfinger was developed by Brad Fitzpatrick, Eran Hammer-Lahav, Blaine Cook, John Panzer, and Joe Gregorio. XRD was developed by Eran Hammer-Lahav and Will Norris.

... just to name the persons officially responsible for maintaining the code and the specifications. Thanks to all contributors of these projects as well!

And thanks to all implementors of these specifications for inspiring code (which is referenced in the sourcecode).

Participation on conferences was supported by the BMBF-project Linguistic Networks.

Where to learn more?,

... and?

Copyright (C) 2011-2013, Nils Diewald.

This program is free software, you can redistribute it and/or modify it under the same terms as Perl.


OStatus for Perl - A social toolbox for Mojolicious




No releases published


You can’t perform that action at this time.