Self hosted Pingback/Webmention middleware (inspired by Pingback.me) that takes pings, stores them, and fires off webhooks. Provides a query API.
PHP JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client-libraries
config
definitions
engine
i18n
templates/base
.gitignore
.gitmodules
.htaccess
LICENCE.txt
README.md
humans.txt
index.php

README.md

Pingback 2 Webhook

This is pingback2webhook.

This service, installable on your local server, allows you to add pingback and webmention support to any static page, and as well as collecting the data you are able to specify a webhook(s) to which a ping is sent, allowing you to chain services together, and also to query the database.

This is very similar/inspired by Aaron Parecki's service Pingback.me (which I recommend you check out - https://github.com/aaronpk/Pingback), but this is

  1. written in PHP (I had reasons I didn't want to run an entire ruby stack on my server), 2) Supports a few extra things that I needed - namely webhook pings and couchdb support, 3) Needed it self hosted.

Requirements

  • PHP 5.3
  • CouchDB

Usage

    // Webmention
    header('Link: <http://SERVER/webmention/myendpoint/>; rel="http://webmention.org/"');
    
    // Pingback
    header('X-Pingback: http://SERVER/pingback/myendpoint/xmlrpc');

And/Or in the page metadata

<html>
    <head>
        <link href="http://SERVER/webmention/myendpoint/" rel="http://webmention.org/" />
        <link rel="pingback" href="http://SERVER/pingback/myendpoint/xmlrpc" />

        ...

    </head>

    ...

</html>

Todo

  • Kick the tires on pingback (should work, but primarily using webmention)
  • Sexy #indieweb microformats parsing to pull semantic content from source pages, including things like u-like (http://www.sandeep.io/39)
  • [ ] Currently a valid api token will let you view any data, limit this to the endpoint in question (less of a problem since this is intended for self hosting)
  • CRUD events - update on dupe, delete on HTTP DELETE
  • Rendering helper libraries

See