Mediawiki, закрываемся от ботов

В последнее время на фоне ИИ-бума прямо нашествие ботов на всех сайтах. Robots.txt стал не особо актуален; отсеивание по User Agent’у — тоже. Паразитный трафик вырос в десятки, а то и сотни раз. Буквально вчера добавлял правила у fail2ban для находящегося на публике RSS Bridge — через него повадились сканировать самые разные ТГ-каналы.

Так что достаточно вовремя я сделал кэширование и отдачу статики на своих вики-проектах, однако на сейчас уже и этого мало. Боты залазят на такие URL, куда живой человек вряд ли догадался бы зайти. Например, за 18 лет JabberWorld’а я практически никогда не пользовался разделом «Информация о странице», сейчас же в логах — тонны запросов с «action=info«. В итоге — да, для «живых людей» отдача статики, конечно, помогает, страничка будет отдаваться моментально, однако из-за хождения ботов по «особым» страницам все равно будет постоянно дергаться PHP, база и все, что с этим связано. Лишние затраты оперативной памяти, которую можно было выделить на что-то более полезное.

Пришлось принимать меры: порезать доступ на ряд страниц для незалогиненных пользователей — в чем-то не особо значимо, а в чем-то пришлось ущемить в возможностях.

Читать далее Mediawiki, закрываемся от ботов →

Обновил ESP Home, новые имена сенсоров

«Не было печали — апдейтов накачали» (с).

В последние дни занимался апдейтами ESP Home, Home Assistant и того, что с этим связано. В целом, увлекся docker’ом, поэтому в последнее время вышло пообновлять ряд домашнего софта — и развернуть новый. Если раньше версия Home Assistant у меня «замерла» на 2024-какой-то-там, которую последнюю можно было установить на pyhon-3.11 из Debian 12 (а обновлять систему я немного опасался даже после выхода Debian 13 — как оказалось, зря), а ESP Home из-за него — на 2025.9.3, то сейчас могу свободно переключаться между версиями без привязки к системе. Попутно, кстати, на какой-то комбинации версий получил в логах девайса (впервые!) сообщение «‘Home Assistant 2025.12.5′ using outdated API 1.13, update to 1.14+» (хотя при этом и все работало) — тут хотя бы ясно было, что / с чем / из-за чего не стыкуется, а не молчаливое пропадание сенсоров, как это было в прошлый раз.

Так или иначе, на сейчас у меня последние версии как ESP Home, так и Home Assistant. На части девайсов пообновлял прошивки — и в итоге поотваливались скрипты, которые забирали с них данные через REST API. Как оказалось, сменилось именование сенсоров — если раньше все приводилось в нижний регистр и пробелы заменялись на подчеркивание, то сейчас обращаться надо именно по тому имени, которое указано. Если раньше был URL вида ip/sensor/l2_voltage, то сейчас — ip/sensor/L2%20Voltage. Альтернативно — можно не кодировать пробел, но взять URL в кавычки — "ip/sensor/L2 Voltage".

Веб-интерфейс к архиву «Флибусты»

Короткая заметка по теме локальной библиотеки. Как уже писал в прошлой заметке, сделал интерфейс для работы с ZIM-файлами с архивами Википедии. С архивом «Флибусты» в Linux обычно работал через Myrulib, которая уже больше десятка лет не развивается — уже не помню, вроде были какие-то проблемы со сборкой, но где-то нашел то ли готовую сборку под современные системы, то ли переделанную, которую получилось собрать — в общем, тем и пользовался.

Сейчас захотелось большего. Что было найдено:

Читать далее Веб-интерфейс к архиву «Флибусты» →

Открыл для себя проект Kiwix: оффлайн-копия Wikipedia

Собственно, сабж. Архив с fb2-книгами с «Флибусты» я давно у себя на NAS держу, а тут на глаза попался проект Kiwix. Оказалось, держать у себя на диске оффлайн-копии Википедии, Викисловаря и некоторых других сайтов не просто, а очень просто. Есть читалки для самых разных устройств и систем (в том числе в репозитории Debian). Все, что надо — скачать ZIM-файл (к слову, если добавить к нужному файлу расширение .torrent — можно качать через торрент) нужного проекта (либо воспользоваться встроенной библиотекой в некоторых читалках) и под нужный язык и открыть его в этой читалке. И есть kiwix-server, который можно развернуть, например, на NAS и с помощью которого можно через веб-браузер работать с этими оффлайн-копиями:

docker run -d -v /storage/info/zim/:/data -p 8080:8080 --restart unless-stopped --name kiwix-server jamescherti/kiwix-serve *.zim

В этой копии «Википедии» не будет истории правок и всякого такого. Это просто слепок проекта на определенную дату, позволяющий читать его без доступа в Интернет. Поэтому maxi-версия (да, там есть разные варианты, с полным и сокращенным набором статей, с картинками и без) английской «Википедии» весит всего 116 ГБ, еще 39 и 27 займут русская и украинская. В общем, на копеечной флешке сейчас на планшете легко и просто держать огромную базу знаний.

И это круто.

Update: конкретно от Wikimedia можно загрузить ZIM-файлы по этой ссылке.