Skip to main content

Stable & Free WebSub Hub

Standards compliant open source WebSub Hub.

Usage

WebSubHub is a fully compliant WebSub Hub built that you can use to distribute live changes from various publishers. Usage of WebSubHub is very simple with only a single endpoint available at https://websubhub.com/hub.

Current implemented & supported version of WebSub is https://www.w3.org/TR/2018/REC-websub-20180123/, however older versions may work.

Fully tested against websub.rocks hub test suite.

Subscribing

You can subscribe to any public publishers using our hub. An example curl request is:

$ curl \
    -d "hub.mode=subscribe&hub.topic=$TOPIC_URL&hub.callback=$CALLBACK_URL" \
    -X POST \
    https://websubhub.com/hub

Additionally, you may provide the following arguments:

hub.lease_seconds
Number of seconds for which the subscriber would like to have the subscription active, given as a positive decimal integer. Default value is 10 days.
hub.secret
A subscriber-provided cryptographically random unique secret string that will be used to compute a HMAC digest for the content distribution. This parameter MUST be less than 200 bytes in length.

Once you send the subscribe request, we'll send an appropriate GET request to your $CALLBACK_URL to confirm the subscription.

Unsubscribing

You can unsubscribe from a publisher by issuing a similar request, however with the hub.mode as unsubscribe. An example curl request is:

$ curl \
    -d "hub.mode=unsubscribe&hub.topic=$TOPIC_URL&hub.callback=$CALLBACK_URL" \
    -X POST \
    https://websubhub.com/hub

Publishing

Though not specified in the specification, publishing with WebSubHub can be accompished using hub.mode set to publish with hub.topic containing the topic URL.

We also support hub.url for backwards compatibility with other services.

$ curl \
    -d "hub.mode=publish&hub.topic=$TOPIC_URL" \
    -X POST \
    https://websubhub.com/hub

Support

If you're having issues with the service, or you otherwise need help, please open up an issue on GitHub! It's worth mentioning that you should not share private information in the public issue tracker.