💾 Archived View for tilde.team › ~ew0k › gemini-server-to-server-interactions.gmi captured on 2020-11-07 at 01:34:42. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Gemini Server-to-Server Interactions (Jessie)

I've been pondering a general-purpose API that one could build on to allow servers to interact via the gemini protocol. The following is something I wrote up a few days ago. It lays out the basic thoughts, and I'd like it to serve as a starting point for discussions. Tell me what you think, in email, on irc.tilde.chat or on your own gemlog (let me know where that is if it's not tracked by CAPCOM):

mailto:ew0k@tilde.team

Jessie, speculative spec

This specification lays out a method for servers to send and receive data from each other using the Gemini protocol, as well as discovering compatible message types to use.

Server-to-Server Communication

A server that implements any sort of Jessie types MUST have and endpoint called /inbox that accepts a query string.

When server A wants to send a message to server B the flow looks like this:

Any server that implements Jessie MUST have a file called /jessie-types.gmi which MUST contain the message types that the server can handle. These are written one per line, with nothing else on the line. The document MAY also contain blank lines and headings, to improve human readability.

An example jessie-types.gmi could look as follows:

# Basic Messaging

type: base.message v1
type: base.subscribe v1

# Social Interactions

type: social.mention v2
type: social.follow v1

This document allows server A from our example above to discover whether it and server B can communicate in the manner intended.

-- CC0 ew0k