commit f042dc151198ae7a459a000f0ab2b8e0f1834cb6 from: Aleksey Ryndin date: Sun Sep 22 18:57:16 2024 UTC Fix: /vostok/vgi_router.gmi finished commit - cbb30c7eb2aa2fa04fd31a0ef999ae50c7ecd583 commit + f042dc151198ae7a459a000f0ab2b8e0f1834cb6 blob - 225cad3b511302930c4c034a443c90b3a09791aa blob + 940e7fc8e0d070a8602d61cd5b1fbbadc77b7e6f --- capsule/atom.xml +++ capsule/atom.xml @@ -8,7 +8,13 @@ continue continue@to.any-key.press - 2024-09-22T11:15:05.408058+00:00 + 2024-09-22T18:53:03.298054+00:00 + + gemini://any-key.press/vostok/vgi_router.gmi + + vostok 🚀 Маршрутизация VGI + 2024-09-22T18:53:03.298054+00:00 + gemini://any-key.press/vostok/reports/0.2.1.gmi 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)