Commit Diff


commit - cbb30c7eb2aa2fa04fd31a0ef999ae50c7ecd583
commit + f042dc151198ae7a459a000f0ab2b8e0f1834cb6
blob - 225cad3b511302930c4c034a443c90b3a09791aa
blob + 940e7fc8e0d070a8602d61cd5b1fbbadc77b7e6f
--- capsule/atom.xml
+++ capsule/atom.xml
@@ -8,7 +8,13 @@
         <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
@@ -18,6 +18,7 @@ ______  ___   ___ _____  ___  _   __
 
 => 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
@@ -1,4 +1,15 @@
+# Маршрутизация 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
 
@@ -6,10 +17,14 @@ URL=$(cat -)
 
 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)