-- Leo's gemini proxy

-- Connecting to hugeping.tk:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Бороздим интернет без браузера #2

by hugeping on 2021-02-14 17:30:21


В прошлый раз я погорячился, когда сказал, что раздача контента по RSS -- редкость. Конечно, не редкость. Если посмотреть на исходный код главных страниц многих веб-ресурсов, то очень часто можно найти заветную ссылку с типом application/rss+xml. Я начал с простой утилиты на go, которая бы забирала rss ленту и выводила её в формате gemini разметки. Утилита rss2gmi лежит там же, где и остальные утилиты: https://github.com/gl00my/clearweb/tree/master/rss2gmi [1]


Я испытал её на некоторых ресурсах и понял, что придётся усложнять. Например, некоторые сайты отдают ленту в которой в полях description находится html-разметка. Кроме того, вместо UTF-8 могут использоваться другие кодировки.


После небольших доработок я успешно испытал rss2gmi на:


linux.org.ru - https://www.linux.org.ru/section-rss.jsp?section=1 [2]

opennt.ru - https://www.opennet.ru/opennews/opennews_all_noadv.rss [3]

hype.retroscene.org - https://hype.retroscene.org/rss/index/ [4]

форуме ifiction.ru - https://forum.ifiction.ru/extern.php?action=active&type=RSS [5]

interfax.ru - https://www.interfax.ru/rss.asp [6]

hugeping.tk - http://hugeping.tk/echo/all/rss [7]



Но была ещё одна проблема. В acme окно всегда прокручивается в конец вывода. Поэтому, после запуска скрипта показывающего ленту, нужно было отматывать текст назад. А это -- неудобно! Решение, конечно, лежало на поверхности. Добавить опцию -r для реверсного показа ленты. После добавления этой опции, просмотр лент стал именно таким, каким я его хотел видеть. Например, для просмотра новостей opennet я просто запускаю скрипт opennet из acme и вижу что-то вроде:


## Выпуск Wine 6.2, Wine staging 6.2 и Proton 5.13-6 [38]

Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 6.2. С момента выпуска версии 6.1 был закрыт 51 отчёт об ошибках и внесено 329 изменений.

=> https://www.opennet.ru/opennews/art.shtml?num=54570 [38]

Если новость меня интересует, я нажимаю на ссылке и открывается браузер. Удобно! И в большинстве случаев -- никакого браузера! И никакой читалки RSS на qt или gtk. А в Plan9 это вообще единственный возможный способ для меня.


Сегодня многие пользуются для почты веб интерфейсом gmail/mail.ru и другими. Но это, конечно, не наш путь. Несколько последних лет я использую gnus в emacs. Забор почты может осуществляться mpop/imapsync. При этом письма просто помещаются в каталог в формате Maildir. Отправка -- msmtp. Для поиска нужных сообщений я использую mu. Mu позволяет делать выборку нужных сообщений и показывать их прямо из Maildir. И конечно, с помощью mu можно автоматизировать показ нужных писем прямо в acme!


Например, мне нужно следить за рабочим багтрекером. Я нажимаю на "кнопку" bugs в acme и получаю список последних ошибок! В теле писем есть ссылки. Я могу нажать на нужную и перейти к нужному багу. Скрип выглядит просто:


mu find from:Mantis --fields "l" -s "d" | tail -n $num | while read f; do mu view --nocolor "$f";done

Твиттер и mastadon я читаю скриптами, которые вызывают bti и toot -- консольные клиенты твиттера и мастадона.


Поиск, новости, чтение почты и твиттера... И всё это не выходя из acme. Жизнь налаживается! Acme -- действительно мощный интерфейс, легко настраиваемый под собственные задачи. И он очень помогает в борьбе с shit-вебом.

https://github.com/gl00my/clearweb/tree/master/rss2gmi [1]

https://www.linux.org.ru/section-rss.jsp?section=1 [2]

https://www.opennet.ru/opennews/opennews_all_noadv.rss [3]

https://hype.retroscene.org/rss/index/ [4]

https://forum.ifiction.ru/extern.php?action=active&type=RSS [5]

https://www.interfax.ru/rss.asp [6]

http://hugeping.tk/echo/all/rss [7]

-- Response ended

-- Page fetched on Thu Mar 28 11:00:44 2024