yggverse/titan-ii

This package is abandoned and no longer maintained. No replacement package was suggested.

Gemini Protocol Library

1.0.0 2024-01-25 09:54 UTC

This package is auto-updated.

Last update: 2024-06-04 17:57:48 UTC


README

Archived!

Use Ratchet IoServer - asynchronous WebSocket in PHP as more featured replacement to this library.

Titan II

Composer / PHP 8 library for Gemini Protocol

Simply create online server with native IPv6 support for PHP apps or just static gemtext

Integrations

  • β-Doku - DokuWiki Satellite for Gemini Protocol
  • Pulsar - RSS Aggregator with build-in Titan-II server
  • KVAZAR - KevaCoin Content Explorer
  • KevaChat - Chat in KevaCoin BlockChain

Install

  1. composer require yggverse/titan-ii
  2. openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem -days 1 -nodes -subj "/CN=IP"
  3. php server.php
  4. gemini://[IP]

Usage

<?php

$server = new \Yggverse\TitanII\Server();

$server->setCert('cert.pem');
$server->setKey('key.rsa');

$server->setHandler(
    function (\Yggverse\TitanII\Request $request): \Yggverse\TitanII\Response
    {
        $response = new \Yggverse\TitanII\Response();

        $response->setCode(20);
        $response->setMeta('text/plain');
        $response->setContent('Hello World!');

        return $response;
    }
);

$server->start('IP', 1965);