Alpha

Sockethub 5.0.0-alpha.12 is the current active-use release. See the changelog.

Protocol gateway for the web

Chat, feeds, and metadata through one API.

Sockethub lets browser apps talk to IRC, XMPP, RSS/Atom feeds and more, all through a single ActivityStreams 2.0 message format.

npm install -g sockethub@alpha v5.0.0-alpha.12

Fan out

One message, every protocol

Your browser app one JSON API Sockethub IRC Chat & channels XMPP Messaging & presence RSS / Atom Feed fetching Metadata Link previews

Your app sends one JSON shape. Sockethub routes it to the right protocol, and the response comes back in the same shape.

Sockethub is a protocol gateway for the web. It lets browser apps talk to protocols and services that JavaScript can't reach on its own — IRC, XMPP, RSS/Atom, link-metadata services — using one standard message format: ActivityStreams 2.0.

By holding the long-lived connections, credentials, and protocol-specific logic on the server, Sockethub gives browser apps a single, consistent JSON API for reaching networks the web usually walls off.

Platforms

Supported platforms

Sockethub ships with these protocols today. Add your own by implementing the platform interface.

IRC

Chat and channels on the original open protocol.

XMPP

Federated messaging, rooms, and presence.

RSS / Atom

Poll, parse, and stream updates from feeds.

Metadata

Link previews and structured-data extraction.

New in 5.0

Why Sockethub

Why Sockethub

One format, every protocol

ActivityStreams 2.0 JSON in, ActivityStreams 2.0 JSON out. No protocol-specific code in your frontend.

Browser-safe, server-side state

Sockethub holds long-lived connections, session credentials, and reconnect logic. Your app stays thin.

Pluggable platforms

Add support for new protocols by implementing a small platform interface. Your frontend never changes.

ActivityStreams 2.0

The same envelope for every protocol

Every message is a JSON-LD ActivityStreams 2.0 object. The @context array names the AS2 base, the Sockethub vocabulary, and the specific platform — swap the platform URL and the same call reaches a different network.

Read the full model
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://sockethub.org/ns/context/v1.jsonld",
    "https://sockethub.org/ns/context/platform/xmpp/v1.jsonld"
  ],
  "type":   "send",
  "actor":  { "id": "alice@chat.example", "type": "person" },
  "target": { "id": "bob@chat.example",   "type": "person" },
  "object": { "type": "message",
              "content": "Hello across protocols!" }
}

Support the project

Sockethub is free and open source. Starring the repo helps visibility; donations help keep development going.

Star on GitHub sockethub/sockethub
Bitcoin bc1qccxptc5vzzj2fl590w52xzr7tvc4eltygkuqur