Дорожное
Sep. 27th, 2025 09:34 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Когда ты выехал на МКАД
На кадиллаке модном
Не занимай ты левый ряд
Пусть будет он свободным
Когда ты выехал на МКАД
На кадиллаке модном
Не занимай ты левый ряд
Пусть будет он свободным
Тут вчера тестировал отправку почты постфиксом с ноутбука через новый сервер и обнаружил, что ноутбук не получает дефолтного маршрута ipv6. А postfix почему-то упорно ломится по 6-му протоколу, увидев на интерфейсе globally routable ipv6 адрес.
Ну ладно, postfix я отучил от этой привычки, прописав ему inet_protocols=ipv4 (smtp_address_preferable почему-то не помогло).
Но надо же понять, в чем дело. Нагугли что оказывается, еще лет десять назад в ifup была выявлена проблема, что он запрещает на интерфейсе прием routing advertisments. И если прописать в /etc/network/interfaces post-команду, которая вернет это назад, то все начинает работать. (хотя вроде могли бы исправить. Видимо ifupdown пользуются только жуткие консерваторы, которые и ipv6 не любят. А я консерватор непоследовательный - network manager не люблю, в ipv6 люблю, хотя и не умею).
Вот теперь думаю, может быть отказаться от ifupdowm в пользу systemd-networkd? Когда я пас стада контейнеров с разными линуксами я частенько использовал systemd-networkd если не мог сходу справиться с дистрибутиво-специфичным методом настройки сети. Он с одной стороны не настолько overengineered как network manager, а с другой - довольно функционален. И самое главное - он ВЕЗДЕ одинаковый. Во всех современных дистрибутивах. И у него с настройкой на ipv6 все нормально по крайней мере в случае dhcp6. На десктопе я его когда-то сконфигурировал (тоже что-то ifupdown сглючил) и забыл с тех пор.
А способ настройки wifi интерфейсов с отдельным wpa_supplicant там предусмотрен, поэтому переучиваться на интерфейс, отличный от wpa_gui не придется.
Главное added value которое с него вроде бы можно получить - это бесшовный переход с wifi на ethernet и обратно. В ifupdown все же не совсем бесшовно получается.
X-Post to LJ
Собрался, наконец, доделать последнюю задачу из области сетапа нового сервера - web-based xmpp-клиент. Теперь у меня есть не только webmail, но и web-jabber. (надо сказать что установить на предыдущий сервер element я собирался гораздо дольше).
После отбрасывания из списка того что есть на xmpp.org совершенно галимой проприетарщины, осталось три кандидата
jsxc, xmpp-web и converse.js.
Первый хорош тем, что присутствует в дистрибутиве в виде пакета libjs-jsxc. Поэтому начал я с него. Но к сожалению, документацию в пакет положить забыли, а по документации на сайте как-то тяжело разобраться с тем, что уже сделал мейнтейнер пакета, а что надо сделать пользователю. Ну и вообще он хочет устаревший интерфейс к xmpp-серверу. Работает только через bosh, а через websockets не умеет.
Второй у меня сходу не заработал (возможно, потому что был недоконфигурирован то ли модуль websocket в prosody, то ли прокси в апаче). Показывал черную страничку и никаких сообщений об ошибке.
Вот converse.js удалось достаточно просто настроить. К тому же она, в отличие от xmpp-web не требует отдельного виртуального хоста и инструкция по установке не предполагает что файлы скриптов должны принадлежать пользователю www-data (c моей точки зрения файлы скриптов, которые может писать процесс веб-сервера это нехорошо).
Converse.js умеет много чего, в частности OMEMO. А вот аудио-видео звонков, увы, не умеет.
X-Post to LJ
Когда-то давно я тестировал почтовый клиент iris для vim. Оно меня тогда совершенно не впечатлило. Впрочем, прошло два с половиной года. Если столько времени назад чего-то в мире opensource не было, стоит поискать еще раз.
Поискал и нашел himalaya-vim. Это как-то имеет по-моему более вменяемый дизайн - базируется на командно-строчном почтовом клиенте, который запускает в фоне. Это по-моему гораздо логичнее, чем писать всю обработку протоколов и форматов на встроенном скриптовом языке, даже если у него в стандартной библиотеке есть соответствующие модули (а это уже требует недефолтного языка. iris был на питоне).
Сам по себе почтовый клиент, на который это опирается himalaya, тоже штука довольно интересная. Написан на Rust, поддержиивает спеециальный микроязычок разметки для описания мультипарт-MIME сообщений. Но как-то он мне не глянулся.
Я подумал, а может поискать командно-строчный почтовый клиент поприличние и самому вокруг него вимовский плагин накрутить?
Правда, от современной почты требуется как минимум поддердка smtp и imap, а также аттачментов (у himalaya все это есть).
Первый попавшийся в дистрибутиве клиент оказался s-nail. Вроде он все что надо умеет. И даже такая замечательная фишка как поддержка .netrc
там есть, чтобы пароли не хранить по куче конфигурационных файлов. Единственное что мне в нем не понравилось, так это то, что он не умеет сообщать о приходе новой почты, ежели запущен и ждет команды от пользователя. Традиционный mailx, который без аттачментов сетевых протоколов и юникода, по-моему это умел. Но тут вообще у автора отношение к imap какое-то странное.
Он, судя по документации даже выпилить его хотел, но пользователи очень попросили так не делать.
Зато автор в курсе что такое line-buffered stdio. И это оченьу упростит управление его программой из другой программы. например vim. В общем, возможно, правильный подход - написатьт плагин вокрут s-nail, потом для этого плагина написать свой mailx, с поддержкой IDLE и прочих imap-вкусностей (например на базе c-client от alpine).
Кстати, на сайте у автора есть еще его собственные реализации грейлистинга и dkim для postfix. Посмотреть на них что ли. Все равно собирался dkim у себя поднимать.
До недавнего времени я думал, что четыре. Оказывается, их семь
Оказывается, еще выделяются
Каждому из этих режимов соответствует своя верссяи команды map для назначения клавиатурных комбинаций. Правда для vmap работает не только в режиме Visual, но и в режиме Select, если мы хотим назначить команду, которая бы работала только в первом, нужно использовать xmap. Еще есть команда lmap, которая работает во всех местах где вводимые буквы являются текстом - в режиме вставки, в командной строке и в строке поиска.
Изучаю как в vim-е работать c Language Server Protocol с помощью плагина ale
Попутно выяснил, что, оказыватеся, кроме общего для всего редактора quickfix list, по которому перемещеются с помощью команд :cn, :cp, :cc, :cfirst, :cbefore и :cafter есть аналогичный location list, локальный для окна. И у него те же команды, но с префиксом не c, а l. А заполняют его командами lgrep, lmake и lfile.
А еще есть команда :cq N вызывающая выход из редактора без сохранения с кодом завершения N. Говорят, очень полезна для прерывания гитовых коммитов. Кто git commit из командной строки зовет. Хотя лучшие вимоводы в моем лице рекомендут fugitive.
А еще оказывается, если в командной строке vim набрать vim это будет почти то же самое. что grep, только с другим синтаксисом и с учетом некоторых переменных заданных с помощью :set. То есть полное имя команды - vimgrep.
А еще оказывается, что quickfix листы образуют стэк. Можно сделать новый посиск, новую компиляцию, а потом вернуться к результатом предыдущего с помощью команды :colder (кстати :lolder сокращается почему-то до :lol)
Солипсизм - это такая маргинальная секта, религия. священной книгой которой является рассказ Федора Кнорре "Соленый пёс".
Тут моя мама завела себе котенка. Зовут Машка или Муська или Манька.
Кошечка из выводка. родившегося в соседней деревне.
История почти детективная. Взять эту кошечку мама хотела еще в августе. Но в день отъезда кошка-мама взяла и спрятала своих котят, почуяла что-то. Через три недели мы приехали проводить в саду всякие осенние работы и кошечку таки отловили.
Но, говорят после этого остальных котят кошка куда-то увела и спрятала.
Продлил домен spacians.net до 2030 года. Благо у сестры, которая постоянно разъезжает по работе по всяким иным странам есть и американская карточка (с американским биллинг-адресом), и американская симкарта. Понадобилось и то и другое.
Вот задумался над тем что применить на новой vds-ке для управления файрволлом.
Раньше у меня был iptables-persistent, но сколько можно, iptables уже лет пять как deprecated.
В Debian умолчательным способом считается юнит nftables, который просто загружает вручную напсанный конфиг. Есть еще nftables-persistent, который работает так же как iptables-persistent т.е. сохраняет конфигурацию, а потом ее загружает, но средствами nftables.
Есть ufw, который использует bsd-шный синтаксис, а есть firewalld, который имеет крайне развесистую схему конфигурации. Насколько я понял firewalld, это попытка сделать из linux андроид, т.е. передать контроль над ситуацией от пользователя/сисадмина авторам приложений. Впрочем как я почитал ченджлоги systemd 258, идея сделать из линукса андроид потихоньку овладевает массами.
Мне, естественно, концепция firewalld не понравилась. Тем более что в имеющемся наборе конфигов как-то путаница между приложениями и протоколами. Например для imap, imaps, и managesieve - разные конфиги. Хотя сервис один и тот же.
Вот теперь думаю, nftables или nftables-persistent. Первый заставит выучить новый синтаксис (вообще-то давно пора), со вторым можно по-моему договориться, используя синатксис iptables (через iptables-nft).
X-Post to LJ