💾 Archived View for any-key.press › warp › ru_atom.gmi captured on 2024-08-18 at 17:00:36. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
gemini://any-key.press/atom.xml
gemini://armitage.flounder.online/gemlog/atom.xml
gemini://bbs.geminispace.org/s/russian?atom
gemini://byzoni.org/gemlog/atom.xml
gemini://gemini.quietplace.xyz/~razzlom/gemlog/atom.xml
gemini://gemini.strahinja.org/blog/atom.xml
gemini://hugeping.ru/micro/atom.xml
gemini://karabas.flounder.online/gemlog/atom.xml
gemini://kirill.zholnay.name/gemfeed/atom.xml
gemini://phreedom.club/~tolstoevsky/feed.xml
gemini://pub.phreedom.club/~localhost/Lies_dybr/atom.xml
gemini://votih.flounder.online/gemlog/atom.xml
UPD 2024-01-19: У hugeping есть лента не только микроблога, но и "полнотекстовых" постов:
Иногда у меня возникает желание немного поупражняться в shell скриптах. Сегодня в качестве задачи решил найти русскоязычные Gemini ленты (atom). В качестве набора известных адресов лент взял содержимое страницы "Known Gemini Feeds" с сервера geminispace.info:
gemini://geminispace.info/known-feeds
Саму страницу получаем с использованием команды openssl:
echo "gemini://geminispace.info/known-feeds" | openssl s_client -crlf -quiet -connect geminispace.info:1965 2> /dev/null
Затем извлечём из страницы абсолютные ссылки на сами ленты (строки, начинающиеся с подстроки "=> gemini://"):
echo "gemini://geminispace.info/known-feeds" | openssl s_client -crlf -quiet -connect geminispace.info:1965 2> /dev/null \ | grep "^=> gemini://"
Следующим в цепочке вызовем awk, что бы извлечь из строки сам Gemini URL (второе поле каждой строки, разбитой по пробелам):
echo "gemini://geminispace.info/known-feeds" | openssl s_client -crlf -quiet -connect geminispace.info:1965 2> /dev/null \ | grep "^=> gemini://" \ | awk '{print $2}'
И по каждому извлеченному URL проитерируемся с использованием while. А затем уже из каждого URL извлечем домен тем же awk и запросим содержимое всё тем же вызовом openssl. Русский язык проверим регулярным выражением "[а-яА-Я]":
echo "gemini://geminispace.info/known-feeds" | openssl s_client -crlf -quiet -connect geminispace.info:1965 2> /dev/null \ | grep "^=> gemini://" \ | awk '{print $2}' \ | while read URL; do NETLOC=$(echo $URL | awk -F[/] '{print $3}') echo $URL | timeout 15 openssl s_client -crlf -quiet -connect $NETLOC:1965 2> /dev/null \ | grep "[а-яА-Я]" > /dev/null && echo "$URL" done
Такой скрипт печатает в свой stdout русскоязычные Gemini ленты. Сразу стоит оговориться, что он не будет правильно работать с URL, где помимо хоста содержится и порт, то есть вида "gemini://example.org:1965/atom.xml". Я не стал с этим заморачиваться просто потому, что на странице "gemini://geminispace.info/known-feeds" нет таких ссылок.
И ещё стоит отметить, что для получения списка из начала страницы пришлось немного промодерировать его вручную. Иногда в киррилические символы проскакивают просто среди англоязычного текста, попадаются дубликаты и тому подобное.
Комментарии через ActivityPub (Fediverse) можно оставить здесь: