Giter VIP home page Giter VIP logo

webubbub's Introduction

Webubbub

A WebSub hub to bring instant distribution of content between Web actors


WebSub is an open protocol intended for allowing immediate distribution of content on the Web. A hub, like Webubbub, is the actor which handles subscriptions and transfers content from publishers to subscribers.

Today, WebSub is mainly used with Atom and RSS, but it’s not limited to those syndication formats.

This document is intended for administrators who would host a WebSub hub and for developers who want to improve Webubbub.

If you’re a publisher (e.g. you run a blog), you might be interested by the list of known WebSub hubs, at the end of this document.

If you’re a subscriber developer (e.g. you work on a syndication aggregator software), you should take a look at the W3C specification.

If you’re intested in, you can find answers to some questions you might want to ask in the FAQ.

Contributing

At the moment, Webubbub is a personal project of Marien Fressinaud. It was built to learn WebSub protocol and improve my PHP level. Its direction is not clear yet and so the code or the architecture might largely evolve in few days. By consequence, I would not recommend to open pull requests.

However, if you have any question or suggestion, feel free to open a ticket so we can discuss. I’m looking forward for a better community space and to improve contributing documentation. More to come later!

Guides and ressources

  1. How to install Webubbub on your server
  2. How to update Webubbub
  3. How to install Webubbub for development
  4. Learn the command line interface

WebSub-related ressources

Known WebSub hubs

There are not too many open hubs on the web at the moment:

License

Webubbub is licensed under AGPL 3.

webubbub's People

Contributors

marienfressinaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

alkarex

webubbub's Issues

Add configuration option for private hubs

I want to set up a private hub that only accepts topics on an allow-list of origins.

I was thinking of just adding it about here. Simply read the ALLOWED_TOPIC_ORIGINS list option as a comma separated array (if configured), and compare the beginning of the topic string with each allowed origin. Abort and return error message "this subscription topic is not allowed on this hub (private hub)".

I guess other’s could find a block-list useful too, but I’m mostly interested in an allow-list.

[Feedly] Return 404 error code on verification

The hub cannot verify Feedly subscriptions because it always returns a 404 error when we try to verify its intent.

The error is "detailed" in the body:

{
    "errorCode": 404,
    "errorId": "ap11int-sv2.2019123100.3210897"
}

which is quite obscure…

Actually my guess is that it's related to the way we generate the intent URL: I forgot to urlencode the topic.
I'll check my guess before submitting a fix.

Some help to have webubbub running on local

Hello @marienfressinaud

I'm trying to have a websub hub running locally to make some tests, and your project seems to be the most maintained around here 👍🏼 congrats !

Could you help me one this one ?
My Dockerfile is

FROM php

# prepare build dir
WORKDIR /app

RUN \
  apt-get update && apt-get install -y git && \
  git clone https://github.com/flusio/Webubbub.git . && \
  git submodule update --init --recursive && \
  cp env.sample .env

RUN \
  php ./webubbub --request /system/init && \
  php ./webubbub --request /system/migrate
# run the app
CMD ["php", "./webubbub", "--request", "/"]

Now what should I do ... mode ?

Or perhaps I didn't understand this project
What I'd like is having a local hub, and also be able to subscribe to it to test my publish notifications to it

Any idea ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.