Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Psi-Prod/Mehari

A cross-platform library for building Gemini servers
https://github.com/Psi-Prod/Mehari

gemini gemini-server mirageos

Last synced: 3 months ago
JSON representation

A cross-platform library for building Gemini servers

Awesome Lists containing this project

README

        

# Mehari

Mehari is a cross-platform library for building Gemini servers. It fully
implements the
[Gemini protocol specification](https://geminiprotocol.net/docs/protocol-specification.gmi).

It takes heavy inspiration from [Dream](https://github.com/aantron/dream), a
tidy, feature-complete Web framework.


banner

Mehari provides several packages. See [here](https://docs.heyplzlookat.me/mehari/index.html#interface).
Many [examples](https://github.com/Psi-Prod/Mehari/tree/master/examples) are also provided.

## Installation

```
opam install mehari
```

## Features

- Mirage OS friendly
- Static files serving
- MIME type inference from file content (using experimental [Conan](https://github.com/mirage/conan/) support)
- Rate limit
- Virtual hosting using SNI
- CGI
- Long-running TCP connection

## Feedback

Since Mehari is in its early stages, any feedback and contributions regarding the API or security are appreciated.

## Important links

- API documentation: https://docs.heyplzlookat.me/mehari/
- Tutorial: https://docs.heyplzlookat.me/mehari/index.html#tutorial
- Issues: https://github.com/Psi-Prod/Mehari/issues

## License

Distributed under the **LGPL-3.0 License**. See [license](LICENSE) for more information.