commit - cbb30c7eb2aa2fa04fd31a0ef999ae50c7ecd583
commit + f042dc151198ae7a459a000f0ab2b8e0f1834cb6
blob - 225cad3b511302930c4c034a443c90b3a09791aa
blob + 940e7fc8e0d070a8602d61cd5b1fbbadc77b7e6f
--- capsule/atom.xml
+++ capsule/atom.xml
<name>continue</name>
<email>continue@to.any-key.press</email>
</author>
- <updated>2024-09-22T11:15:05.408058+00:00</updated>
+ <updated>2024-09-22T18:53:03.298054+00:00</updated>
+ <entry>
+ <id>gemini://any-key.press/vostok/vgi_router.gmi</id>
+ <link href="gemini://any-key.press/vostok/vgi_router.gmi" rel="alternate"/>
+ <title>vostok 🚀 Маршрутизация VGI</title>
+ <updated>2024-09-22T18:53:03.298054+00:00</updated>
+ </entry>
<entry>
<id>gemini://any-key.press/vostok/reports/0.2.1.gmi</id>
<link href="gemini://any-key.press/vostok/reports/0.2.1.gmi" rel="alternate"/>
blob - 9488cc6c63b945806c8c276e4cec74b96b824ce0
blob + 3ee7b1c443e4a05f90474d1e44fe71f7f8785090
--- capsule/vostok/index.gmi
+++ capsule/vostok/index.gmi
=> how_to_run_on_openbsd.gmi Как запустить сервер vostok на OpenBSD
=> av98.gmi Gemini клиент AV-98
+=> vgi_router.gmi Маршрутизация VGI
## Блог разработки сервера vostok на русском языке
blob - b36dd741f6917194482c2cbde407ede36b34323c
blob + 0dac48e0d6d803b50fc9789f619ff4e47f9a74da
--- capsule/vostok/vgi_router.gmi
+++ capsule/vostok/vgi_router.gmi
+# Маршрутизация VGI
+Как я отмечал ранее в записи журнала разработки gemini сервера vostok, у меня в работе есть несколько проектов, реализуемых через VGI:
+
+=> reports/0.2.1.gmi vostok 🚀 0.2.1 (VGI_CERT_HASH, bugfix)
+
+Так как это физически разные скрипты (даже на разных языках программирования) вокруг этого нужен некоторый маршрутизатор. Нужно по началу URL распределять запросы соответствующему скрипту. Например: если входящий URL начинается с "gemini://any-key.press/vgi/gtransl/", то нужно вызвать скрипт gtransl.retro.
+
+=> /gtransl.gmi GTransl 🔁 Gemini фронтенд к Google переводчику
+
+Как оказалось эта задача элегантно решается обычным shell скриптом. Я попробовал написать эту функцию на RetroForth и на Python: бессмысленная суета)) А shell скрипт получился всего c десяток строк:
+
```
#!/bin/sh
case $URL in
gemini://any-key.press/vgi/gtransl/* )
- echo $URL | /home/_vostok/gtransl/gtransl.retro
+ echo $URL | ./gtransl/gtransl.retro
exit $?
;;
esac
echo "51 Not found"
```
+
+Подобный скрипт (но с дополнительными cas'ами для разрабатываемых проектов) я и прописал в аргумент -e в демоне сервера vostok.
+
+=> reports/0.2.0.gmi vostok 🚀 0.2.1 (тут можно найти описание опций для VGI)