Gopher & Gemini Protocol

Reading about the lightweight protocol Gopher, I am curious if these text-based protocols could run on a RTOS:

https://gemini.circumlunar.space/

text-based protocols could run on a RTOS:

Could? Certainly – at least Gopher, Gemini only when TLS support is here.

Whether it makes a lot of sense is a different question. Gopher IMO is outdated for good.

A renderer the text/gemini would certainly be possible for RIOT devices with a GUI (the pinetime comes to mind). Implementing the Gemini protocol woud depend on TLS for which there is an open issue. Accessing Gemini through a Gemini-CoAP-cross-proxy might mitigate that shortcoming.

Personally I don’t see too much promise in Gemini (I think it’d go over much better if they put a bit more effort into their 2.5 FAQ item), but that’s not to stop anyone from working with it on RIOT.

Thanks chrysn! Upon reading the 2.5 FAQ item, I can see how that might be a bit open-ended and hard to define, but I think it’s a sound idea/project and think it has potential.

The topic of gemini recently came up again on the chat, and I had a brief look into the current state of gemini.

A Gemin-CoAP cross proxy sounds easily doable in either direction; the only troublesome aspect I see is the parametrization of the text/gemini format (which CoAP has no good answer to yet), but losing some of the parametrization might initially be acceptable. (We’d need a content format registration for text/gemini;charset=utf-8, but that’s just a mail to IANA).

The gemtext format would indeed be straightforward to display and navigate from a RIOT device. It could be usable both through a proxy (which would need to be trusted with all the hypertext data) as well as with a CoAP server that just happens to serve gemtext.

A CoAP server serving gemtext might also be interesting to serve pages (primarily dynamic ones, like any status thing) from RIOT devices – to be accessible by a regular gemini client it’d need a cross proxy, but that can be arranged generically and easily.