As of July 2022, these pages are considered "archived" and won't be maintained any longer

Home

What the hell is Inimeg?

Inimeg is an entirely optional extension for Gemini. It is intended as a way for Gemini clients to upload content to Gemini servers in-band, i.e., without reliance on other protocols like FTP, SSH or even dedicated HTML forms.

The Inimeg mechanism allows a Gemini client to temporarily act as a Gemini server, with the Gemini server briefly playing the part of a Gemini client. Entirely within an otherwise standard Gemini transaction, a server and client can agree to swap roles, with the server then waiting for any content that the client may send (i.e., "upload") to the server.

Inimeg strictly follows the Gemini spec and only extends it in three respects.

Inimeg is careful not break or be in conflict with the current Gemini spec.

See the Inimeg speculative specification for further details

Credit

Inimeg was first proposed informally on the Gemini mailing list by Sean Connor (spc) and Petite Abeille before I was even aware of Geminis existence. My consolation price is the knowledge that all the stuff I came up with on my own is apparently not completely silly.

(The mailing list thread in question can no longer be found)

Trying it out

The server running this site is by no means a reference implementation of the spec, but it already supports the 77 REFLECT status code.

There is a playground space under the /playground subdirectory on this server. Feel free to play around with it.

The following is a minimal example how to leave a message on the server using socat for ssl handling:

sh -c 'echo -en "inimeg://inimeg.space/playground/fnord.gmi\r\n";
       sleep 1;
       echo -en "20 text/gemini\r\nHello World!"' | \
socat - ssl:inimeg.space:1965,verify=0

Nota Bene

Since no authentication is required for the Playground, it's anarchy down there. Especially /playground/index.gmi might or might not be currently defaced, redirect elsewhere or fail to render in your client.

Inimeg-enabled landing area (might or might not be currently defaced or redirect elsewhere)

Why don't you leave me a note under your favourite namespace?

Example for a note to me that might not get so easily defaced

Why don't you write a thin script that backs up your gemlog to the playground somewhere? Then drop me an email and tell me about your experiences.

Finally, an explicit invitation to submit something via inimeg might look like this:

Link with explicit Inimeg URL scheme

Leave me a Note :-)

Contact

Discussions about this proposal are likely to happen on the Gemini

mailing list. I'm happy to take suggestions and corrections by direct

email as well.

Gemini mailing list

Contact me directly at <benthor@posteo.de>

Fediverse: @benthor@chaos.social

Inimeg Guestbook