<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2026-01-03:4280807</id>
  <title>Sergeich</title>
  <subtitle>Sergeich</subtitle>
  <author>
    <name>Sergeich</name>
  </author>
  <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom"/>
  <updated>2026-04-25T21:22:09Z</updated>
  <dw:journal username="klink0v" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:12620</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/12620.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=12620"/>
    <title>ОколоITшный дыбр #143</title>
    <published>2026-04-25T21:22:09Z</published>
    <updated>2026-04-25T21:22:09Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Пока живой. Но чё-т работаю в режиме ошпаренной кошки, и из-за перепадов погоды колбасит. Плохо быть метеочувствительным.&lt;/p&gt;&lt;p&gt;... &amp;quot;&lt;a href="https://klink0v.livejournal.com/855286.html" target="_blank"&gt;Тот самый&lt;/a&gt;&amp;quot; проблемный Postgres таки смог перенести. К сожалению, pgcopydb мне в этом не помогла. Есть в ней какой-то баг, связанный с обработкой Large Objects, исправить который мне не под силу. В конце концов заменил в сервере шпиндель на SSD, поотключал все возможные журналы, добавил ядер CPU, немного поколдовал с настройками Postgres-а. Попросил разработчика какую-то часть Large Objects перенести в Bytea. Нарисовал отдельную XFS-ную файловую систему, на неё сдампил, потом &amp;quot;стандартный&amp;quot; restore, всё в 12 потоков. Уложился в один час (полчаса на дамп, ещё минут 20 на restore), такой простой сервиса мне согласовали. Так что условный happy end. Попутно указал разработчику на баги в софте, из-за которых Postgres жрал 100% CPU при не особо-то сильной коммерческой нагрузке. А всего-то надо было поменять &amp;quot;count&amp;quot; на &amp;quot;exists&amp;quot; и добавить парочку индексов.&lt;/p&gt;&lt;p&gt;... Другой заказчик жжот. Поставил на сервер с Postgres-ом антивирус кашперского (типа &amp;quot;бизапаснасть&amp;quot;) и кидает предъявы а хули оно всё так сильно тормозит и запрос вида &amp;quot;SELECT 1&amp;quot; выполняется по две минуты. Не было печали, теперь мне надо где-то найти лицензию на этого серверного кашперского, воткнуть похожую версию в похожей конфигурации на свои тестовые сервера и прогнать всё это. Чтобы значит заполучить на руки контрпредъяву. Вот блин, придумают на мои руки муки на ровном месте всякие личности с безопасностью головного мозга. Как будто мне больше заняться нечем. А сами они капец смешные. Прописали в sudoers запрет на выполнение от суперпользователя всевозможных шеллов и apt-а &amp;quot;по списку&amp;quot;, но при этом разрешили всё остальное. Ну да, ну да... И эти люди запрещают мне ковыряться в носу.&lt;/p&gt;&lt;p&gt;... Улышал новый термин: &amp;quot;наговноклодили&amp;quot;. Ржал 5 минут.&lt;/p&gt;&lt;p&gt;... Оказывается, ещё где-то прошлой осенью &amp;quot;Госуслуги&amp;quot; отказались от браузерного плагина собственной разработки (IFCPlugin) и переползли полностью на &amp;quot;Инфотекс&amp;quot;. Мало того, что по скудной фантазии создали путаницу, потому что раньше он назывался &amp;quot;Плагин госуслуги&amp;quot;, а сейчас &amp;mdash; &amp;quot;Госплагин&amp;quot;. Дык ещё и под FireFox чё-т его ни хрена не обновляют.&lt;/p&gt;&lt;p&gt;... Но есть и хорошие новости. Ростелек таки научился забирать с пресловутых &amp;quot;Госуслуг&amp;quot; зеленоградские адреса. Правда, проставляет неверные почтовые индексы и местами &amp;quot;теряет&amp;quot; номер квартиры, но это уже такие мелочи.&lt;/p&gt;&lt;p&gt;... Обнаружил в красном банке вклад, привязанный к ключевой ставке минус полтора процента. Странно, что про него не упоминают ни в каких обзорах, да и в профильных телеграм-каналах чё-т тишина. Правда, там есть ограничение по минимальной сумме и минимальному сроку, но сам факт.&lt;/p&gt;&lt;p&gt;... Уже не помню, постебался ли я про то, что день интернета в этот раз пришелся на 4 апреля (4.04) или нет. Символично. Но не отчаивайтесь. Математики утверждают, что следующий год (2027) будет простым.&lt;/p&gt;&lt;p&gt;... Наткнулся на &lt;a href="https://t.me/polden21/712" target="_blank"&gt;забавный материал&lt;/a&gt;. Оказывается, чума и массовое вымирание населения&amp;nbsp;&amp;mdash;&amp;nbsp;это не всегда плохо. Это я к тому, что &amp;quot;задним числом&amp;quot; мы все умные, а здесь и сейчас просчитать все возможные последствия не может никто. Разве что только ИИ, но и то сомнительно. Уж очень слишком много разных факторов, взаимное влияние которых друг на друга априори вообще не очевидно.&lt;/p&gt;&lt;p&gt;... Барыги до конца месяца предлагают тариф от мегафна с ебонентской платой 10 рублей с неплохим наполнением. Впрочем, его можно получить и без мзды барыгам, если не лень побегать по MNP. Другое дело, что кому он нафиг нужен, этот зелёный жаб?&lt;/p&gt;&lt;p&gt;... Если есть волкодав, где-то должен быть волковзяв?&lt;/p&gt;&lt;p&gt;... Оказывается, есть &lt;a href="https://ipv4-internet.yandex.net/api/v0/ip" target="_blank"&gt;удобный URL&lt;/a&gt; для того чтобы посмотреть свой &amp;quot;внешний&amp;quot; IP-адрес из консоли. Выдает только его одной строкой, и ничего лишнего.&lt;/p&gt;&lt;p&gt;Всем простого года и не встречаться с волковзявом.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=12620" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:12312</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/12312.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=12312"/>
    <title>Ремонт подкрался незаметно, глава 11</title>
    <published>2026-04-20T22:48:25Z</published>
    <updated>2026-04-20T22:48:25Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Супруга решила сделать генеральную уборку. Залезла под кровать пропылесосить. Случайно задела обои. Они очень легко оторвались. А под ними обнаружилась чёрная плесень.&lt;/p&gt;&lt;p&gt;При ближайшем рассмотрении выяснилось, что когда-то очень давно (точно больше 10ти лет тому назад, но никто уже не помнит когда именно) в квартире был потоп. У соседки через этаж выше лопнула гибкая подводка к унитазу и она достаточно сурово залила несколько квартир. А полы, понятно, не супер-ровные. В каком-то месте образовалась лужа. Из этой лужи напиталась водой гиповая стена. И это не современные пазогребневые плиты, а старая советская перегородка, выполненная по дендрофекальной технологии тех лет. И внутри перегородки в том числе начала расти та самая чёрная плесень. Мы её достатчно долго не замечали, потому что под виниловыми обоями было незаметно.&lt;/p&gt;&lt;p&gt;Так что мне пришлось вырезать поражённый плесенью кусок перегородки. Ломать &amp;mdash; не строить. Это довольно быстро. Но вот что делать дальше&amp;nbsp;&amp;mdash;&amp;nbsp;хороший вопрос. Особенно учитывая специфику дома и некоторые прочие вводные.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/009-renova/001-hole.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/009-renova/pr_001-hole.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;А специфика такова, что пол представляет собой &amp;quot;бутерброд&amp;quot; всё в том же духе советских дендрофекальных технологий. Сначала возлегают пустотелые бетонные плиты перекрытия. Обратите внимание на провод: он идёт к люстре соседа снизу, так что просто взять и перерезать его я не могу. Да, он под напряжением. Дальше на плиты засыпается песок. Да, обыкновенный речной песок. Потом весь этот пляж укрывается рубероидом. Поверх рубероида наливается толстый слой битума. На который укладывается оргалит. И уже на оргалит при помощи всё того же битума наклеивается паркетная доска.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/009-renova/002-floor.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/009-renova/pr_002-floor.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;С точки зрения шумоизоляции это шикарно. Можно дискотеку устраивать, соседи почти ничего не услышат. Но вот с точки зрения всего остального это сплошная боль и печаль. Дом &amp;quot;играет&amp;quot;, пол, мягко говоря, неровный. А если туда попадает вода (битум конечно гидрофобный, но не герметичный), то шансов куда-то деться ей оттуда почти что нет. Да, совсем уж озеро прольётся через швы к соседям снизу. Но вот остаточная влага, которой с удовольствем пропитается песок, может оставаться там годами. И соответственно, отсутствие инопланетных форм жизни в нём не гарантировано.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/009-renova/003-sandwich.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/009-renova/pr_003-sandwich.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;В моём случае ситуация отягчается ещё двумя обстоятельствами. Во-первых, предыдущий владелец квартиры перед продажей сделал в ней молдавский псевдоремонт. В частности, эти черти содрали в прихожей паркет и положили керамогранит прямо на оргалит, наляпав плиточного клея &amp;quot;на отъ***сь&amp;quot;. Понятно, что он ни фига не держится (можно снять голыми руками) и весь давно растрескался. Но раз уж демонтировать керамогранит, то тогда уж вместе с полусгнившим оргалитом. Который потянет за собой битумную стяжку, под которой слой песка. Под которым силовые кабели соседей снизу.&lt;/p&gt;&lt;p&gt;Во-вторых, я живу в этой квартире. С женой, двумя собаками и чёртовой кучей шмотья. И всё это физически некуда девать. Поэтому полностью заменить &lt;strike&gt;половое&lt;/strike&gt; напольное покрытие в комнате ну вообще не вариант. Проще уж сразу квартиру продать, бггг. Но продавать не хочу, мне нравится этот район.&lt;/p&gt;&lt;p&gt;Можно было бы ограничиться только прихожей и санузлом. Из серии &amp;quot;сожрать одну ногу у поросёнка и заменить её на протез&amp;quot;. В квартире появится три новых порога. Ну да и хрен бы с ними, допустим. Но непонятно на что менять. Нужно что-то быстросохнущее и водостойкое. Это только так называемая &amp;quot;полусухая стяжка&amp;quot;, то есть цемент с минимальным количеством воды. А сверху кинуть кусок линолеума. Но если делать самому, сказочно задолбаюсь. А если кого-то нанимать, то проблема найти исполнителя с руками из плеч. И да, повторюсь, дом &amp;quot;играет&amp;quot;. Поэтому песок с битумом в нём вполне неплохо обитают, а вот как поведёт себя бетоний&amp;nbsp;&amp;mdash;&amp;nbsp;большой-большой вопрос.&lt;/p&gt;&lt;p&gt;Так и живём. То понос, то золотуха. А я пока что думаю что делать с этими силовыми кабелями. Ибо там не только соседские, но и вполне себе мои пролегают. Которые всё тот же предыдущий владелец проложил руками молдаван между двумя слоями кафеля в санузле...&lt;/p&gt;&lt;p&gt;... После какого-то из обновлений ImageMagick стал &amp;quot;замыливать&amp;quot; ThumbNail-ы. С ним теперь тоже что-то придумывать нужно.&lt;/p&gt;&lt;p&gt;Жизнь&amp;nbsp;&amp;mdash;&amp;nbsp;боль. Я, вон, гляжу, кто-то в путешествия ездит. У кого-то хобби всякие. Кто-то в игрушки играет. А у меня только сплошная работа, собаки и бытовуха. Ладно, спасибо хотя бы на том, что есть жратва-одежда-жильё. По нашим временам это уже очень много.&lt;/p&gt;&lt;p&gt;&lt;a href="https://music.yandex.ru/album/61487/track/575067" target="_blank"&gt;&lt;i&gt;Эта жизнь не для белых.
Эта жизнь не для черных, нет.
Эта жизнь без надежды на просвет!&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=12312" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:12178</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/12178.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=12178"/>
    <title>Снова про телегу на смартфонах Huawei</title>
    <published>2026-04-12T23:02:44Z</published>
    <updated>2026-04-12T23:02:44Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/009-telega.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_009-telega.jpg" style="float: right;" /&gt;&lt;/a&gt;&lt;p&gt;Я, разумеется, имею в виду хуявые (Huawei) телефоны без гуглосервисов на борту.&lt;/p&gt;&lt;p&gt;У них &amp;quot;родным&amp;quot; магазином является AppGallery. И прежде чем попасть туда, приложение сперва проходит некую &amp;quot;оптимизацию&amp;quot; именно под хуявую оболочку EMUI. Плюс перезатачивается на работу с их собственным сервисом пушей (HMS Core). Поэтому публикация новых версий с AppGalley идет с существенной задержкой даже по сравнению с RuStore. Так, например, если сейчас актуальная версия Telegram под &amp;quot;обычный&amp;quot; Android 12.6.4, то в AppGallery на момент написания этого поста лежит только 12.5.2. И да, в ней всё ещё есть эти вопиющие баги с некорректными байтами в TLS Handshake, поэтому MTProto в России с ней не работает.&lt;/p&gt;&lt;p&gt;Чисто технически никто не мешает поставить на аппарат MicroG, а поверх APK-шку, скачанную с &amp;quot;telegram.org&amp;quot;. Но это тоже ж надо драйвер DirectHands последней версии иметь, знать в принципе про такую возможность, да и офсайт телеги в России тоже немного заблокирован. Вдобавок такой вариант будет кушать немного больше батарейки, нежели &amp;quot;заточенные именно под Huawei&amp;quot; софтины.&lt;/p&gt;&lt;p&gt;Есть другой вариант: найти какие-нибудь свободные аналоги в каком-нибудь F-Droid. Но вот беда. Проект Telegram FOSS схлопнулся. Nekogram уличен в сливе данных пользователей. Из всех халявных вариантов хоть как-то мантейнится разве что только ForkGram (ждем выхода SpoonGram), но стоит ли с ним связываться &amp;mdash; тоже вопрос. В любом случае, для него придется отключать контроль энергопотребления, чтобы он не терял входящие сообщения. Со всеми вытекающими.&lt;/p&gt;&lt;p&gt;Так что я несколько разочаровался в этих хуявых. Не, если телефон нужен главным образом для того, чтобы при его помощи делать обалденные фотографии, то лучше чем Huawei Pura 80 Ultra пока ещё ничего не придумали. Ему в спину дышат некоторые флагманские Vivo / IQOO, но последние официально не возят в Россию. А ежели на фотографирование побоку, то наверное и хуявый тоже ну нафиг с его ворохом проблем. Скорее тогда уж имеет смысл смотреть в сторону Honor или всё тех же Vivo.&lt;/p&gt;&lt;p&gt;И чтоб два раза не вставать. Я &amp;quot;на собственной шкуре&amp;quot; протестировал другие два бренда BBK Corporation: Oppo и Realme. Ни тот, ни другой не понравились, в основном по причине интерфейса. В Realme дико выбесила невозможность вынести из &amp;quot;шторки&amp;quot; в самостоятельный ярлык / виджет функции блокировки экрана и сканера QR-кодов. В Oppo с этим нормально, но зато не заработал VoWiFi на Ростелекоме. Ну блин, ё-моё, не понос, так золотуха. Из всего многообразия пока что своими клешнями не щупал Transsion-овские изделия и всякие Nothing / OnePlus. Пока что повода нет, и надеюсь, в ближайшие пару лет не появится. Если выбирал бы себе телефон сейчас, то взял бы Vivo X200FE по акцЫи.&lt;/p&gt;&lt;p&gt;Всем хороших смартфонов и свежепокрашенной телеги.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=12178" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:11816</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/11816.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=11816"/>
    <title>Идёт борьба бобра с козлом</title>
    <published>2026-04-12T00:58:33Z</published>
    <updated>2026-04-12T00:58:33Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>5</dw:reply-count>
    <content type="html">&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/008-bobrozel.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_008-bobrozel.jpg" style="float: right;" /&gt;&lt;/a&gt;&lt;p&gt;Тут уважаемый тов. &lt;span style='white-space: nowrap;'&gt;&lt;a href='https://khmurik.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://khmurik.dreamwidth.org/'&gt;&lt;b&gt;khmurik&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; подогнал несколько ссылок на интересные статьи по околочебурнетной тематике на хабр и не только. Оставлю себе чтобы не потерялись. Все заинтересованные тоже могут сходить ознакомиться. Ниже тезисно совсем краткое содержание для тех, кому лень читать и некоторые мои выводы.&lt;/p&gt;&lt;p&gt;Сами ссылки: &lt;a href="https://habr.com/ru/articles/1006666/" target="_blank"&gt;раз&lt;/a&gt;, &lt;a href="https://habr.com/ru/articles/1020080/" target="_blank"&gt;два&lt;/a&gt;, &lt;a href="https://habr.com/ru/news/1021908/" target="_blank"&gt;три&lt;/a&gt;, &lt;a href="https://www.securitylab.ru/news/571309.php" target="_blank"&gt;четыре&lt;/a&gt;, &lt;a href="https://stats.gptru.pro:4443/rst/" target="_blank"&gt;пять&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Краткая суть.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Госмессенджер &amp;quot;Скам&amp;quot; есть суть Spyware с неким единым &amp;quot;центром управления&amp;quot;. КМБУ.&lt;/li&gt;
&lt;li&gt;Пресловутый &amp;quot;Скам&amp;quot;, а также ряд другого аналогичного софта, является помимо прочего инструментом проверки того, как провайдер выполняет требования по цензуре и блокировкам. Считай, карманный &amp;quot;ревизор&amp;quot;.&lt;/li&gt;
&lt;li&gt;&amp;quot;Скам&amp;quot; и продукция других подментованных контор умеют выявлять наличие КВНов на потребительских устройствах (смартфонах). И не просто выявлять, а докладывать о них &amp;quot;куда следует&amp;quot;. С целью аналитики и последующей блокировки серверов.&lt;/li&gt;
&lt;li&gt;Выявление КВНов идет при помощи отсылки запросов к нескольким серверам, возвращающих IP-адрес клиента. Наподобие вот &lt;a href="https://ipv4-internet.yandex.net/api/v0/ip" target="_blank"&gt;такого&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Попутно идет сканирование по всему диапазону портов хоста 127.0.0.1 на предмет поиска работающих на нём прокси-серверов.&lt;/li&gt;
&lt;li&gt;Многие реализации КВНов используют локально запущенный SOCKS5-сервер, слушающий на 127.0.0.1 без авторизации. Таким образом обходятся механизмы изоляции Android.&lt;/li&gt;
&lt;li&gt;Для большинства &amp;quot;приватных самодельных&amp;quot; КВН-ов&amp;nbsp;&amp;quot;точка входа&amp;quot; совпадает с &amp;quot;точкой выхода&amp;quot;, что позволяет их обнаруживать и однозначно идентифицировать.&lt;/li&gt;
&lt;li&gt;ТЬФУ могут обрубать соединения до неугодных серверов, посылая TCP RST в обе стороны, подставляя при этом в качестве&amp;nbsp;SRC IP реальные адреса участников обмена данными.&lt;/li&gt;
&lt;/ul&gt;Выводы.&lt;ul&gt;
&lt;li&gt;Скамом лучше не пользоваться в принципе. А если пользоваться, то ставить на отдельный телефон без КВНов.&lt;/li&gt;
&lt;li&gt;То же касается и остального российского софта, включая Яндекс.Карты, Сбер, Озон и далее по списку.&lt;/li&gt;
&lt;li&gt;Лучше использовать решения без встроенного Socks-сервера, с &amp;quot;честной&amp;quot; маршрутизацией и с возможностью пропускать в тоннель отдельные приложения. Мне пока известны два таких клиента, возможно их больше. Но оба эти клиента не смогут преодолеть границу чебурнета.&lt;/li&gt;
&lt;li&gt;Точка входа не должна совпадать с точкой выхода. В идеале точка входа должна находиться внутри чебурнета. Но для не-ITшников такое сделать будет слишком сложно. А &amp;quot;готовые&amp;quot; КВНы с точкой входа в России вам вряд ли кто-то продаст, т.к. слишком легко найти и навалять организатору.&lt;/li&gt;
&lt;li&gt;Даже когда точка входа не совпадает с точкой выхода, всё равно остаются возможности для сопоставления двух &amp;quot;плеч&amp;quot; трафика. Поэтому нужно следить, чтобы случайно не зайти на какой-нибудь из подментованных сервисов из КВН.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;А вообще конечно смешно. Даже обычная медсестра в муниципальной стоматологической клинике нонче знает что такое КВН и как в него попадать. Будем считать, что это такая массовая кампания по повышению уровня IT-грамотности среди населения.&lt;/p&gt;&lt;p&gt;Всем бобра.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=11816" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:11522</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/11522.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=11522"/>
    <title>Juniperобсирание, серия 24</title>
    <published>2026-04-09T15:43:25Z</published>
    <updated>2026-04-09T15:43:25Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>1</dw:reply-count>
    <content type="html">&lt;p&gt;&lt;a href="http://photos.staser.ru/klink0v/2020/006-itdybr/001-jduniper.jpg"&gt;&lt;img src="http://photos.staser.ru/klink0v/2020/006-itdybr/pr_001-jduniper.jpg" style="float: right;" /&gt;&lt;/a&gt;Очередные увлекательные эротические приключения с индийской кривой сетевой псевдожелезкой под названием &amp;quot;Juniper SRX&amp;quot;.&lt;/p&gt;&lt;p&gt;В энный раз на игрековой технической площадке меня достали всякие скрипткиддисы и прочие порт-сканеры. Всё бы ничего, но когда они &amp;quot;идут&amp;quot; по всему диапазону ASки, Juniper начинает генерировать ARP-запросы к хостам, которых нет. Потом он решает, что этих ARP-запросов как-то зело много, включает троттлинг, перестаёт откликаться на ARP от BGP-соседа и тем самым начинает терять полезный коммерческий трафик. Подход дебильный сам по себе, но ничего не поделаешь.&lt;/p&gt;&lt;p&gt;Тогда я озаботился тем, чтобы сформировать &amp;quot;белые списки&amp;quot; (скоро будет ругательством) из хостов, реально присутствующих в моей ASке. А заодно чётко перечислить весь полезный трафик, а остальной отфильтровать на &amp;quot;низкоуровневом&amp;quot; stateless-файрволле (pfe) чтобы не допускать всякий мусор до stateful-полисира и тем самым повысить живучесть этого несчастного ждунипера при всевозможных сканированиях и DDoS-атаках.&lt;/p&gt;&lt;p&gt;Штош, сказано &amp;mdash; сделано. Перечень полезной нагрузки составлен, правила написаны. И всё было бы хорошо, но помимо прочего в списки затесалась парочка GRE-тоннелей. А GRE-тоннель по мнению жуниперов&amp;nbsp;&amp;mdash;&amp;nbsp;это что особенное, сакральное, и общим правилам ни фига не подчиняющееся.&lt;/p&gt;&lt;p&gt;Я пошел &amp;quot;в лоб&amp;quot;. Source IP такой-то, Destination IP такой-то (мой собственный), протокол GRE, действие &amp;quot;разрешить&amp;quot;. Всё остальное запретить. Применяю набор правил на &amp;quot;внешний железный&amp;quot; интерфейс, направление &amp;quot;только на вход&amp;quot; (input). И всё падает. Протираю &lt;strike&gt;очки&lt;/strike&gt; глаза, дважды всё перепроверяю. Снова применяю. Снова всё падает.&lt;/p&gt;&lt;p&gt;Дальше я стал размышлять в сторону маршрутизации. Потому что тот Juniper SRX у меня разбит на несколько Virtual Routers, ибо через те самые GRE-тоннели проложены маршруты по умолчанию для некоторых сервисов. А у GRE и с этим приколы, кому интересно можете посмотреть в &lt;a href="https://supportportal.juniper.net/s/article/SRX-Configuration-of-a-GRE-tunnel-when-the-tunnel-destination-is-in-a-routing-instance" target="_blank"&gt;документации&lt;/a&gt; и &lt;a href="https://alexankers.com/networking/juniper-srx-overlay-underlay-gre-tunnel-vrfs/" target="_blank"&gt;другие гневные посты&lt;/a&gt;. Была версия, что при &amp;quot;accept&amp;quot; входящий пакет в какой-то &amp;quot;не тот&amp;quot; routing instance приземляется. Но она разбилась об то, что accept &amp;quot;на весь GRE&amp;quot; без указания Source Address вполне себе отрабатывает. А вот если определить SRC IP, то уже нет.&lt;/p&gt;&lt;p&gt;Долго мучался. Благо, у меня дома есть Juniper SRX точно такой же линейки. Прикупил как раз для таких вот опытов. Стал ковырять. И выяснил прекрасное.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Исходящий&lt;/b&gt; GRE-пакет тоже попадает под критерий &amp;quot;&lt;b&gt;input&lt;/b&gt;&amp;quot; внешнего физического сетевого интерфейса. Да-да. Исходящий. Уже &amp;quot;упакованный&amp;quot; (после инкапсуляции). Тот который готовится уйти внаружу. В input. На внешний железный интерфейс. Именно так.&lt;/p&gt;&lt;p&gt;Моя реакция ожидаема: сссссууууккккааааа!!!! Нигде в документации про это не сказано. Вообще нигде. Как я должен был про такое догадаться? И такое бл****во наблюдается &lt;b&gt;только&lt;/b&gt; для GRE. С тем же IPSec-ом, например, вопросов нет; оный отрабатывает обычным ожидаемым образом: ESP ушел в output, ESP пришел в input.&lt;/p&gt;&lt;p&gt;В итоге добавил &amp;quot;зеркальное&amp;quot; разрешающее правило в общий набор, в тот же самый &amp;quot;input&amp;quot;, и всё стало хорошо. Но как бычно, цензурных слов у меня нет, один мат.&lt;/p&gt;&lt;p&gt;Где логика? Где справедливость?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=11522" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:11482</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/11482.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=11482"/>
    <title>Ёлочные игрушки</title>
    <published>2026-04-07T21:05:20Z</published>
    <updated>2026-04-07T21:05:20Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Когда-то давно &lt;a href="https://klink0v.livejournal.com/605670.html" target="_blank"&gt;я выкладывал видос&lt;/a&gt; с авиационными часами, которые один предприимчивый лётчик-испытатель прихватил себе со списанного самолёта, а потом оставил в наследство дочке. Точнее, даже два прибора. Один из них излучает &amp;quot;всего&amp;quot; в 300 раз больше природного фона, второй &amp;mdash; в тысячу раз. Пока стекла этих &amp;quot;будильников&amp;quot; целые, почти что никакой опасности они из себя не представляют. Но ту барышню мы с супругой всё же ласково уговорили сдать эти реликвии в МЧС от греха подальше.&lt;/p&gt;&lt;p&gt;Но мало кто знает, что СПД (светомасса постоянного действия) в советские времена наносилась не только на циферблаты всевозможных показометров, но и на самые обычные ёлочные игрушки. В середине прошлого века до событий в полынь-городе по поводу радиации особо не парились. Да чего далеко за примерами ходить, даже брат моего деда как-то спёр с оборонного завода какие-то прикольно светящиеся в темноте пластинки, а вскоре после этого умер от рака. Так что вероятность обнаружить у себя дома ёлочную игрушку с СПД не то чтобы сильно большая, но и не нулевая.&lt;/p&gt;&lt;p&gt;И вот супруга в каком-то ВКонтактовском паблике обнаружила сообщение от некоей дамы, которая где-то увидела / услышала / прочитала / ознакомилась с этой темой про советские ёлочные игрушки, вспомнила что у неё на антесолях хламится целый огромный сундук с оными, и её накрыло паникой. Она теперь боится, что этот сундук облучил всё вокруг; всё что лежало рядом тоже якобы стало радиоактивным; что они теперь все умрут. И не знает куда бежать и что делать.&lt;/p&gt;&lt;p&gt;Мы ей как могли, конечно, объяснили что надо у кого-нибудь одолжить &amp;quot;правильный&amp;quot; дозиметр с датчиком достаточной площади чувствительности (цилиндрические газоразрядные счётчики скорее всего ничего не обнаружат) и померять. Но дальше начались совсем смешные вопросы.&lt;/p&gt;&lt;blockquote&gt;А почему дозиметры показывают разную величину? Наверное, какой-то настроен только на альфа излучение, другой на гамму, по ходу надо несколько иметь, чтоб наверняка.&lt;/blockquote&gt;&lt;p&gt;Я сперва поржал. А потом задумался. Какого хрена этому не учат в той же средней школе? Были же всякие там уроки ОБЖ, НВП и прочая муть, на которых какой-нибудь старый пердун из отставных вояк зачитывал вслух что-то очень скучное и никому не нужное по бумажке. А тут вот совершенно реальная ситуация, и люди вообще не представляют себе как пользоваться обыкновенным бытовым дозиметром.&lt;/p&gt;&lt;p&gt;Не ровен час, такие знания могут и пригодиться, увы. То Донни грозится кинуть батон на Ближний Восток. То территорию Курчатника экскаваторами собираются разворошить. То ещё что-нибудь. А в школе вместо полезных применимых на практике знаний втирали (и продолжают втирать) какую-то дичь. И ютуб &amp;quot;до кучи&amp;quot; заблокировали. На чём учиться-то прикажете? На собственной шкуре? Дык дорого очень выходит.&lt;/p&gt;&lt;p&gt;Кстати, поднимите руку, кто не загугливаясь сможет прям &amp;quot;с ходу&amp;quot;, по памяти ответить какое природное явление стоит за словом &amp;quot;Fallout&amp;quot;, кто первым с этим явлением столкнулся, при каких обстоятельствах и что с ним(и) потом случилось? Понятно, что один запрос в любую ИИшку моментально всё прояснит. А если в гугол лезть уже поздно, а тут как раз какой-то странный снег с неба сыпется?&lt;/p&gt;&lt;p&gt;Всем ёлочных игрушек без сюрпризов и хорошего дозиметра под рукой.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=11482" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:11160</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/11160.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=11160"/>
    <title>Бизапаснасть такая бизапаснасть</title>
    <published>2026-04-06T13:32:07Z</published>
    <updated>2026-04-06T13:33:48Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Один местечковый ИБшник сделал вход на SSH / SFTP сервер с двухфакотной&amp;nbsp;(двухфакторной, оговорка по Фрейду)&amp;nbsp;аутентификацией посредством TOTP. При этом настроить синхронизацию времени на сервере он не потрудился. Это всё что вам нужно знать про ынхформационныхъ бизапасников. И да, 9 из 10 окажутся именно такими &amp;quot;высокохвалифицырованными спецыализдами&amp;quot;.&lt;/p&gt;&lt;p&gt;Про то, что примерно половина таких &amp;quot;бизапасников&amp;quot; даже рядом не в теме как работает линуксовый pam.d (тот который &amp;quot;Pluggable Authentication Modules&amp;quot;), я просто промолчу. Хорошо заметно по тому, какой бред они в конфигах оного пишут.&lt;/p&gt;&lt;p&gt;... Другой заказчик возжелал зачем-то провести проверку по БКИ (бюро кредитных историй) сотрудников компании-подрядчика. Якобы &amp;quot;для минимизации рисков бизнеса&amp;quot;. Что само по себе попахивает бредятиной. Оный заказчик разослал анкеты с требованием предоставить им все свои паспортные данные и согласие на передачу своих персданных всем кому не лень. Но больше всего я уссался от псевдоюридических формулировок в этой &amp;quot;анкете&amp;quot;.&lt;/p&gt;&lt;blockquote&gt;Подписанием настоящей Анкеты (ФИО Сотрудника) я (далее &amp;ndash; Субъект персональных данных), действуя свободно, своей волей и в своем интересе, а также подтверждая свою дееспособность, даю согласие ...&lt;/blockquote&gt;&lt;p&gt;Ну да, ну да, как же. У меня просто охренеть какой лютый &amp;quot;свой интерес&amp;quot; админить их сраные сервера. Глаза бы мои их не видели сто лет. И если я не подпишу эту е**лу, они сервера админить не пустят, а моё руководство начнёт на меня давить. Пипец просто насколько &amp;quot;свободно&amp;quot; я действую, ага. Прям свободней некуда. И то, как я своей подписью героически подтверждаю свою дееспособность, это прям какая-то инновация в юриспруденции и психиатрии. Раз могу подписать, значит автоматически дееспособен? Нннну-нннну.&lt;/p&gt;&lt;blockquote&gt;Настоящее согласие действует с момента его подписания ... но в любом случае не более 1 (одного) года с даты завершения указанных в п. 2 мероприятий.&lt;/blockquote&gt;&lt;p&gt;Ха-ха, а я как будто знаю когда там они завершат свои мероприятия. Кто бы помешал им 100 лет эти свои &amp;quot;мероприятия&amp;quot; проводить. Всё равно передо мной никто не отчитается.&lt;/p&gt;&lt;blockquote&gt;Настоящее согласие может быть отозвано Субъектом персональных данных путем направления письменного заявления Оператору персональных данных по адресу, указанному в начале согласия.&lt;/blockquote&gt;&lt;p&gt;Ну да. На деревне дедушке. Пишите письма. Что такое &amp;quot;начало согласия&amp;quot;? Что такое &amp;quot;начало конца&amp;quot;, я ещё могу себе представить. Но что такое &amp;quot;начало согласия&amp;quot;? И где у него середина и конец? И которому именно &amp;quot;Оператору персональных данных&amp;quot;? Их там шесть штук в этой анкете перечислено.&lt;/p&gt;&lt;p&gt;И ведь какие-то мамкины юризды это на всё на серьёзных щщщах составляли. А теперь пытаются заставить меня это подписать. М-дя.&lt;/p&gt;&lt;p&gt;Страна победивших вахтёров.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=11160" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:10902</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/10902.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=10902"/>
    <title>Канализационное</title>
    <published>2026-04-05T19:57:24Z</published>
    <updated>2026-04-05T19:57:24Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... В тех локациях, где проживаю я сам, или которые находятся на моём обслуживании, нет никакой гофры на сточных трубах. Нигде. Это правило. Потому что меня дико напрягает это всё чистить когда оно засоряется. Везде где можно, я стараюсь ставить прямоточные сифоны. По этой же причине.&lt;/p&gt;&lt;p&gt;Однако с момента переезда в свою берлогу в далёком 2014-м году, в кухонной мойке таки стоял &amp;quot;родной&amp;quot; ИКЕЕвский бутылочный сифон с гофрой. Помните такую фирму? Да, потому что и кухня &amp;quot;Икеевская&amp;quot;, и мойка тоже. Пока я жил один, было как-то пофиг. Когда появилась жена и две собаки, сифон начал достаточно часто (по моим меркам) забиваться. Волосы, жир, шерсть, остатки каши и вот это всё, ага. Собрался с духом, зарядился героизмом и таки решился заменить тоже на &amp;quot;прямоток&amp;quot;. Получилось что-то типа такого (фотки кликабельные).&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/008-sewer/001-drain.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/008-sewer/pr_001-drain.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Шо я могу сказать по этому поводу. С этими вашими компуктерами я уже давно отвык работать руками. Переделка заняла целый день. Не ел, не готовил, просто вот как проснулся, вытряхнул собак и пошёл фигачить. Часов с 12ти и до 23-ех не отрываясь. Сломал две биты для шуруповёрта. Закрутил две шпильки так, что &amp;quot;ни туда, ни сюда&amp;quot;. Пришлось отпиливать полотном по металлу в крайне неудобной позе в стесненном пространстве. Теперь всё болит так, что уже ничего не хочется. М-дя, надо бы больше физической нагрузки на регулярной основе что ли где-то брать.&lt;/p&gt;&lt;p&gt;И ещё мне непонятно / бесит, почему для этих сточных труб в природе не существует штатного крепежа для фиксирования непосредственно фитингов (тройников, уголков и т.п.), а не только лишь прямых участков. Потому что как правило мне именно фитинги как раз и нужно прикручивать к стене. Приходится изгаляться примерно как на этой фотке. Колхозно, но как по-другому, я плохо себе представляю.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/008-sewer/002-fix.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/008-sewer/pr_002-fix.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Если вдруг кому интересно, под той же мойкой у меня размещен фильтр с обратным осмосом и двумя накопительными бачками. Один бачок на время манипуляций отстегнул и убрал чтобы не мешал. Большая чОрная хреновина &amp;mdash; это диспоузер (измельчитель пищевых отходов). Неоднозначная штука. С одной стороны, удобно. Биоразлагаемый мусор уходит туда, а остальной можно выносить не так часто, ибо всё равно не воняет. С другой стороны, я таки умудрился его (точнее отвод сразу после него) пару раз наглухо забить измельчёнными картофельными очистками. Плюс под ножи ему иногда попадают обломки костей (говяжьих, куриных или рыбных) и заклинивают оные ножи. Приходится тоже всё разбирать и выковыривать. Так что с некоторых пор я в него кости стараюсь не кидать. Но тогда возникает вопрос практической полезности сей приблуды.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/008-sewer/003-filter.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/008-sewer/pr_003-filter.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;К новому сифону у меня тоже есть некоторые вопросы. С одной стороны, он прямоточный, так что по идее забиваться не должен бы. И если увеличить фотографию, то можно лицезреть на торце слева поворотную красную затычку, которую можно вытаскивать и получать доступ к кишкам этого самого сифона. Вроде как круто придумано. Но есть две проблемы.&lt;/p&gt;&lt;p&gt;Во-первых, внутри сифона постоянно присутствует довольно существенный объем воды, ибо диаметр трубы четыре сантиметра. И при вытаскивании затычки где эта вода оказывается, угадайте? Какую-либо ёмкость в этот момент под него тоже не особо подставишь, ибо монтируется это всё вплотную к стене.&lt;/p&gt;&lt;p&gt;Во-вторых, стоит хоть немного деформировать сифон (например, монтажными напряжениями), как профиль горизонтальной трубы превращается в &amp;quot;яйцо&amp;quot; и из-под этой затычки начинает подтекать. Понятно, что не нужно применять лишний раз силу, но всё равно неприятно.&lt;/p&gt;&lt;p&gt;И еще не очень понятно насколько он будет или не будет забиваться в условиях реальной эксплуатации. Вот это верхнее переливочное колено под углом 135 градусов (или 45, если мерять против часовой стрелки) вызывает у меня некоторые опасения. Пока что работает, посмотрим что будет дальше.&lt;/p&gt;&lt;p&gt;... А с телегой интересно получилось. Вот &lt;a href="https://habr.com/ru/articles/1019200/" target="_blank"&gt;статья на хабре&lt;/a&gt;. Павел Валерьевич и компания сделали примерно ничего, только лишний раз пропиарились. Под iOS заплатки нет, под Android пока что не выложили. Да и когда выложат, проживёт он всё равно недолго. В той же статье объясняется почему. Так что в обозримом будущем MTProto-прокси&amp;nbsp;&amp;mdash;&amp;nbsp;не вариант. Если только Павел Валерьевич не доведёт свой программный продукт до ума. Но ему, похоже, уже давно пофиг, поскольку не удалось монетизировать свои вложения таким образом, каким бы ему хотелось. И бороться за российский рынок он вряд ли станет. Так что будущее телеги в цензурируемых чебурнетах весьма туманно, особенно учитывая постоянно усиливающееся давление на КВНы. Впрочем, как и состояние всего телекома в России в целом.&lt;/p&gt;&lt;p&gt;Всем незасоряющихся сифонов и регулярной физической нагрузки.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=10902" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:10672</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/10672.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=10672"/>
    <title>ОколоITшный дыбр #142</title>
    <published>2026-04-04T00:07:15Z</published>
    <updated>2026-04-04T00:07:15Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">&lt;p&gt;... Атака на DNS-сервера моей конторы длилась примерно двое суток и закончилась так же неожиданно как и началась. Чё это вообще было и кому оно понадобилось, навсегда останется загадкой. Я сам теперь смотрю в сторону DNSDist из комплекта PowerDNS. Думаю, рано или поздно неплохо было бы прикрутить фильтрацию входящих запросов по MaxMind-овскому GeoIP. Хотя бы можно будет целыми регионами подести в бан отправлять. А вообще интересно какие в принципе бывают DDoS-оустойчивые DNS-сервера.&lt;/p&gt;&lt;p&gt;... Озон в очередной раз напомнил мне, что все люди смертны. Ну спасибо, родной, а то я так будто не знаю. Скриншот кликабельный.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/005-death.png"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_005-death.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;... В этом году православная пасха приходится на день космонавтики. По мне так, подобное предзнаменование похлеще всяких сельдяных королей будет. И что-то мне подсказывает, что некоторые личности будут отмечать и то, и другое. И ведь ни одна извилина в голове не дрогнет...&lt;/p&gt;&lt;p&gt;... Говорят, что WD вернулась к теме увеличения количества головок в ыыыновацыыонных HDD. Называют это &amp;quot;&lt;a href="https://habr.com/ru/news/993468/"&gt;Dual Pivot&lt;/a&gt;&amp;quot;. Грозятся довести IOPSы до уровня SSD. Хм, &lt;a href="https://habr.com/ru/companies/1cloud/articles/345290/"&gt;многоактуаторные диски&lt;/a&gt; мы где-то раньше уже видели, но чё-то они не стали сильно популярными. Посмотрим, чем удивит WD. Вот что улетевший в небеса ценник на оперативную и флеш-память творит.&lt;/p&gt;&lt;p&gt;... Попробовал ещё погонять pgcopydb для &amp;quot;&lt;a href="https://klink0v.livejournal.com/855286.html"&gt;быстрой логической миграции&lt;/a&gt;&amp;quot;. Не проканало. Софтина с хорошей задумкой, но на перекачке Large Objects спотыкается и подвисает. Придется искать какие-то другие варианты. И да, для Java-программистов, как оказалось, всё-таки есть разница между &amp;quot;просто bytea&amp;quot; и Large Objects. В первом случае отжирается Heap, во втором &amp;mdash; нет, т.к. работа идёт через отдельные классы по другим алгоритмам. Поэтому они эти LO так и любят.&lt;/p&gt;&lt;p&gt;... Обнаружил тут с некоторым удивлением, что если у тебя подключен / работает IPv6, то Мегафно тебя выпускает через отдельный &lt;a href="https://en.wikipedia.org/wiki/NAT64" target="_blank"&gt;NAT64&lt;/a&gt;. Внешне это выглядит так, что если ты идешь на один и тот же хост без поддержки IPv6 по DNS-имени и по IP-адресу, то для этого хоста ты пришел как будто бы с разных SRC IPv4, т.к. эти две дорожки пройдут через два разных NAT-а оператора. У меня только один вопрос: на ***, а главное зачем? Есть конечно предположение, что инженеры Мегафна тренировались NAT64 поднимать, но в такую версию верится с трудом. Серые адреса закончились? Тоже звучит как бред.&lt;/p&gt;&lt;p&gt;... ZeroSSL не работает если на запрашивающем сертификат сервере есть только IPv6 без IPv4. Странно. Шел 2026-й год. Понятно, что всегда есть Lets Encrypt, у которого подобной проблемы даже рядом нет. Но всё равно полезно иметь запасной вариант. &amp;quot;Случаи-то разные бывают.&amp;quot; &amp;copy; Поручик Ржевский.&lt;/p&gt;&lt;p&gt;... Рогатые Козлы и Негодяи запретили башлять фруктовой компании с баланса лицевых счетов ОПСОСов. В ответ огрызки &lt;a href="https://t-j.ru/news/icloud-delete/" target="_blank"&gt;разрешили россиянам менять регион&lt;/a&gt;. Бабло традиционно побеждает зло. Хотя чего я радуюсь? Мне-то ваще пофиг. Всегда говорил, что огрызки &amp;mdash; удел мазохистов со стажем.&lt;/p&gt;&lt;p&gt;... А вот по количеству и качеству вносимых в жерло бешеного принтера законодательных инициатив складывается чёткое ощущение, что в этой_стране&amp;trade; решили окончательно похоронить связь. Ну или как минимум вернуть её в состояние середины 90-ых. Всё бы ничего, но следом и экономика скатится на уровень примерно Ирана-Эфиопии. Грустно всё это. Не успел я свалить пока был молодым, а сейчас уже и слишком сложно, и непонятно куда.&lt;/p&gt;&lt;p&gt;... Трактористы аккурат первого апреля выложили у себя новость про базовую станцию на аэростате. Кстати, &lt;a href="https://www.comnews.ru/content/244511/2026-04-01/2026-w14/1008/mts-vsekh-nadul-zapustiv-aerostat-c-lte-bortu" target="_blank"&gt;вот новость&lt;/a&gt; от мастеров заголовка. И непонятно, то ли это розыгрыш, то ли правда. Но говорят, что всё-таки правда.&lt;/p&gt;&lt;p&gt;... Вот &lt;a href="https://moslenta.ru/news/lyudi/moskvichei-razvezut-po-kladbisham-03-04-2026.htm" target="_blank"&gt;ещё одна новость&lt;/a&gt; от мастеров заголовка. Неоднозначно звучит, да. &amp;quot;Судмедэксперт умер, но всё равно поехал на работу&amp;quot;.&amp;nbsp;&amp;copy; Чорный народный юмор.&lt;/p&gt;&lt;p&gt;... Странно, что в ProxMox-е нет возможности осуществлять копипасту при работе через &amp;quot;вебмордную&amp;quot; консоль. Даже в ср***м libvirt такое есть. Понятно, что можно ssh-ем на гипервизор и оттуда &amp;quot;qm terminal&amp;quot;. Или Spice-ом, если на виртуалке установлены иксы. А если ни того, ни другого? Вроде немолодой продукт-то уже, а всё равно чего-то не хватает.&lt;/p&gt;&lt;p&gt;... Если у вас телега скрипит и не едет, то не мучайте близкие звёзды. А срочно бегите обновлять клиентов. Десктопный до версии 6.7.2, андроидный до версии 12.6.4. Всё что ниже в России без КВНа уже точно работать не будет. Рогатые Козлы и Негодяи постарались. Настолько, что аж на несколько часов банки и СБП уложили.&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/006-brigada.jpg" /&gt;&lt;/p&gt;&lt;p&gt;Всем смазанной телеги и пережить день космонавтики.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=10672" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:10421</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/10421.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=10421"/>
    <title>DDoS на DNS</title>
    <published>2026-04-01T07:29:15Z</published>
    <updated>2026-04-01T07:29:55Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Не знаю, все ли видели &lt;a href="https://habr.com/ru/companies/first/articles/1017244/" target="_blank"&gt;новость&lt;/a&gt; про npm и axios. Учитывая количество &lt;strike&gt;быдлокодеров&lt;/strike&gt; фронтендеров и вайб-кодеров, астрологи объявляют неделю пополнения ботнетов.&lt;/p&gt;&lt;p&gt;... Опять же не знаю, связано ли как-то с предыдущей новостью или нет. Но прямо сейчас DNS-сервера моей конторы жестко дудосят. С пресловутых ботнетов. Которые размещены главным образом на сетях Google, Microsoft. Но и во всяких Яндексах-Селектелах тоже есть.&lt;/p&gt;&lt;p&gt;Причем, атака довольно мерзотная. Идет на порт TCP:53. Открывается соединение, &amp;quot;ради приличия&amp;quot; запрашивается что-нибудь, а потом TCP-сессия просто висит в &amp;quot;Established&amp;quot;. Клиентский пул DNS-сервера переполняется, он перестает отвечать на запросы. Но не на все. UDP продолжает откликаться, а вот DNSSec, EDNS и трансферы зон идут лесом.&lt;/p&gt;&lt;p&gt;И что с этим всем делать, мне непонятно. Я конечно как мог накидал диапазонов в NFTables, но это не решение, а костыль. Нужен, видимо, какой-то другой DNS-сервер, который устойчив к подобному свинству. Но какой?&lt;/p&gt;&lt;p&gt;... Вроде ЖЖ теперь &amp;quot;исконно российский&amp;quot;, &amp;quot;Сбер, Родина&amp;quot;, все дела. Но чё-то &amp;quot;l-stat.livejournal.net&amp;quot;, торчащий где-то на сетях Мегафна, ни черта не отккликается. Доблокировались-с...&lt;/p&gt;&lt;p&gt;Всех с днём дурака, всесильного и вездес(с)ущего.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=10421" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:10160</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/10160.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=10160"/>
    <title>Постгресово-бэкапное</title>
    <published>2026-03-30T19:29:10Z</published>
    <updated>2026-03-30T19:29:10Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Всю жизнь (точнее, последние шесть лет, бггг) бэкапил PostgreSQL тупо самописными скриптами с pg_basebackup внтури. Теперь подумал, что надо бы какое-нибудь более-менее &amp;quot;user-friendly&amp;quot; решение прикрутить. Стал искать-выбирать. И чё-то как-то всё грустно.&lt;/p&gt;&lt;p&gt;Что есть &amp;quot;из классики&amp;quot;.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Barman. Неплохо, но под капотом всякие voodoo в виде жестких ссылок (hard links) и rsync-а чтобы забирать WAL-ы. От безысходности я конечно подпишусь на такое, но хотелось бы всё же без хардкора. Из плюсов: изначально годится на бэкап нескольких серверов / кластеров, что мне актуально.&lt;/li&gt;
&lt;li&gt;pg_probackup. Платная. В community-версии самого вкусного нет, и поговаривают что к следующим релизам её вообще забросят.&lt;/li&gt;
&lt;li&gt;PgBackRest. Питонописная, плюс к ней можно прикрутить отдельную (3rd party) веб-морду. Недостатка по сути два. Под каждый сервер нужно создавать отдельный репозиторий, конфигурационный файл раздувается пропорционально. И WAL-ы умеет только push-ить при помощи archive_command. То есть нужно давать возможность писать с &amp;quot;основного&amp;quot; PG-сервера на бэкапный. Плохо тем, что если потенциальный злоумышленник получает доступ к БД, то к бэкапам автоматически тоже.&lt;/li&gt;
&lt;li&gt;WAL-G. Отсутствие документации, Goписьный быдлокод, нет проверки консистентности инкрементных бэкапов, заточенность под облака.&lt;/li&gt;
&lt;li&gt;pg_rman. Это скорее эдакий сильно продвинутый pg_basebackup на стероидах, нежели полноценная система управления бэкапами. Плюс под разные версии Postgres-а нужно держать разные версии бинарников pg_rman-а. А в пределах технической площадки постгресы могут быть ой разношерстными.&lt;/li&gt;
&lt;/ul&gt;Из &amp;quot;относительно нового&amp;quot;.&lt;ul&gt;
&lt;li&gt;pgmoneta. Удивительно, что в 2025-м году кто-то ещё пишет на &amp;quot;сях&amp;quot;. Присматриваюсь, но у неё не очень удобный CLI, и она не очень заточена под бэкап пачки разношерстных серверов.&lt;/li&gt;
&lt;li&gt;databasus. Смущает, что написана совсем недавно автором из одной соседней страны, не совсем ясен процент вайб-кода в оной. Привлекает наличие веб-морды, но отпугивает какая-то нездоровая&amp;nbsp;заточенность под запуск в Docker-е. Ну не хочу я доцкер в прод тащить, не нужен он мне там. Можно конечно расковырять и пересобрать из исходников, но на это всё нужно время.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Вот сижу всё и думаю чего бы взять. В одном инструменте не нравится одно, в другом другое.&lt;/p&gt;&lt;p&gt;... Среди GUI-клиентов тоже как-то всё грустно. HeidiSQL чисто под винду. Есть сборка под линукс, но она какая-то вся кривая. Antares у меня не завелся. Ну как &amp;quot;не завелся&amp;quot;, таблицы видит, редактировать не дает. Вываливает какую-то мутную ошибку. DBeaver вполне ок, но он тяжелый, Javaписьный, дико перегруженный интерфейс, куча функций которая мне реально не нужна. Эдакий трактор, когда мне нужен просто мотокультиватор.&lt;/p&gt;&lt;p&gt;... Опытным путём выяснил, что ТЬФУ не пропускают даже вполне себе &amp;quot;законный&amp;quot; трафик (например, согласованный по челобитной) если &amp;quot;туда&amp;quot; и &amp;quot;обратно&amp;quot; он идет разными путями. То есть когда ТЬФУ видит пакеты в обе стороны, то переходит на следующую ступень и начинает анализировать сигнатуры протокола и &amp;quot;белые списки&amp;quot;. Если же оно не понимает что это за протокол, то пропускает первые 16 килобайт, а дальше начинает дропать всё подряд. На этом фоне собственная PI AS становится скорее вредна, чем полезна.&lt;/p&gt;&lt;p&gt;Всем своевременных рабочих бэкапов и удобных GUI-клиентов.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=10160" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:9898</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/9898.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=9898"/>
    <title>ОколоITшный дыбр #141</title>
    <published>2026-03-25T12:51:50Z</published>
    <updated>2026-03-25T12:51:50Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;...&amp;nbsp; Заметил тут, что просто установленный на телефоне вацап активно высаживает батарейку. Потому что постоянно пытается долбиться куда-то, куда его чебурнетчики не пускают. Так что принял волевое решение снести этот вацап к какой-то матери. Всё равно мне туда уже давно почти никто не пишет.&lt;/p&gt;&lt;p&gt;... Показали мне &amp;quot;Яндекс.Мессенджер&amp;quot;. Оказывается он не только для компаний, а для так-то для всех желающих. Причём, чаты в этом &amp;quot;Яндекс.Мессенджере&amp;quot; &amp;mdash; это те же самые чаты, что и в &amp;quot;Телемосте&amp;quot;. И звонить голосом тоже можно через оба. Понятно, что Яндекс это ровно такая же подментованная контора как и VK, и переписку тоже читает тов. майор. Но их продукты хотя бы не такие кривые как VKшечные, ими хоть как-то можно пользоваться. И тоже есть в &amp;quot;белых списках&amp;quot;. Так что как совсем аварийно-резервный канал связи пойдёт. А для трындежа с забугорцами народ массово ставит себе IMO. Хотя Яндекс, есличо, для такого тоже условно-подходит.&lt;/p&gt;&lt;p&gt;... Я прошлом псто упоминал, что гугол собирается анально огородить свой ондроед от &amp;quot;неправильных&amp;quot; приложений. У некоторых уже &lt;a href="https://keepandroidopen.org/" target="_blank"&gt;начало подгорать&lt;/a&gt; заранее. Аж промо-сайт запилили. Чё-то мне подсказывает что гуглу похрен и он с настойчивостью кретина таки выстрелит себе в ногу. Эй, китайцы, где вы там со своей &lt;a href="https://www.ixbt.com/news/2026/03/15/ios-android-harmonyos-100.html" target="_blank"&gt;HarmonyOS&lt;/a&gt; ?&lt;/p&gt;&lt;p&gt;... Как выяснилось, у ждунипера есть втроенный полисир, ограничивающий максимальный объем ARP-запросов в секунду. И если вы про него ничего не знаете, это не значит что &lt;a href="https://lkhill.com/juniper-arp-policer/" target="_blank"&gt;он не включен&lt;/a&gt;. У вас перестал откликаться сервис по непонятным причинам? Хых, проблемы индейцев шерифа не волнуют. Главное что всё &amp;quot;безопасно&amp;quot;.&lt;/p&gt;&lt;p&gt;... Исторически я люблю Postgres и не люблю MySQL. Просто потому что если в базу InnoDB шла запись в момент потенциального краша MySQL (например, по питанию или по OOM), то с данными из базы ты можешь смело попрощаться. Postgres в этом плане сильно более устойчивый, т.к. пишет каждый чих в WAL (write-ahead-log), и чтобы необратимо поломать постгресовую базу, надо сильно постараться.&lt;/p&gt;&lt;p&gt;Но как оказалось, некоторые операции в postgres-е &amp;quot;пролетают мимо&amp;quot; WAL-ов. Например, построение индексов. Точнее, он сначала пишет в файл на диск, а потом уже в WAL. И если в этот момент СУБД крашнется, то файл так и останется лежать на диске. Более того, такие &amp;quot;мусорные&amp;quot; файлы будут кочевать из бэкапа в бэкап и реплицироваться на slave-ноды. И задача поиска-отстрела таковых превращается в увлекательное эротическое приключение с элементами ходьбы по минному полю. Есть конечно универсальный способ решения: логический dump-restore, но если у тебя база размером несколько терабайт...&lt;/p&gt;&lt;p&gt;Всем неогороженных андроидов с долгоиграющей батарейкой.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=9898" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:9713</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/9713.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=9713"/>
    <title>Пончики-батончики</title>
    <published>2026-03-24T12:49:07Z</published>
    <updated>2026-03-24T12:49:07Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Озаботился тут снижением массы своей драгоценной тушки. Плюс по не связанным с перевесом причинам эскулапы запретили жрать сладкое, включая лук, чеснок, фрукты, а особенно сцуко-фрухты (сухофрукты). Благо, разрешили хотя бы кофий хлебать &lt;strike&gt;яки лошадь&lt;/strike&gt;.&lt;/p&gt;&lt;p&gt;Но кофе &amp;quot;с таком&amp;quot; невкусно и неспортивно. Душа требует к нему &lt;strike&gt;похмелоидов и&lt;/strike&gt; закусоидов. Булки и печенья я цинично забанил. Поэтому обратил свой взор в сторону всевозможных протеиновых пончиков-батончиков.&lt;/p&gt;&lt;p&gt;Однако чудес не бывает. Окромя искусственных подсластителей в сих изделиях должна быть какая-то основа. И вариантов чё-то не то чтобы много: соя, казеин-альбумин, кокосовое масло / мякоть, кукурузный крахмал и всё вот это.&lt;/p&gt;&lt;p&gt;Почему это плохо? Сахара / фруктозу изначально хотелось выкинуть. Лактоза &amp;mdash; тот же сахар, к тому же моей тушкой не усваивается наравне с молочными белками. Потом спецэффекты всякие неприятные наступают. Глютен и вот эту кокосовую тему тоже обойти бы стороной. В моём случае не полезно ни то, ни другое, хоть и условно-допустимо.&lt;/p&gt;&lt;p&gt;Так что я не на шутку задумался. Существуют ли в принципе в природе некие продукты питания, которые можно хомячить по утрам с кофе, но при этом не содержат: сахаров (глюкоза, фруктоза, лактоза, галактоза, сахароза, крахмал), глютена, сухофруктов, молочных белков, какао и производных кокоса.&lt;/p&gt;&lt;p&gt;Понятно, что универсальный правильный ответ будет &amp;quot;сельдерей&amp;quot;, но он с кофе как-то не очень заходит...&lt;/p&gt;&lt;p&gt;Коллективный разум, посоветуешь чего?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=9713" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:9446</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/9446.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=9446"/>
    <title>ОколоITшный дыбр #140</title>
    <published>2026-03-22T10:40:14Z</published>
    <updated>2026-03-22T10:40:14Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Продолжаю свои эксперименты с OpenConnect. И вот что удивительно. Я ранее писал про вываливание с ошибкой &amp;quot;&lt;i&gt;invalid MTU -18&lt;/i&gt;&amp;quot; при работе поверх IPv6. Потом я хохмы ради запроксировал Openconnect Server при помощи NginX-а таким образом, что от клиента до Nginx-а соединение происходит поверх IPv6, а от Nginx-а до OCServ-а &amp;mdash; поверх IPv4. Разбил на два плеча, так сказать. И как ни странно, проблема больше не проявлялась. Видать, всё-таки в сервере баг, а не в клиенте.&lt;/p&gt;&lt;p&gt;Попутно немного удивился, что &amp;quot;на вход&amp;quot; Nginx принимает proxy_protocol обеих версий (1 и 2), а &amp;quot;на выход&amp;quot; может отдавать только версию 1. Странно, вроде софтина-то с длинной историей. Фичреквесты я в трекере на поддержку 2й версии я видел, но их пока не успели реализовать. Так что в этом отношении HAProxy пока ещё &amp;quot;на шаг впереди&amp;quot;.&lt;/p&gt;&lt;p&gt;А ещё Nginx-у невозможно скормить upstream с link-local ipv6 адресом, потому что ему невкусно упоминание интерфейса в конфиге. Вот тут я тоже удивился.&lt;/p&gt;&lt;p&gt;... Заодно потыкал мышкой в &amp;quot;родной&amp;quot; цисковский Secure Client под винду. Фу, какая гадость. Как люди вообще этим пользуются? За пару часов так и не разобрался как ему скормить клиентский X509-сертификат для авторизации, забил. Какой-то Javaписьный клиент ради редактирования XMLки, которую надо потом положить куда-то в правильное место... фу таким быть.&lt;/p&gt;&lt;p&gt;... Юрент потихоньку выставляет на улицы электросамокаты. Ну всё, закончились спокойные прогулки по городу. Обидно.&lt;/p&gt;&lt;p&gt;... Раньше мне звонил с голосовым спамом какой-то &amp;quot;Сириус&amp;quot; и предолжением инвестировать чего-то там куда-то там. Сейчас повадился звонить &amp;quot;ООО Полезный звонок&amp;quot;, хотят продать мне недвижимость. Причем да, ООО с таким названием нонче стало как грязи, по нескольку штук в каждом регионе. В этот раз доставали с номерной емкости мегафна из Нижнего Тагила. ФАС &lt;a href="https://fas.gov.ru/pages/zhaloby-sms" target="_blank"&gt;предлагает оставлять жалобы&lt;/a&gt; на сайте своего оператора. Ну да, ну да. Уже побежал жаловаться мегафону на него же самого. Овцы подают протест волчице на действия её волчат. Пчёлы против мёда...&lt;/p&gt;&lt;p&gt;Вот этим вопросом по-хорошему как раз бы и заняться РКН-у. Чтобы дрючил как следует ОПСОСов за продажу услуг связи спамерам. Механизм изобретать не надо: N пользователей с положительной репутацией жалуются на номерной пул, проверяется факт звонков с этого пула жалобщикам, если всё подтверждается, то ОПСОСу выставляется штраф. Но нет, это что-то из разряда ненаучной фантастики.&lt;/p&gt;&lt;p&gt;Можно теоретически подключить &amp;quot;Еву&amp;quot;, но она тоже работает через ж...у. Иногда через неё не пробиваются вполне себе нужные полезные звонки. Да вот хотя бы мою маму Мегафон записал в злобные спамеры непонятно с какого перепугу.&lt;/p&gt;&lt;p&gt;... Купил себе новый рюкзак. Но наверное таки пойду в ателье и попрошу подлатать свой старый Samsonite, бо сейчас за разумные деньги очень тяжело найти что-то сравнимого качества. Но вот что странно. Даже в самых крутых продвинутых рюкзаках почему-то обычно не предусмотрена петля между лямками. За которую удобно вешать рюкзак на поручень в транспорте при помощи S-образного крюка. Ну как так-то? Даже российские дизайнеры не ездят в общественном транспорте что ли? И не знают что если долго держать тяжелый рюкзак, то руки отсыхают?&lt;/p&gt;&lt;p&gt;В итоге выбрал &amp;quot;&lt;a href="https://market.yandex.ru/card/bolshoy-molodezhnyy-ryukzak-grizzly-s-karmanom-dlya-noutbuka-15-krepleniyem-dlya-chemodana-i-potaynym-karmanom-muzhskoy-rq-500-12/4468845714" target="_blank"&gt;Гризли&lt;/a&gt;&amp;quot;, у которого есть такая петля. Заявлен как якобы российский, но сшит конечно в Китае. Правда, в нём другие достаточно спорные решения применены, так что рекомендовать не могу.&lt;/p&gt;&lt;p&gt;... Один известный в рунете деятель предлагает упражнение. Взять любой серьёзный закон, да хоть бы конституцию РФ. Найти там все глаголы, заканчивающиеся на &amp;quot;-ется, -ются&amp;quot;. И поставить перед ними словосочетание &amp;quot;чудесным образом&amp;quot;. Говорит, получается очень смешно. Хм, что-то в этом есть.&lt;/p&gt;&lt;p&gt;... Гугол &lt;a href="https://mobile-review.com/all/articles/android/google-menyaet-pravila-ustanovki-storonnih-prilozhenij/" target="_blank"&gt;собирается сильно усложнить&lt;/a&gt; установку приложений откуда-либо кроме как из Google Play. Астрологи объявляют рост популярности альтернативных открытых прошивок и моделей телефонов с поддающимся разблокированию загрузчиком.&lt;/p&gt;&lt;p&gt;... В Иране есть ракета &amp;quot;&lt;a href="https://lenta.ru/news/2026/03/21/na-zapade-uzhasnulis-rezultatam-kontrataki-irana-nevidannoy-ranee-raketoy/" target="_blank"&gt;Насралла&lt;/a&gt;&amp;quot; и остров &lt;a href="https://lenta.ru/tags/geo/hark/" target="_blank"&gt;Харк&lt;/a&gt;. Эту страну не победить.&lt;/p&gt;&lt;p&gt;... Собака для привлечения внимания (СПДВ).&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/004-dog.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_004-dog.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Всем интересного времяпрепровождения не привлекая внимания санитаров.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=9446" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:9209</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/9209.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=9209"/>
    <title>ОколоITшный дыбр #139</title>
    <published>2026-03-20T21:40:37Z</published>
    <updated>2026-03-20T21:40:37Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... &amp;quot;Госуслуги&amp;quot; снова жгут (скриншот кликабельный). Кому пенсию {{FIXED_PAYMENT}} рублей?&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/001-pension.png"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_001-pension.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Кстати, Ростелек внезапно научился определять индекс в зеленоградском адресе при заключении электронного договора. Только вот всё равно неправильно, из соседнего микрорайона показывает. Штош, может через полгода таки научится и адрес временного пребывания парсить, пока что с этим чё-то никак... но уже хоть какой-то прогресс налицо... Пока что жители Зеленограда продолжают страдать.&lt;/p&gt;&lt;p&gt;... Да, Ростелек прислал SMSку, что у него с 1 апреля беспроводной трафик до серверов Wink-а больше не бесплатный. Имейте в виду, если вдруг кто пользуется.&lt;/p&gt;&lt;p&gt;... У Сбера чтобы расплатиться спасибами оффлайн, обязательно нужно присутствие физической пластиковой карты. СберPay не канает. Чё-т не предусмотрели.&lt;/p&gt;&lt;p&gt;... Альфа некоторым дает 10% кешбека на автозаправки. Проверьте. Но вообще эта самая Альфа задрала спамить в push-сообщениях. Не знаю можно ли это в принципе отключить, не прибив уведомления от приложения полностью. Если нет, то запишу этот банк в категорию козлиных и отправлю в газенваген. У кого бы спросить...&lt;/p&gt;&lt;p&gt;... ТКБ меняет морду интернет-банка. В новый личный кабинет вход только по номеру счета. Если вы его не помните, посмотрите и где-нибудь запишите пока не поздно. 23 марта старую морду отключат. И вот что забавно, логин-пароль для новой морды у них теперь не требуется совсем: только номер счета (который не является секретным) и код из SMS. Ох пугают меня такие подходы. Пожалуй, не стоит в таких банках пытаться держать свои деньги. Так что тоже в газенваген.&lt;/p&gt;&lt;p&gt;... Про беспилотники в московском метро, наверное, уже все кто мог оттоптались. Обидно только то, что МТС и Яндекс в белых списках: от самокатчиков отдохнуть не удастся. Жаль, так бы горечь отключения мобильного интернета была не такой сильной. Хотя вон, в СПб таки &lt;a href="https://lenta.ru/news/2026/03/16/v-peterburge-sobralis-polnostyu-zapretit-elektrosamokaty/" target="_blank"&gt;движутся в правильном направлении&lt;/a&gt;, как по мне.&lt;/p&gt;&lt;p&gt;... Ушла легенда. Чака Норриса &lt;a href="https://lenta.ru/news/2026/03/20/umer-chak-norris-on-byl-simvolom-krutizny-i-legendoy-pop-kultury/" target="_blank"&gt;больше нет&lt;/a&gt;. Никто теперь не соберёт всех покемонов с городского телефона.&lt;/p&gt;&lt;p&gt;... В Московской области есть населённые пункты с названиями Фрязево, Фрязино и Фряново. Причём даже находятся не сильно далеко друг от друга. А во Фрязино и Фрязево дык вообще электрички с одного и того же вокзала стартуют. Эдакая ловушка для невнимательных. Время от времени кто-то обязательно уезжает не туда, куда собирался.&lt;/p&gt;&lt;p&gt;... Маму чё-то люто полюбили мошенники. Периодически пишут ей то якобы из центра занятости, то из пенсионного фонда, то из энегргосбыта, то из поликлиники. Причём, сочиняют весьма убедительные легенды. У меня-то глаз давно намётан, а так бы я тоже напрягся. Правда, теперь телегу забанили. Нет телеги &amp;mdash; нет проблем. Наверное.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/007-lulz/002-noproblem.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/007-lulz/pr_002-noproblem.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;... Оказывается, у меня в люстрах дома стоят какие-то до фига редкие китайские патроны. Они под цоколь E27, но внешний диаметр у них как у E14. Это достигается за счет супертонкой стенки. Один из них развалился. Теперь не знаю где взять похожий. Даже на али нет таких.&lt;/p&gt;&lt;p&gt;... Как же у меня бомбануло, когда я осознал, что RAID-контроллеры Broadcom / LSI не позволяют совать в один логический накопитель одновремнно HDD и SSD, даже если они одинакового объёма. Ну казалось бы, какая ему разница что за блочное устройство там торчит уровнем ниже? Даже mdraid так умеет, а до хрена умная дорогая железка чё-то вот нет.&lt;/p&gt;&lt;p&gt;... А ещё у меня дичайше бомбануло от того, что с Juniper SRX через стандартный CLI невозможно лапами отослать Gratuitous ARP-запрос. Суки индусские.&lt;/p&gt;&lt;p&gt;... Не пойму, почему в Android оплата происходит не с активного в данный момент Pay-приложения, а с того, которое назначено по умолчанию в настройках операционной системы. Это явно так by design, но зачем так делать, блин? Или программисты наивно уверены, что у Android-пользователя может быть / должен быть только один интернет-банк и не волнует? Дико бесит.&lt;/p&gt;&lt;p&gt;... Наушники Baseus Inspire XH1 оказались на удивление приличными. Урвал по акцЫи на вазоне. Без акций конечно жаба задушила бы.&lt;/p&gt;&lt;p&gt;... Трамп: &lt;a href="https://lenta.ru/news/2026/03/13/tramp-postavil-tochku-v-voprose-polucheniya-nobelevskoy-premii-mira/" target="_blank"&gt;виноград зелен.&lt;/a&gt; Штош, не шмагла. Бггг. Великий миротворец тоже мне блин нашелся.&lt;/p&gt;&lt;p&gt;... У меня на раёне живет мужчина по имени Патрик. Да, его прям по паспорту так и зовут. Если он купит себе &amp;quot;УАЗ Патриот&amp;quot;, то будет Патрик на &amp;quot;Патрике&amp;quot;, бггг.&lt;/p&gt;&lt;p&gt;... Debian обновился до 13.4.&lt;/p&gt;&lt;p&gt;... Вспоминаю начало 2000-ых годов, когда многие провайдеры отпускали внутрироссийский и международный трафик по разной цене (международный дороже). Похоже, развитие идет по спирали, как всегда. Возвращаемся к истокам, только под другим соусом.&lt;/p&gt;&lt;p&gt;Всем надежной защиты от беспилотников в метро и хороших наушников.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=9209" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:8888</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/8888.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=8888"/>
    <title>Ещё котиковое</title>
    <published>2026-03-19T05:42:36Z</published>
    <updated>2026-03-19T05:42:36Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;С давних лет у меня на обоях рабочего стола висит вот такая картинка. Уже не вспомню где я её взял. Возможно, на каком-нибудь Devianart, но это не точно.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/006-cat/002-lunar_cat.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/006-cat/pr_002-lunar_cat.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Просто ради лулзов скормил её Qwen-у и попросил сделать из неё фото. Получилось вот такое.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/006-cat/003-lunar_cat_photo.png"&gt;&lt;img src="https://klink.ovh/klink0v/2026/006-cat/pr_003-lunar_cat_photo.png" /&gt;&lt;/a&gt;&lt;/p&gt;А хорошо рисует, зараза. И тени проработал, и шерсть, и дымку, и грибок на коре высохшего дерева. И восхищаюсь, и немного опасаюсь.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=8888" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:8652</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/8652.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=8652"/>
    <title>Котиковое</title>
    <published>2026-03-18T20:16:23Z</published>
    <updated>2026-03-18T20:16:23Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Собрались было отдать котэ на чистку зубов. А он взял и явил миру вот такое.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/006-cat/001-cat.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/006-cat/pr_001-cat.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;В таком состоянии давать наркоз, понятно, нельзя. Так что чистка зубов накрылась [далее сами додумайте чем она накрылась].&lt;/p&gt;&lt;p&gt;Когда котэ продемонстрировал оный спецэффект &lt;a href="https://klink0v.livejournal.com/771794.html" target="_blank"&gt;в первый раз&lt;/a&gt;, все подумали что он огрёб сотрясение мозга. Ну мало ли, спросонья со шкафа упал. Бывает. Через какое-то время прошло само. Но теперь это чё-то стало &lt;a href="https://historica.ru/threads/studencheskij-jumor.4646/post-247019" target="_blank"&gt;доброй традицией&lt;/a&gt;. Так что не сотрясение.&lt;/p&gt;&lt;p&gt;И вот чтобы понять что это такое, котику нужно сделать МРТ. Чтобы сделать МРТ, нужен наркоз. Но непонятно можно ли давать наркоз, потому что незвестно что это за фигня. Классика: драйвера от модема на компакт-диске, драйвера от CD-привода в интернете.&lt;/p&gt;&lt;p&gt;Так и живём.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=8652" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:8431</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/8431.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=8431"/>
    <title>Про StrongSWAN и Openconnect</title>
    <published>2026-03-17T18:01:50Z</published>
    <updated>2026-03-17T18:01:50Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Известные РосКозлы и Негодяи обычно обновляют прошивки на своих ТЬФУ в пятницу вечером по Москве. Так что в субботу у меня отъехал беспамятный страж проволоки. Вообще, удивительно что только сейчас, потому что с того хостинга (OVH) даже обычные HTTP и HTTPS перестали работать очень-очень давно.&lt;/p&gt;&lt;p&gt;Но как ни странно, имеет значение направление установления соединения если протокол несимметричный. Так что &amp;quot;туда&amp;quot; может и &amp;quot;не алё&amp;quot;, а вот в обратную сторону иногда очень даже копенгаген. Есть одна штука, которая по сути своей есть HTTPS, и имя ей Openconnect. Так что решил попробовать.&lt;/p&gt;&lt;p&gt;Общие впечатления: штука корявая и глюкавая. По качеству кода, дизайну и полноте документации до того же OpenVPN-а ей как до Луны пешком. Но от чего меня реально бомбануло &amp;mdash; он не работает поверх IPv6. Нет, чисто номинально такой функционал имеется. И между соседними виртуалками на одной хост-машине всё замечательно бегает. Но вот в реальной сети&amp;nbsp;&amp;mdash; до первого packet reorder. Дальше идет какой-то совершенно неинформативный отлуп вида &amp;quot;&lt;i&gt;main-worker-cmd.c:351: worker process invalid MTU -18&lt;/i&gt;&amp;quot; и клиент отлетает. Причем, это не связано с проблемами на сети. Я упоролся и таки сравнил дампы трафика с двух сторон: потерь пакетов нет. Это именно какой-то косяк в логике то ли клиента, то ли сервера. По-хорошему бы зарепортить авторам, не знаю дойдут ли руки.&lt;/p&gt;&lt;p&gt;На практике это выглядит так, что подключенный клиент работает некий случайный промежуток времени от полминуты до пары часов, потом получает &amp;quot;давайдосвиданья&amp;quot; от сервера и завершается с ошибкой. Если перезапустить, то подключается и работает ещё некоторое время. И так далее. В конце концов я плюнул, перевесил линк на IPv4 и проблема ушла.&lt;/p&gt;&lt;p&gt;Другой неприятный косяк Openconnect-а: он как-то не отрабатывает Path MTU Discovery на своих виртуальных TUN-интерфейсах. Ни со стражем проволоки, ни с OpenVPN-ом у меня таких неприятностей ни разу не было. А этот вроде бы и шлёт &amp;quot;&lt;i&gt;Frag needed and DF set&lt;/i&gt;&amp;quot;, но почему-то на TCP MSS это никак не влияет. Может я конечно что-то неверно понимаю или что-то не так делаю. Но пришлось лапами в nftables эти TCPMSS подкручивать, а то толстый payload начинал дико тупить.&lt;/p&gt;&lt;p&gt;Ещё одна попа-боль&amp;nbsp;&amp;mdash;&amp;nbsp;это создание отдельного PtP-интерфейса под каждого клиента. Ну зачем? Зачем, Карл? Неужели нельзя всё через один интерфейс разрулить, как это делают те же самые OpenVPN и StrongSWAN? Ну возьмите же ж вы оттуда прям готовый код, они все открытые!&lt;/p&gt;&lt;p&gt;В общем, вердикт: как-то работает, и ладно. Я сперва думал контору на него переводить. Но теперь чё-то засомневался, а стоит ли. Радиус кривизны у него прям несравнимо круче, чем и у того же OpenVPN-а, и у StrongSWAN-а. Чувствую, если меня сильно выбесить, схожу на курсы по &amp;quot;плюсам&amp;quot; и запилю свою собственную реализацию ISAKMP поверх HTTPS для OpenVPN, бггг. Переизобрету велосипед наподобие &lt;a href="https://github.com/ultrahorizon/openvpn-debian" target="_blank"&gt;Ultra Horizon&lt;/a&gt;. Те редиски свою балалайку чё-то забросили.&lt;/p&gt;&lt;p&gt;... Нашел свою старую ошибку в конфиге StrongSWAN-а. Долго не понимал, почему у меня периодически переставал ходить трафик с мобильного клиента до тех пор пока не переподключусь. Грешил на NAT-ы ОПСОСов. Но всё оказалось проще: в multi-client конфиге ни в коем случае нельзя прописывать &amp;quot;&lt;i&gt;remote_ts&lt;/i&gt;&amp;quot;. Иначе следующий подключившийся заберет на себя xfrm policy, а все предыдущие хоть и не отвалятся, но останутся ни с чем. И &amp;quot;&lt;i&gt;local_addrs&lt;/i&gt;&amp;quot; лучше тоже не указывать, особенно если хочется Dual-Stack (IPv4+IPv6) на одном инстансе. Так можно, да.&lt;/p&gt;&lt;p&gt;Таким образом, правильный рабочий конфиг для multi-client StrongSWAN выглядит вот так. Пользуйтесь кому надо.&lt;/p&gt;&lt;textarea cols="50" readonly="readonly" rows="30"&gt;guestras {
    version = 2
    proposals = aes256gcm16-prfsha384-ecp256
    if_id_in = 101
    if_id_out = 101
    rekey_time=8h
    pools = pool_v4, pool_v6
    send_cert = always

    local {
        certs = "серверный_сертификат.crt"
        id = @foo.staser.ru
        auth=pubkey
     }

    remote {
        auth=pubkey
     }

     children {
        guestras-phase2 {
            esp_proposals = aes256gcm16
            rekey_time = 1h
            mode = tunnel
            start_action = none
            local_ts  = 0.0.0.0/0,::0/0
         }
     }
}
&lt;/textarea&gt;&lt;p&gt;В качестве &amp;quot;серверный_сертификат.crt&amp;quot; можно использовать тот же Lets Encrypt, только в DNS Alternative Name должен быть правильный домен указан, который соответствует действительности и совпадает с содержимым директивы &amp;quot;&lt;i&gt;id =&lt;/i&gt;&amp;quot; в конфиге. А вот клиентам сертификатики придется сгенерировать самостоятельно при помощи какого-нибудь &lt;a href="https://packages.debian.org/trixie/easy-rsa" target="_blank"&gt;easy-rsa&lt;/a&gt; и раздать всем желающим. Я сам именно так цепляюсь к своему антресольному серверу дома, мне нравится.&lt;/p&gt;&lt;p&gt;... И немного новостей из перевернутого мира.&lt;/p&gt;&lt;p&gt;Я каким-то непостижимым образом то ли умудрился высосать за месяц два терабайта трафика, то ли это OpenWRT брешет, то ли меня кто-то дудосит. Не знаю.&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="https://klink.ovh/klink0v/2026/005-chebur/001-2tb.png" /&gt;&lt;/p&gt;&lt;p&gt;Налоговая зачебурнетилась. Из России её DNS-зона ресолвится, из остального мира&amp;nbsp;&amp;mdash;&amp;nbsp;только из Испании почему-то. Гугол (четыре восьмерки) адрес &amp;quot;lkfl2.nalog.ru&amp;quot; тоже не может отдать. В субботу похожим образом падали DNS-ы у МИФИ, но к понедельнику починились. Совпадение?&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/005-chebur/002-cheburnalog.png"&gt;&lt;img src="https://klink.ovh/klink0v/2026/005-chebur/pr_002-cheburnalog.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;И простое понятное объяснение кто такие и как работают РосКозлы и Негодяи.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="https://klink.ovh/klink0v/2026/005-chebur/003-rkn.jpg"&gt;&lt;img src="https://klink.ovh/klink0v/2026/005-chebur/pr_003-rkn.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;За сим откланиваюсь. Всем бобра.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=8431" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:8160</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/8160.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=8160"/>
    <title>Упражнения с temporary IPv6 и DynDNS</title>
    <published>2026-03-15T22:21:58Z</published>
    <updated>2026-03-15T22:30:40Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;В одной из локаций ростелек даёт мне аж &amp;quot;/56&amp;quot;-подсеть. А я её никак не использую. Нехорошо. Решил это исправить. Но есть проблема: она динамическая. То есть после отключения электропитания или просто после реконнекта адреса могут измениться. И зафиксировать их никак нельзя. Значит нужен Dynamic DNS.&lt;/p&gt;&lt;p&gt;Вопрос условно делится на три части.&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;Узнать что IP-адрес изменился.&lt;/li&gt;
&lt;li&gt;Узнать новый IP-адрес.&lt;/li&gt;
&lt;li&gt;Скормить его в DynDNS.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;И задачка со звёздочкой: настроить временные IPv6-адреса, они же IPv6 Privacy Extensions по той же схеме. Не спрашивайте зачем. Может быть потом расскажу.&lt;/p&gt;&lt;p&gt;За основу настройки сети у меня взят systemd-networkd. Потому что в ifupdown-* невозможно узнать когда сеть реально настроена (нет механизма состояний), а NetworkManager меня бесит, хотя в чём-то он очень удобен. И тут кроется первая засада.&lt;/p&gt;&lt;p&gt;Формально для отслеживания состояния networkd существует специально обученная софтина &amp;quot;&lt;a href="https://packages.debian.org/trixie/networkd-dispatcher" target="_blank"&gt;networkd-dispatcher&lt;/a&gt;&amp;quot;. Однако она питонописная (читай: прожорливая по памяти) и выдаёт довольно куцые результаты. Поэтому была найдена другая, rustаманская, под названием &amp;quot;&lt;a href="https://github.com/bpetlert/networkd-broker" target="_blank"&gt;networkd-broker&lt;/a&gt;&amp;quot; (готовых deb-пакетов с ней нет, не ищите).&lt;/p&gt;&lt;p&gt;Вторая засада связана с той самой rustаманской софтиной: она выдает IPv6-адреса не в виде привычной строки, а в виде массива десятичных значений. То есть для дальнейшего использования его нужно ещё сконвертировать в HEX (не путать с НЁХ).&lt;/p&gt;&lt;p&gt;И третья засада, которую я разглядел слишком поздно. Временными адресами рулит ядро, а не networkd. Поэтому последний не присылает никаких DBus-событий по факту изменения временного адреса. Но к этому времени скрипты уже были написаны, так что переделывать я их не стал. А просто добавил ещё костылей (больше костылей богу костылей!).&lt;/p&gt;&lt;p&gt;Итак, скрипт для network-broker.&lt;/p&gt;&lt;textarea cols="110" readonly="readonly" rows="22"&gt;#!/bin/bash

set -e

[ "z$NWD_DEVICE_IFACE" == "zens19" ] || exit 0
[ "z$NWD_BROKER_ACTION" == "zroutable" ] || exit 0

ADDR=`echo $NWD_JSON | /usr/bin/jq 'last(.Addresses[] | select(.FlagsString=="temporary")).Address[]'` || \
ADDR=`echo $NWD_JSON | /usr/bin/jq 'last(.Addresses[] | select(.ConfigSource=="NDisc")).Address[]'`

ELEM=($ADDR)
ADDR=""
hex=({{0..9},{a..f}}{{0..9},{a..f}})
COUNTER=0

for i in "${ELEM[@]}" ; do
  COUNTER=$((COUNTER+1))
  ADDR+=${hex[$i]}
  [[ $((COUNTER % 2)) == 0 ]] || continue
  [[ $COUNTER -gt 15 ]] &amp;&amp; break
  ADDR+=':'
done&lt;/textarea&gt;&lt;p&gt;Проверяем что речь идет о нужном интерфейсе и нужном событии (ens19, routable). Парсим полученный от брокера JSON на предмет temporary-адреса. Если такового нет, берем постоянный. Дальше некий изврат по конвертации массива десятичных значений в шестнадцатеричный адрес. На выходе в переменной "${ADDR}" получаем готовый к последующему использованию адрес.&lt;/p&gt;&lt;p&gt;Но как я уже упоминал, при первом запуске брокер всё отдаст в лучшем виде, а вот об изменениях ничего не сообщит. Значит нужно его держать не в виде демона, а пинать принудительно. Для этого пишем сами другой [дерьмо]демон на всё том же bash-е.&lt;/p&gt;&lt;textarea cols="100" readonly="readonly" rows="7"&gt;#!/bin/bash

/usr/bin/ip -6 monitor dev ens19 | \
  while read LINE ; do
   [[ $LINE == *"temporary"* ]] &amp;&amp; /usr/bin/timeout 5s /usr/bin/networkd-broker -T 2&amp;gt;/dev/null
  done
&lt;/textarea&gt;&lt;p&gt;И пихаем его в systemd. Он будет дёргать нашего брокера. Вообще говоря, при таком раскладе брокер становится не особо-то и нужен. Более того, даже проще будет вместо него накорябать очередной bash-скрипт: не придется с этой конвертацией из DEC в HEX заморачиваться. Но раз уж всё равно сделал, пофиг, пусть остается как есть.&lt;/p&gt;&lt;p&gt;IP Monitor отслеживает изменения temporary-адреса, брокер его сообщает. Осталось запихнуть его в DynDNS. Я у себя использую &lt;a href="https://packages.debian.org/trixie/knot" target="_blank"&gt;knot&lt;/a&gt;. Мне он чё-то понравился. Процесс внесения изменений в динамическую зону в нём реализован достаточно легко и приятно по сравнению с тем же bind9. В скрипте ниже предполагается, что в ключе запуска уже присутствует правильное значение адреса, которое нам не нужно дополнительно проверять. В моём примере Primary DNS Server для зоны "foo.staser.ru" находится на той же самой виртуалке, на которой я провожу эксперименты.&lt;/p&gt;&lt;textarea cols="80" readonly="readonly" rows="15"&gt;#!/bin/bash

[ -z "$1" ] &amp;&amp; exit 0

/usr/bin/knsupdate &amp;lt;&amp;lt; END_SCRIPT
server 127.0.0.1
zone foo.staser.ru
origin foo.staser.ru
ttl 1800
update delete @ 300 AAAA
update add @ 10 AAAA $1
send
quit
END_SCRIPT
&lt;/textarea&gt;&lt;p&gt;Готово. Вообще говоря,&amp;nbsp;IPv6 Privacy Extensions по-хорошему совсем не предназначены для того, чтобы навешивать на них какие-либо сервисы. Более того, прежний временный адрес не удалится до тех пор, пока с его участием имеются какие-либо активные соединения. Возникает неиллюзорный риск поиметь на интерфейсе чёртову тонну таких временных адресов. Так что вот этот мой псто смело можно относить к категории &amp;quot;потные извращения&amp;quot;.&lt;/p&gt;&lt;p&gt;Но раз я подобным озаботился, значит зачем-то оно мне стало нужно... пусть будет интрига.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=8160" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:7769</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/7769.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=7769"/>
    <title>Как я подключил проводной ростелек в Клину</title>
    <published>2026-03-12T20:09:36Z</published>
    <updated>2026-03-12T20:09:36Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>5</dw:reply-count>
    <content type="html">&lt;p&gt;Тёще не повезло жить в радиусе 10 километров от военного аэродрома. Поэтому проще перечислить дни в году когда в славном городе Клин работает мобильный интернет, а не дни когда он там не работает. Точнее говоря, это мне не повезло иметь такую тёщу в такой локации, потому что ей-то на самом деле абсолютно по**й и на интернет, и на его отключения. А вот мне не всегда понятно что делать если внезапно позвонили с работы, а я в этот момент нахожусь в транзите на дачу / с дачи / по делам в том районе и так далее.&lt;/p&gt;&lt;p&gt;Решил, хрен бы с ними, не такие большие деньжищи, надо затащить в ту квартиру провод. В доме присутствуют всего два провайдера: местечковый пионернет и ростелек. Я уже почти договорился с первым, но они готовы придти и подключить только через три недели. Ажиотаж, видать. Поэтому чисто ради интереса позвонил в ростелек.&lt;/p&gt;&lt;p&gt;ИЧСХ, подключиться к этому самому ростелеку можно двумя способами. Первый: позвонить на горячую линию &amp;quot;8-800&amp;quot;. В таком случае само подключение будет бесплатным. Второй: позвонить по номеру из расклеенных в подъезде листовок. Тарифы предложат ровно те же самые, только ещё и за подключение дополнительно сдерут 500 рублей. Но! В последнем варианте они все там становятся какими-то дичайше замотивированными и начинают бегать как ж**у ужаленные. Я в девять утра позвонил просто поинтересоваться технической возможностью. Но этот жучок (язык не поворачивается называть его менеджером) таки завёл заявку в систему, и в три часа в подъезде уже обретался монтажник, которого я вообще-то даже и не ждал. Просто столкнулся с ним когда уже собирались уезжать. Вот это прыть!&lt;/p&gt;&lt;p&gt;Как-то совершенно случайно (или нет?) оказалось, что как раз соседи за стенкой сколько-то месяцев тому назад перестали оплачивать интернет, так что достаточно было просто откусить идущий к ним кабель и навесить &amp;quot;бочонок&amp;quot;. Вторая хохма заключается в том, что то ли они (соседи), то ли в ростелеке ошиблись, и оформили договор соседей на адрес моей тёщи. Так что по документам у неё с 2025-го года был подключён интернет, а &lt;strike&gt;мужики&lt;/strike&gt; она-то и не знала.&lt;/p&gt;&lt;p&gt;В общем, happy end, там теперь есть провод. Осталось мне только переобжать ту часть, что идет по квартире. Потому что в какой-то жиле неконтакт, а знакомить тёщу с монтажником по некоторым причинам нельзя. Отмечу только ряд фактов, на которых заострилось моё внимание.&lt;/p&gt;&lt;p&gt;... Про небывалую прыть я уже написал выше. Это тем более странно, что тарифы у обоих провайдеров сравнимые, пионернет даже чуть дороже при одинаковой скорости.&lt;/p&gt;&lt;p&gt;... У пионернета L2TP, у ростелека PPPoE. Второй вариант мне нравится больше, т.к. даёт меньшую нагрузку на CPU роутера.&lt;/p&gt;&lt;p&gt;... Почему-то пионернет работает через аплинк из Ногинска, а адреса ростелека определяются как &amp;quot;Балашиха&amp;quot;. При том, что речь в обоих случаях идёт про Клин. Между ними какая-то толстая магистраль что ли пролегает? Непонятно. Я-то думал, что все дорожки сходятся в Нерезиновске.&lt;/p&gt;&lt;p&gt;... Попытался протестировать линк со своего &amp;quot;походного&amp;quot; ноутбука. При попытке запустить PPPoE форточки (Windows 10) три раза подряд упали в синий экран смерти. Ну зашибись! А в Linux-е PPPoE-соединение логически жестко привязывается к MAC-адресу сетевухи. И я очень долго тупил, прежде чем понял что прописал эту сетевуху в исключения NetworkManager-а. Монтажник к этому времени уже уехал. Но это kind of podstava: надо помнить, что ты именно на этой USB-шной сетевухе прописал то или иное PPPoE-соединение. А если завтра взял с собой другую (у меня их три штуки)?&lt;/p&gt;&lt;p&gt;... Договор в электронном виде так и не удалось заключить: SMSка от ростелека на Мегафно упорно не хотела приходить.&lt;/p&gt;&lt;p&gt;... Почти сразу после того как подписал договор, мне пришла спамная SMSка от некоей &amp;quot;vcemfo.ru&amp;quot;. Совпадение?&lt;/p&gt;&lt;p&gt;... Общее количество объектов (моих и родственников), подключенных проводом к ростелеку, достигло четырех штук. Пора у них просить скидку как крупному клиенту, бггг. &lt;strike&gt;Вот ведь наживутся на мне, твари&lt;/strike&gt;.&lt;/p&gt;&lt;p&gt;... Поскольку тёща перманентно обитает в своём собственном дивном мире, было поставлено техническое задание найти роутер, из которого не торчат антенны. И таки &lt;a href="https://openwrt.org/toh/asus/lyra_map-ac2200" target="_blank"&gt;нашёл&lt;/a&gt;. И даже купил на барахолке. Правда, они продаются только комплектом по две-три штуки. Но ничего, поставлю второй кому-нибудь ещё. Железо там внутри хорошее, да и перепрошиваются в OpenWRT без танцев с бубном.&lt;/p&gt;&lt;p&gt;... В ростелеке продаваны конечно эталонные козлы, но подключили настолько быстро, что я аж о***л с такого сервиса.&lt;/p&gt;&lt;p&gt;Вот так забавно я провёл день.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=7769" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:7657</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/7657.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=7657"/>
    <title>ОколоITшный дыбр #138</title>
    <published>2026-03-09T11:00:36Z</published>
    <updated>2026-03-09T11:00:36Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">&lt;p&gt;... С этими всеми блокировками начал смотреть какие бывают OpenSource-мессенджеры, которые в качестве транспорта используют HTTPS. Результат неутешительный: это разве что только Matrix. Причем, под него был достаточно популярный сервер на Rust-е, который &amp;quot;&lt;a href="https://www.reddit.com/r/selfhosted/comments/1jxc1rb/conduwuit_is_archived/" target="_blank"&gt;сдулся&lt;/a&gt;&amp;quot;. Самый же популярный &amp;quot;Synapse&amp;quot; достаточно тяжелый и местами бестолковый. Да и сам протокол такой, не лёгонький. Опять же, проблема с мобильными клиентами, которые есть суть поделки поверх electron-а. М-дя.&lt;/p&gt;&lt;p&gt;... Оказывается, вблизи теплотрасс клещи вполне себе могут выживать и зимой. Некоторые собачники притаскивают оных себе домой посреди февраля и долго удивляются.&lt;/p&gt;&lt;p&gt;... Как выяснили народные умельцы, прямо сейчас телеграм замедляется по достаточно тупому алгоритму: просто рандомно отбрасывается (DROP) каждый энный пакет от клиента к серверу. Таким образом, если просто &amp;quot;клонировать&amp;quot; все исходящие от приложения пакеты в трех-четырех экземплярах, то всё прекрасно работает ценой кратного оверхеда использования канала и безо всяких КВНов. Практическая полезность метода сомнительна, но как академический факт забавный.&lt;/p&gt;&lt;p&gt;... С 16м андроидом какая-то бяда-писялька. Фитнес-браслет работает ровно до тех пор, пока не подключишь беспроводные наушники. И даже после того как отключишь &amp;quot;уши&amp;quot;, браслет цепляется взад далеко не сразу. &lt;strike&gt;При Лужкове&lt;/strike&gt; на предыдущей версии андроида такой фигни не было.&lt;/p&gt;&lt;p&gt;... Переносил тут конторские домены от о***вшего Ру-Центра к другому регистратору. С &amp;quot;*.su&amp;quot; возникла заминка: оные переносятся только по официальному письму на фирменном бланке организации. Но можно подписать такое письмо КЭПом и заслать по электрической почте. Сделал. Пришел эпичный ответ: &amp;quot;&lt;i&gt;В соответствии с правилами оформления писем ... бла-бла-бла ... письмо должно быть подписано &amp;laquo;живой&amp;raquo; подписью руководителя и заверено печатью организации&lt;/i&gt;&amp;quot;. Щито, б%$#ь?!? Вы серьёзно? А ничего что как только я отсканирую документ с &amp;quot;живой&amp;quot; подписью, она сразу же перестанет быть &amp;quot;живой&amp;quot;? Да и зачем в принципе ставить подпись на подпись?&lt;/p&gt;&lt;p&gt;Пришлось звонить им по телефону, ругаться. Со второй попытки перенесли. Но сам факт. Наберут каких-то совершенно безмозглых обезьянок по объявлению...&lt;/p&gt;&lt;p&gt;... &lt;a href="https://firstvds.ru/blog/novye-sroki-deystviya-ssl-sertifikatov" target="_blank"&gt;Готовимся-с&lt;/a&gt;. Скоро X509-сертификаты будут выпускать на два часа, бггг. Сейчас пока что два раза в год. Похоже, мир как-то плавно ***нулся.&lt;/p&gt;&lt;p&gt;... На прошлой неделе вышла OpenWRT 25.12. Радуемся 5 минут. Наверное. А быстро это они. И там уже вместо привычного opkg в качестве менеджера пакетов трудится apk. Не знаю хорошо это или плохо.&lt;/p&gt;&lt;p&gt;... Сбер предлагает выпустить металлическую банковскую карту всего-то за 7500 рублей. Ничем не отличается от пластиковой, кроме того что &amp;quot;подчёркивает высокий статус владельца&amp;quot;. Мне вот интересно, как и перед кем ей понтоваться-то предлагается? Я ещё понимаю там всякие ойфоны, которые &amp;quot;типа невзначай&amp;quot; на деловых встречах и свиданиях выкладывают из кармана на стол. Или там всякие бентли-каены, их хотя бы видно невооруженным глазом. А этой вундер-картой перед кем надо размахивать? Перед официантом в ресторане штоле? Или перед кассиром в &amp;quot;Ашане&amp;quot;?&lt;/p&gt;&lt;p&gt;... Поставил одному знакомому по его просьбе госмессенджер &amp;quot;Скам&amp;quot; на телефон. Абсолютно чистый, с другим гугол-аккаунтом нежели все остальные его телефоны. Запустили &amp;mdash; а там уже всего его контакты внутри есть. Почти как в анекдоте из серии &amp;quot;купил на барахолке мобильник взамен украденного&amp;quot;. М-дя. Надо полагать, что контакты он из &amp;quot;Вконтактика&amp;quot; подтянул, но всё равно неприятно.&lt;/p&gt;&lt;p&gt;... А &amp;quot;Яндекс.Клавиатура&amp;quot;, похоже, тоже шпиёнит за своими пользователями. После того как супруга немного попереписывалась в телеграме со своим стоматологом, &amp;quot;Яндекс&amp;quot; забомбил её рекламой имплантатов везде где только можно. П...сы.&lt;/p&gt;&lt;p&gt;... Озон-банк &amp;quot;от щедрот&amp;quot; некоторым предложил на март месяц кешбек 5% за супермаркеты. Надо зайти в приложение и подключить если дают.&lt;/p&gt;&lt;p&gt;... Я всегда думал, что НИИОХ&amp;nbsp;&amp;mdash;&amp;nbsp;это институт органической химии, а оказалось что овощного хозяйства. Впрочем пофиг, в 2023-м году его всё равно закрыли. Но автобусная остановка пока жива.&lt;/p&gt;&lt;p&gt;... Похоже, не суждено сбыться моей мечте &lt;strike&gt;идиота&lt;/strike&gt; покататься с горок в дубайском аквапарке. Эх-х-х-х, вот всегда так.&lt;/p&gt;&lt;p&gt;... В одном ЦОДе к WiFi прикрутили Captive Portal. Причем, чтобы авторизоваться, теперь нужно позвонить со своего мобильника на определенный номер &amp;quot;8-800&amp;quot;. Пытался это сделать с Мегафна&amp;nbsp;&amp;mdash;&amp;nbsp;ноль эмоций. Набрал с Ростелека&amp;nbsp;&amp;mdash;&amp;nbsp;сразу впустили в интернеты. А тот же &amp;quot;Яндекс&amp;quot; не хочет подтверждать персданные моей мамы через Мегафношный Mobile ID. Совпадение?&lt;/p&gt;&lt;p&gt;Всем удалить Яндекс.Клавиатуру и урожайного овощного хозяйства по науке.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=7657" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:7280</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/7280.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=7280"/>
    <title>Снова про Postgres</title>
    <published>2026-03-08T15:28:10Z</published>
    <updated>2026-03-08T15:28:10Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Раз уж подял всю эту тему про PostgreSQL.&lt;/p&gt;&lt;p&gt;... Оказывается, я слоупок (никогда такого не было, и вот опять). Один хороший человек давным-давно написал утилиту под названием &amp;quot;&lt;a href="https://github.com/dimitri/pgcopydb" target="_blank"&gt;pgcopydb&lt;/a&gt;&amp;quot;. Пакет с ней есть в репозиториях PGDG. Эта утилита выполняет пресловутый &amp;quot;pg_dump | pg_restore&amp;quot;, но в несколько потоков и без необходимости писать в промежуточные файлы. Плюс умеет ещё в разную магию наподобие декодирования WAL-ов и &amp;quot;досылки&amp;quot; изменений.&lt;/p&gt;&lt;p&gt;... Не я первый, не я последний столкнулся с проблемой копирования этих самых BLOB-ов. &lt;a href="https://medium.com/@suyog.kalambate/lob-migration-in-postgresql-b81dad3cf00d" target="_blank"&gt;Некий индус&lt;/a&gt; тоже не выдержал и написал свой &lt;a href="https://github.com/searceinc/postgresql-lob-migration" target="_blank"&gt;скрипт на питоне&lt;/a&gt;, который копирует BLOBы. Утверждает, что ему удается сократить время копирования в сто раз за счёт многопоточности. Хотя мне пока что непонятно как потом эти OID-ы приводить в соответствие между &amp;quot;старыми&amp;quot; и &amp;quot;новыми&amp;quot; таблицами.&lt;/p&gt;&lt;p&gt;... И на самом деле все эти пресловутые &amp;quot;Large Objects&amp;quot; есть ни что иное как... та-да-а-а-ам... bytea-поля &lt;a href="https://www.cybertec-postgresql.com/en/cleaning-up-large-number-blobs/" target="_blank"&gt;в отдельной таблице&lt;/a&gt; под названием &amp;quot;pg_largeobject&amp;quot;. Просто Postgres &amp;quot;из коробки&amp;quot; предоставляет для них набор готовых wrapper-функций. Блин, а разговоров-то... И чего я раньше эту статью не нашёл. Так что вопрос переделки софта с LO OIDS на bytea-поля обретает внезапную актуальность.&lt;/p&gt;&lt;p&gt;... В природе существует готовое расширение &amp;quot;&lt;a href="https://www.postgresql.org/docs/current/dblink.html" target="_blank"&gt;dblink&lt;/a&gt;&amp;quot;, которое позволяет нативно выполнять запросы к другой базе данных. То есть технически возможно скопировать сперва только реляции, а BLOB-ы затаскивать в новую базу по мере обращения к ним. Если ничего лучше не придумаю, то попрошу программиста вставить небольшой кусок кода в приложение, который будет эксплуатировать этот dblink. Тоже вариант.&lt;/p&gt;&lt;p&gt;А так, попробую сперва вариант с pgcopydb + SSD. Может и прокатит.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=7280" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:6994</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/6994.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=6994"/>
    <title>Postgres: bytea vs LO OID</title>
    <published>2026-03-07T20:40:11Z</published>
    <updated>2026-03-07T20:40:11Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Некое продолжение предыдущего поста.&lt;/p&gt;&lt;p&gt;Полез я изучать матчасть на тему того как в Postgres-е в принципе могут храниться бинарные объекты. Нашел &lt;a href="https://wiki.postgresql.org/wiki/BinaryFilesInDB" target="_blank"&gt;вот такую статью&lt;/a&gt; в их вики. Если вкратце, есть три способа.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Text +&amp;nbsp;Base64&lt;/li&gt;
&lt;li&gt;Bytea&lt;/li&gt;
&lt;li&gt;Large Objects OID (BLOB)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Первый вариант сразу добавляет примерно треть к объему базы данных и не несёт каких-то значимых преимуществ, поэтому сразу нафиг. А вот между Bytea и LO OID выбор уже не столь очевиден. Не знаю что там творится у программистов, подозреваю что им по большому счёту пофиг что использовать. С точки зрения сисадмина же картина выглядит примерно так.&lt;/p&gt;&lt;p&gt;У LO OID (BLOB) есть два очевидных недостатка: не пролезают в логическую репликацию и очень долгий restore из дампа. В разы дольше чем с bytea, причём ещё и не параллелится. Чуть менее очевидный недостаток: такие BLOB-ы не привязаны к какой-то конкретной таблице, а являются принадлежностью всей базы в целом. То есть в случае миграции базы их не получится переносить &amp;quot;по частям&amp;quot;, а объем там может быть ого-го.&lt;/p&gt;&lt;p&gt;Bytea на этом фоне выглядит интереснее, но и с ним не всё радужно. Если делать текстовый дамп, то в оном такие объекты многократно распухают в размере из-за необходимости перекодирования в HEX. И теоретически возможна ситуация, когда результирующее представление объекта вылезет за 1 ГБайт и дамп просто обломится, т.е. его не удастся снять в принципе. Есть ещё некоторые приколы с пользовательскими представлениями данных и нуль-терминальными строками, но это больше по части программистов. С точки зрения сисадмина Postgres при работе с таблицами, содержащими bytea-столбцы, начинает кушать больше оперативной памяти. И есть некоторые экзотические ограничения из серии что если размер bytea-полей превышает 2 Кбайта, то в таблице не может содержаться более четырех миллиардов таких строк. А размер одного bytea-объекта ограничен одним гигабайтом. Но это какие-то сильно нестандартные случаи, конкретно ко мне они отношения не имеют.&lt;/p&gt;&lt;p&gt;То есть получается смешная ситуация. В случае с bytea возникают проблемы с дампами, а при LO OID&amp;nbsp; &amp;mdash; с восстановлением из дампов. Шо то херня, шо это херня. Да и остальные достоинства-недостатки плюс-минус уравновешивают друг друга.&lt;/p&gt;&lt;p&gt;Поэтому как мне видится со своей колокольни, критерии принятия решения примерно следующие. Если нужна логическая репликация и/или нет возможности оперировать бинарными бэкапами на уровне физического представления (я имею в виду те которые pg_basebackup), то однозначно выбирать bytea. Во всех прочих случаях, а особенно если объекты весят больше пары килобайт, то LO OID всё же предпочтительнее. Хотя бы потому что они расходуют меньше вычислительных ресурсов в &amp;quot;повседневной&amp;quot; работе, плюс можно бэкапить и хранить реляции отдельно от BLOB-ов.&lt;/p&gt;&lt;p&gt;Всем правильного выбора хранения binary objects в postgres-е.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=6994" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:6908</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/6908.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=6908"/>
    <title>Задачка на Postgres</title>
    <published>2026-03-06T17:30:57Z</published>
    <updated>2026-03-06T17:30:57Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">&lt;p&gt;Прилетело мне от неких мурзилок (вместо слова &amp;quot;мурзилка&amp;quot; подставьте конструкцию из трехэтажного мата) весёлое наследство. Пара десятков Postgres-овских серверов, &amp;quot;размазанных&amp;quot; по куче виртуалок в пределах одной технической площадки. Мягко говоря, очень хочется &amp;quot;слить&amp;quot; всё это хозяйство в один &amp;quot;большой&amp;quot; Postgres чтобы его можно было хоть как-то обслуживать. И вроде бы с виду задача не то чтобы сильно сложная: на каждом таком сервере хранится ровно одна база данных, размер которой не превышает 50 ГБайт, а большинство из них по 1...2 ГБайта. Но всё это существенно усугубляется комбинацией из нижеследующих вводных.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Там CentOS 7 + PostgreSQL 12. Да-да, вот такой давным-давно никем не поддерживаемый&amp;nbsp;тухляк в 2026-м году.&lt;/li&gt;
&lt;li&gt;Это всё крутится&amp;nbsp;в проде и останавливать его больше чем на полчаса нельзя.&lt;/li&gt;
&lt;li&gt;Внутри некоторых из таких баз данных содержатся таблицы&amp;nbsp;с примерно 10...15 миллионами строк, в которых лежат BLOB-ы.&lt;/li&gt;
&lt;li&gt;На хост-машинах установлены обычные 2.5&amp;quot; SAS-овые шпиндели.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Сперва я пошёл &amp;quot;в лоб&amp;quot;. pg_dump | pg_restore и всё вот это. Результат не понравился. Всё затыкается на импорте тех самых BLOB-ов: шпиндели &amp;quot;не вывозят&amp;quot;. На тестовую &amp;quot;перекачку&amp;quot; самой толстой базы ушло более пяти часов. Такой downtime мне никто никогда не согласует.&lt;/p&gt;&lt;p&gt;Что с этим делать, не очень понятно. В бинарном виде не перегнать, потому что идет объединение нескольких инстансов постгреса в один, к тому же и версии разные. Перегонять &amp;quot;по кускам&amp;quot; теоретически возможно, практически малореально: велик риск напортачить, плюс базы данных не партиционированные и непонятно что там реально нужно, а что просто балласт. Да и человеко-часов на такое уйдёт тоже мама не горюй. Оставить &amp;quot;как есть&amp;quot;, просто подняв версию постгреса и перевесить на актуальный дистрибутив? Тоже плохо. Уже сейчас-то это всё поддерживать не возьмешься, а г...но ещё и ширится. И когда в бинарном виде мигрируешь с красных шапок на Debian, у постгреса бьются построенные по строкам индексы, не спрашивайте почему. Тоже так себе вариант.&lt;/p&gt;&lt;p&gt;Пока что на ум приходит только вытащить из закромов of Rодина пару SSDшек, заменить ими шпиндели в каком-нибудь сервере, поотключать все возможные журналы, fsync, synchronous_commit и попробовать ещё раз. Может и случится чудо.&lt;/p&gt;&lt;p&gt;А если не случится, то придется смотреть в сторону логической репликации. Но оно тоже такое... слабопредсказуемое.&lt;/p&gt;&lt;p&gt;Можно было бы долбануться на отличненько и засунуть целиком виртуалку с постгресом-реципиентом в RAM-диск. Но, увы, нет на той площадке настолько толстой железки. То есть сам реципиент допустим ещё как-то влезет, но всё остальное тоже куда-то девать нужно, а некуда.&lt;/p&gt;&lt;p&gt;Шо то фигня, шо это фигня.&lt;/p&gt;&lt;p&gt;Избегайте мурзилок и весёлого наследства.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=6908" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2026-01-03:4280807:6402</id>
    <link rel="alternate" type="text/html" href="https://klink0v.dreamwidth.org/6402.html"/>
    <link rel="self" type="text/xml" href="https://klink0v.dreamwidth.org/data/atom/?itemid=6402"/>
    <title>ОколоITшный дыбр #137</title>
    <published>2026-03-01T14:29:07Z</published>
    <updated>2026-03-01T14:29:07Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;... Сложилось впечатление, что все российские регистраторы доменов застряли где-то далеко в 1990-ых годах. У всех какие-то дико уё***ные дико неинтуитивные интерфейсы. У многих из них часть необходимых действий можно выполнить только руками мясной техподдержки через тикет. А чтобы был специальный интерфейс для редактирования DS-записей вышестоящей зоны &amp;mdash; это и вовсе скорее исключение, чем правило. При том, что ICANN аж с 2013-го года в обязательном порядке требует от всех новых регистраторов поддерживать DNSSec и IPv6. М-дя.&lt;/p&gt;&lt;p&gt;Чисто ради интереса зарегал себе учетку в Mastername, посмотрел интерфейс их личного кабинета: меня чуть не вырвало. В Бегете честно признались, что их DNS-сервера не умеют в DNSSec. Шёл 2026-й год...&lt;/p&gt;&lt;p&gt;... Мобильный ростелек в своём репертуаре. Я точно знаю, что мама никуда дальше Зеленограда в феврале не ездила, но у неё SIM-ка каким-то непостижимым кульбитом умудрилась зарегистрироваться в сети другого оператора (чего в норме вообще-то произойти было не должно), за что с её счета&amp;nbsp;торжественно&amp;nbsp;списали 95 копеек.&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="https://klink.ovh/klink0v/2026/004-dybr/005-rostelek.png" /&gt;&lt;/p&gt;&lt;p&gt;Понятно, что мне будет лень ради этого трясти техподдержку. Но уровень технического оснащения ростелека просто поражает.&lt;/p&gt;&lt;p&gt;Знакомая говорит, что иногда пытается набрать одному и тому же человеку с ростелекомовской SIMки, ей отвечают что якобы &amp;quot;для звонка недостаточно средств&amp;quot;. Хотя на счету есть и рубли, и предоплаченные минуты. Дичь в общем. Одним словом, в качестве резервного оператора канает, в качестве основного держать его стрёмновато.&lt;/p&gt;&lt;p&gt;Проблему с адресами города Зеленоград при электронной регистрации договора они так и не решили...&lt;/p&gt;&lt;p&gt;... Я понял что слоупок. Goписьная реализация непомнящего стража проводов по функционалу сильно опережает его же ядрёный модуль. Но как-то упустил этот момент из виду и до сих пор продолжаю использовать последний. Видать, скоро придется переделывать свои линки на Golang-версию 2.0. Хотя как ни странно, на проводном интернете пока что даже версия 1.0 всё ещё работает, правда, не до всяких хостов &amp;quot;с той стороны&amp;quot;. На мобильном уже нет, вообще никуда.&lt;/p&gt;&lt;p&gt;Но больше у меня конечно бомбит от того, что даже сугубо внутри чебурнета &amp;quot;замедляют&amp;quot; XMPP просто потому, что оный лежит в основе протокола WhatsApp. Последний мне нафиг не сдался, а вот с полудохлым XMPP грустновато будет. И что с этим можно сделать, ни фига не понятно.&lt;/p&gt;&lt;p&gt;... Услышал у кого-то термин &amp;quot;гуманитарная интервенция&amp;quot;. Звучит примерно как &amp;quot;безалкогольная водка&amp;quot;. Интересно девки пляшут.&lt;/p&gt;&lt;p&gt;Всем не утонуть в весеннем половодье.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=klink0v&amp;ditemid=6402" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
