|
|
|
# Titan II
|
|
|
|
|
|
|
|
Gemini Protocol library for PHP 8
|
|
|
|
|
|
|
|
- [gemini://gemini.circumlunar.space/](gemini://gemini.circumlunar.space/)
|
|
|
|
- [https://gemini.circumlunar.space/](https://gemini.circumlunar.space/)
|
|
|
|
|
|
|
|
## 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();
|
|
|
|
```
|