~jzs/gemini

gemini protocol implementation written in go
Changed module name as cozylabs is no more
Build proper url if port is specified in url for client
Use buffered reader readline instead of scanner

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~jzs/gemini
read/write
git@git.sr.ht:~jzs/gemini

You can also use your local clone with git send-email.

#Gemini

Protocol implementation of the gemini protocol as described here:

https://gemini.circumlunar.space/

#Goal

The goal is to mimic the interfaces of go's http package. But since it's such a simple protocol, i highly suggest that you spend a bit of time to study the protocol on your own.

#Status

This implementation is still in it's very early stages and should not be used for any production use.

#TODO

  • [x] Implement Fileserver ala http.Fileserver
  • [x] Implement ServeMux ala http.ServeMux
  • [ ] Harden server to withstand malicious clients.
  • [ ] Harden client to make it more robust in case of failures.
  • [ ] Support TOFU
  • [ ] Support Client certificates