commit - 3f592c20499ddfe4315b38f1f539622908002d0b
commit + fa4e39d630f0a9a5e7e2a1cd406ffceb5284cbfc
blob - 57c1e0a9dea1959aac83600c9dbb919260cb7173
blob + ad6017c986ebf6a7e6e38600a1f4bbc605dceb79
--- reports/0.0.1.gmi
+++ reports/0.0.1.gmi
В целом мне очень понравилось то, что автор называет протокол простым и на самом деле протокол оказался несложным. Хотя и тут стоит отметить, что использование прослойки TLS в качестве транспортного уровня делает эту самую простоту весьма условной. В противовес этому, например, протокол Spartan работает поверх обычного TCP. Наверное, если бы я сейчас сел писать реализацию заново, то выбрал бы spartan.
=> spartan://spartan.mozz.us The Spartan Protocol Homepage
+Что-то в спецификации протокола меня зацепило и я написал свою реализацию сервера Gemini на C++11 - vostok (Восток). Название, очевидно, отсылает к названию советский космический корабль "Восток-1", на котором Юрий Алексеевич Гагарин совершил первый в мире пилотируемый полёт в космос.
...work-in-progress...
+libtls
+=> https://www.libressl.org/ LibreSSL
```
cert$ openssl req -newkey rsa:4096 -nodes -keyout server.key -x509 -days 36500 -out server.crt
```
-
```
openssl s_client -crlf -quiet -connect -no_ssl3 -no_tls1 -no_tls1_1 -connect localhost:1965 <<< "gemini://gemini.any-key.press/reports/0.0.1.gmi"
```
-вместо создания thread'ов на каждое соединение хорошо бы перейти на неблокирующий ввод-вывод и фиксированное количество воркеров (thread'ов)
+тесты
+(?) std::err заменить на syslog(3)
+/etc/mime.types
задавать редиректы, что позволит открывать index.gmi при открытии корня
-/etc/mime.types
+вместо создания thread'ов на каждое соединение хорошо бы перейти на неблокирующий ввод-вывод и фиксированное количество воркеров (thread'ов)
-(?) std::err заменить на syslog(3)
-тесты
+
+