IRC
Chat and channels on the original open protocol.
Protocol gateway for the web
Sockethub lets browser apps talk to IRC, XMPP, email, RSS/Atom feeds, CalDAV calendars, CardDAV contacts, Messenger, Instagram and more, all through a single ActivityStreams 2.0 message format.
npm install -g sockethub@next
v5.0.0-beta.2
Add IRC and XMPP chat to your web app so people can join existing channels and conversations.
Build a web-based RSS reader that fetches feeds even when publishers don't allow browser requests.
Show link previews in your chat or bookmark app with a title, description, and image for shared URLs.
Show upcoming events from an ICS calendar on a community website or personal dashboard.
Fan out
Your app sends one JSON shape. Sockethub routes it to the right protocol, the platform fills in its reply, and the response comes back to you 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, email over IMAP and SMTP, RSS/Atom, link-metadata services, CalDAV calendars, CardDAV contacts, and Meta's Messenger and Instagram messaging APIs — 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
Sockethub ships with these protocols today. Add your own by implementing the platform interface.
Chat and channels on the original open protocol.
Federated messaging, rooms, and presence.
Receive over IMAP, send over SMTP. Your mail server stays the store.
New in 5.0Poll, parse, and stream updates from feeds.
Link previews and structured-data extraction.
New in 5.0Calendars, events, and tasks on any CalDAV server.
New in 5.0Contacts and address books on any CardDAV server.
New in 5.0Send text replies as a Facebook Page through Meta's Messenger API.
New in 5.0Send text replies from an Instagram professional account.
New in 5.0Why Sockethub
ActivityStreams 2.0 JSON in, ActivityStreams 2.0 JSON out. No protocol-specific code in your frontend.
Sockethub holds long-lived connections, session credentials, and reconnect logic. Your app stays thin.
Add support for new protocols by implementing a small platform interface. Your frontend never changes.
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.
{
"@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!" }
}
Sockethub 5.0.0-beta.2 is out, and it brings three new platforms: npm install -g sockethub@next The container image follows at ghcr.io/sockethub/sockethub:next . Email…
Sockethub 5.0.0 has left alpha. The first beta, 5.0.0-beta.0 , is available now: npm install -g sockethub@next Prereleases now publish under the next tag, for npm and for the…
With the 5.0.0-alpha.12 release, Sockethub's message envelope is a first-class ActivityStreams 2.0 and JSON-LD citizen. Every outgoing and incoming message carries a canonical…
Sockethub is free and open source. Starring the repo helps visibility; donations help keep development going.