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
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.
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:
- 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.
- 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.
You can unsubscribe from a publisher by issuing a similar request, however with the
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
Though not specified in the specification, publishing with WebSubHub can be accompished using
hub.mode set to
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
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.