Protocol
The official website of the protocol is code.google.com/p/pubsubhubbub/.
The latest protocol spec is revision 0.3.
There’s a guide for implementing PubSubHubbub for private feeds. Also interesting is PubSubHubbub for JSON, a specification using JSON instead of XML payloads.
Related protocols and specifications
- rssCloud
- XMPP Publish-Subscribe (and AtomSub)
- SUP – Simple Update Protocol
- Salmon protocol
- RSS Ping
- XML-RPC Ping and changes.xml
The official PubSubHubbub wiki has a good comparison table of all related protocols.
Hubs
There aren’t many public hubs as of 10/10/10.
Google hosts the reference hub at pubsubhubbub.appspot.com. You can subscribe to any feed on that. You can also publish any feed to it. You can also find a PubSubHubbub to XMPP gateway on AppEngine (explanation and source code), it gives you a callback URL that you can pass to your hub, the hub sends data to the gateway which in turn forwards the data to your XMPP client.
Lookabee runs the same hub software as the reference hub, also hosted on Google’s AppEngine. RSSMicro runs another public hub that lets you subscribe up to 1000 feeds, beyond that you will need to obtain a “hubkey” (they also support rssCloud). Webglue offers a public hub as well as the source code to host one of your own.
Superfeedr hosts a general hub that is for paying subscribers only. They also host public hubs on behalf of a few publishers. You can host your own hub on Superfeedr free or you can pay for the “pro” service (currently $200/month). Here is a small list of hubs they host:
- WordPress.com
- Tumblr
- Typepad
- Posterous
- Gawker
- Guardian
- Ping.fm
- ReadWriteWeb
- HuffPost
- GitHub
- GoWalla
- BuzzFeed
- Fanfeedr
- Mashable
- Cliqset
Cliqset Feedproxy converts feeds from ~70 services to Activity Streams format. You can give a Feedproxy callback URL to your PSHB hub, the hub will push the content to the proxy, the proxy will convert it and push it back to you.
Implementations
PHP
- PuSHSubscriber is a standalone subscriber written in PHP
- PuSHPress implements a PuSH hub as a WordPress plugin
- PubSubHubbub publisher client is another WordPress plugin that pings hubs
- PuSH Hub implements a hub as a Drupal module
- FastWebFeed is a Drupal module that implements PuSH, rssCloud and SUP
Ruby
- WebGlue is a PuSH version 0.2 hub
- pubsubhubbub-rb is a Ruby port of Google’s reference implementation
- push-client is a publish/subscribe client