Blogstream - Blo.gs Updates via Server Sent Events
After experimenting with the Bluesky Jetstream service by creating Sky View, I started considering other data streams that could be effectively presented in a web-friendly manner. The first one that came to mind is blo.gs. Yep, I’m going old school!
WARNING!
The blo.gs service gets a fair amount of spam. Be warned that the stream of pings will likely include a lot of garbage.Side Note
If you are looking for a service to ping when you update your blog, you should use Ping-o-Matic. It will relay your ping to other services, including blo.gs.
The blo.gs service accepts pings for blog updates and makes those pings available via an XML stream on TCP port 29999. Anyone can connect to the stream and receive updates as they happen. Here is an example using netcat.
$ nc ping.blo.gs 29999
<?xml version="1.0" encoding="utf-8"?>
<weblogUpdates version="1" time="20250515T00:40:47Z">
<weblog name="Example One" url="https://example.com/one/" service="ping" ts="20250515T00:40:36Z" />
<weblog name="Example Two" url="https://example.com/two/" service="ping" ts="20250515T00:40:37Z" />
<weblog name="Example Three" url="https://example.com/three/" service="ping" ts="20250515T00:40:37Z" />
<weblog name="Example Four" url="https://example.com/four/" service="ping" ts="20250515T00:40:39Z" />
<weblog name="Example Five" url="https://example.com/five/" service="ping" ts="20250515T00:40:39Z" />
...
That is easy to do, but not usable for the web. Enter blogstream - a PHP web server that makes use of workerman to consume the blo.gs XML TCP stream and push the updates to the web browser via Server Sent Events ( SSE ).
If you already have PHP along with the event
PECL extension, the installation only takes a few steps.
$ git clone https://github.com/josephscott/blogstream.git
$ composer install
$ make server-start
From there, you can watch the SSE updates from the terminal: curl -H 'Accept: text/event-stream' -N http://localhost:39999/sse
or by opening http://localhost:39999/ in your browser. When you are done you can shut down the server with make server-stop
.
The web page for displaying the blo.gs SSE updates is simple and to the point.

When you first load the page it connects to the SSE stream automatically and displays the updates as they happen. You can disconnect, reconnect, and clear the list of pings at any time with the buttons at the top of the page.
Your bonus trivia for making it this far. When the blo.gs service was purchased by Automattic in 2009 ( it was owned by Yahoo at the time, which purchased it in 2005 ) I spent some time working on it to make sure that it would continue to work reliably on our infrastructure. It has been years since I’d last thought about it, so it was fun to see that it is still going.