[ANN] Orbit: Gemini server written in PHP

Jansen Price <jansen.price (a) gmail.com>

Hello all,

After becoming intrigued by gemini and spending some time learning
and using it, I thought it would be fun to create a server in PHP because
why not? I present to you orbit: https://tildegit.org/sumpygump/orbit

It currently passes all the tests from gemini-diagnostics (
https://github.com/michael-lazar/gemini-diagnostics). I have included some
details to install it as a GNU/linux service using systemd. It also has an
option to auto-generate self-signed certificates.

I have had issues trying to support client certificates, due to how PHP
internally manages sockets invoked with `stream_socket_server` but I
haven't exhausted all possibilities yet.

Currently it only serves static assets, but my plan next is to add some
support for dynamic content via cgi scripts.

Link to individual message.

Kevin Sangeelee <kevin (a) susa.net>

It's like my nan used to say - you hang around for ages waiting for a PHP
Gemini Server, then two come along at once. (in case you're wondering,
another PHP server was announced earlier today - who'd have thought).

I was curious about how PHP might give access to the client certificate,
and discovered this example that might be of use
https://freek.dev/530-validating-ssl-certificates-with-php - it seems based
on the stream socket approach that you also use, and if so it shows how to
get the X509 certificate that you can use to generate an SHA-256 signature.

In any case, thanks for sharing!  Are you currently running any sites on
this?

Kevin

On Mon, 28 Sep 2020 at 20:18, Jansen Price <jansen.price at gmail.com> wrote:

> Hello all,
>
> After becoming intrigued by gemini and spending some time learning
> and using it, I thought it would be fun to create a server in PHP because
> why not? I present to you orbit: https://tildegit.org/sumpygump/orbit
>
> It currently passes all the tests from gemini-diagnostics (
> https://github.com/michael-lazar/gemini-diagnostics). I have included
> some details to install it as a GNU/linux service using systemd. It also
> has an option to auto-generate self-signed certificates.
>
> I have had issues trying to support client certificates, due to how PHP
> internally manages sockets invoked with `stream_socket_server` but I
> haven't exhausted all possibilities yet.
>
> Currently it only serves static assets, but my plan next is to add some
> support for dynamic content via cgi scripts.
>

Link to individual message.

---

Previous Thread: Android client TvĂĽ is now Ariane. 1.0.0 release

Next Thread: [ANN] Rocketeer, a Gemini browser for iOS