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.
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. >
---
Previous Thread: Android client TvĂĽ is now Ariane. 1.0.0 release