Меняем VPN на socks5-прокси
Есть интересная утилита: ocproxy. Позволяет создать socks5-прокси из vpn-подключения. Например если подключиться к openconnect-серверу командой:
То получится socks5-прокси на порту 11080, весь трафик которого пойдёт через openconnect-сервер.
Это удобно когда необходимо не заворачивать весь трафик машины в туннель, а нуждающееся в туннелировании ПО поддерживает работу через socks5-прокси.
Есть интересная утилита: ocproxy. Позволяет создать socks5-прокси из vpn-подключения. Например если подключиться к openconnect-серверу командой:
openconnect --script-tun --script "ocproxy -D 11080" oc.example.com
То получится socks5-прокси на порту 11080, весь трафик которого пойдёт через openconnect-сервер.
Это удобно когда необходимо не заворачивать весь трафик машины в туннель, а нуждающееся в туннелировании ПО поддерживает работу через socks5-прокси.
🔥1
Хочу систему рейтингов для музеев
Производитель шин Мишлен в своё время создал путеводитель по ресторанам, где присваивал им рейтинг. Если кто не знал:
- 1 звезда: можно поесть если по пути
- 2 звезды: заведение достойно отклонения от маршрута если не совсем по пути
- 3 звезды: заведение достойно того чтобы быть самостоятельной целью поездки
Вот было бы здорово иметь такой же путеводитель по музеям. Чтобы сразу понимать стоит туда ехать или нет.
Живя в Казани сам несколько раз целенаправленно ездил на мероприятия в музей Сахарова в Нижнем Новгороде. Т.е. определённо это три звезды. В Тольятти есть музей АвтоВАЗ (гусары, молчать!), который стоит посетить если ты где-то недалеко от Тольятти. Ну т.е. определённо две звезды.
А в Чкаловске есть музейный комплекс "Русские крылья", который с одной стороны содержит уникальные экспонаты, а с другой - персонал, которому ты мешаешь пить чай. Тут пожалуй одна звезда.
Если когда-то появится такой путеводитель то я обязательно буду им пользоваться.
Производитель шин Мишлен в своё время создал путеводитель по ресторанам, где присваивал им рейтинг. Если кто не знал:
- 1 звезда: можно поесть если по пути
- 2 звезды: заведение достойно отклонения от маршрута если не совсем по пути
- 3 звезды: заведение достойно того чтобы быть самостоятельной целью поездки
Вот было бы здорово иметь такой же путеводитель по музеям. Чтобы сразу понимать стоит туда ехать или нет.
Живя в Казани сам несколько раз целенаправленно ездил на мероприятия в музей Сахарова в Нижнем Новгороде. Т.е. определённо это три звезды. В Тольятти есть музей АвтоВАЗ (гусары, молчать!), который стоит посетить если ты где-то недалеко от Тольятти. Ну т.е. определённо две звезды.
А в Чкаловске есть музейный комплекс "Русские крылья", который с одной стороны содержит уникальные экспонаты, а с другой - персонал, которому ты мешаешь пить чай. Тут пожалуй одна звезда.
Если когда-то появится такой путеводитель то я обязательно буду им пользоваться.
😁1
Про контейнеры
Пост во многом для тех кто далёк от разработки или как минимум далёк от *nix. Когда-то я считал что все эти контейнерные истории это удел маленьких проектов. А для больших только физические сервера. Сейчас я очень люблю контейнеры и не представляю своей работы без них. Понятно что контейнеры не парят в воздухе и без физических серверов никуда. Но у контейнеров есть огромные преимущества.
Самое главное: в контейнере окружение всегда одинаковое: не важно какая ОС на хосте у разработчика. Внутри контейнера будет ровно то что нужно. И у него. И у его коллеги. И на боевом сервере. Главное правильно описать эти самые контейнеры.
И сценариев использования очень много. Например в процессе отладки можно запустить несколько контейнеров с разными версиями сервиса и сравнивать поведение. Иногда очень помогает
На работе мы пришли к автоматическому деплою кода при проставлении тэга в репозитории. При этом сначала запускаются тесты, и только если они завершились успешно код выкатывается на прод. Разумеется тесты запускаются в контейнерах.
На проде так же контейнеры. И если нагрузка на какой-то сервис растёт то запускаются новые копии сервиса (так же в контейнерах) и балансировщик распределяет между ними нагрузку. Kubernetes вообще великая штука)
Пост во многом для тех кто далёк от разработки или как минимум далёк от *nix. Когда-то я считал что все эти контейнерные истории это удел маленьких проектов. А для больших только физические сервера. Сейчас я очень люблю контейнеры и не представляю своей работы без них. Понятно что контейнеры не парят в воздухе и без физических серверов никуда. Но у контейнеров есть огромные преимущества.
Самое главное: в контейнере окружение всегда одинаковое: не важно какая ОС на хосте у разработчика. Внутри контейнера будет ровно то что нужно. И у него. И у его коллеги. И на боевом сервере. Главное правильно описать эти самые контейнеры.
И сценариев использования очень много. Например в процессе отладки можно запустить несколько контейнеров с разными версиями сервиса и сравнивать поведение. Иногда очень помогает
На работе мы пришли к автоматическому деплою кода при проставлении тэга в репозитории. При этом сначала запускаются тесты, и только если они завершились успешно код выкатывается на прод. Разумеется тесты запускаются в контейнерах.
На проде так же контейнеры. И если нагрузка на какой-то сервис растёт то запускаются новые копии сервиса (так же в контейнерах) и балансировщик распределяет между ними нагрузку. Kubernetes вообще великая штука)
Thefuck: исправление опечаток в командах
Нашёл интересный пакет: thefuck. Присутствует как минимум в Debian и AltLinux. После конфигурирования помогает повторно выполнять ранее введённые команды исправив опечатки в них.
Поддерживает bash, но к сожалению не работает в fish (да, я предпочитаю fish). Но в любом случае штука интересная и для пользователей bash выглядит полезной.
Нашёл интересный пакет: thefuck. Присутствует как минимум в Debian и AltLinux. После конфигурирования помогает повторно выполнять ранее введённые команды исправив опечатки в них.
Поддерживает bash, но к сожалению не работает в fish (да, я предпочитаю fish). Но в любом случае штука интересная и для пользователей bash выглядит полезной.
Давно я не писал про национальный мессенджер
Пока был в отпуске прилетела интересная задача: посмотреть сколько пользователей добавили себе в контакты бота. И... Оказывается сделать этого нельзя. Можно с помощью API-метода /chats получить список групповых чатов, в которые добавлен бот, но список одиночных пользователей - нельзя.
При добавлении бота пользователем на вебхук прилетает уведомление. При удалении так же прилетает уведомление. Т.е. в теории можно считать эти самые уведомления и по ним потом собирать статистику. Но эту логику ещё надо реализовать. И тут ещё надо подумать как лучше сделать: либо тупо крутить счётчик вверх/вниз, либо собирать ID пользователей и писать статусы: On/Off и потом по этой таблице собирать статистику.
Пока в процессе обсуждения. Посмотрим к чему придём.
Пока был в отпуске прилетела интересная задача: посмотреть сколько пользователей добавили себе в контакты бота. И... Оказывается сделать этого нельзя. Можно с помощью API-метода /chats получить список групповых чатов, в которые добавлен бот, но список одиночных пользователей - нельзя.
При добавлении бота пользователем на вебхук прилетает уведомление. При удалении так же прилетает уведомление. Т.е. в теории можно считать эти самые уведомления и по ним потом собирать статистику. Но эту логику ещё надо реализовать. И тут ещё надо подумать как лучше сделать: либо тупо крутить счётчик вверх/вниз, либо собирать ID пользователей и писать статусы: On/Off и потом по этой таблице собирать статистику.
Пока в процессе обсуждения. Посмотрим к чему придём.
Блокировки
Есть у меня VPS в одной европейской стране. На нём два IP-адреса из разных подсетей. И вот вчера один из адресов перестал быть доступен в РФ. Вернее формально он доступен: ICMP-нормально ходят. И даже TCP-соединения устанавливаются, но вот любое TLS-соединение отваливается по таймауту. И судя по всему это бан конкретного IP, потому что быстрая проверка соседних адресов показала что они работают.
Из любопытства написал запрос в РКН. Срок ответа - до 9-го июля этого года. Даже интересно что ответят.
Есть у меня VPS в одной европейской стране. На нём два IP-адреса из разных подсетей. И вот вчера один из адресов перестал быть доступен в РФ. Вернее формально он доступен: ICMP-нормально ходят. И даже TCP-соединения устанавливаются, но вот любое TLS-соединение отваливается по таймауту. И судя по всему это бан конкретного IP, потому что быстрая проверка соседних адресов показала что они работают.
Из любопытства написал запрос в РКН. Срок ответа - до 9-го июля этого года. Даже интересно что ответят.
🤔1
Блокировки в национальном мессенджере
Диалог с одним из контактов оказался пустым. Профиль заблокирован. И вместо возможности писать сообщения уведомление о блокировке за нарушение правил.
С учётом того что человек далёк от IT я не знаю пока как с ним связаться (не звонить же, честное слово). Но дико интересно за что. Даже просто интересно какие правила можно нарушить и как потом восстанавливать доступ.
А вообще мне кажется что блокирование пользователей в мессенджере, которому присвоен статус национального, это какой-то сюр. С учётом интеграции с государственными сервисами и ограничением альтернативных способов общения блокировка выглядит как что-то из серии "поразить в правах" или "отправить за 101-й километр".
Диалог с одним из контактов оказался пустым. Профиль заблокирован. И вместо возможности писать сообщения уведомление о блокировке за нарушение правил.
С учётом того что человек далёк от IT я не знаю пока как с ним связаться (не звонить же, честное слово). Но дико интересно за что. Даже просто интересно какие правила можно нарушить и как потом восстанавливать доступ.
А вообще мне кажется что блокирование пользователей в мессенджере, которому присвоен статус национального, это какой-то сюр. С учётом интеграции с государственными сервисами и ограничением альтернативных способов общения блокировка выглядит как что-то из серии "поразить в правах" или "отправить за 101-й километр".
А кому немного картинок?
Наверное каждый время от времени делает фотографии, которые потом хочется поставить как фон рабочего стола. У меня такие тоже бывают. А ещё было интересно разобраться как в KDE и GNOME устроено добавление картинок. Чтобы вместе с метаданными и всё такое.
Вобщем собрал фоточки, добавил метаданные, реализовал сборку через cmake. Результат опубликовал на гитхабе: https://github.com/moose-kazan/wallpapers
На трёх последних LTS-выпусках Ubuntu можно поставить так:
Имя пакета конечно немного эгоистичное. Согласен. Но другого пока не придумал.
Наверное каждый время от времени делает фотографии, которые потом хочется поставить как фон рабочего стола. У меня такие тоже бывают. А ещё было интересно разобраться как в KDE и GNOME устроено добавление картинок. Чтобы вместе с метаданными и всё такое.
Вобщем собрал фоточки, добавил метаданные, реализовал сборку через cmake. Результат опубликовал на гитхабе: https://github.com/moose-kazan/wallpapers
На трёх последних LTS-выпусках Ubuntu можно поставить так:
sudo add-apt-repository ppa:bulvinkl/ppa
sudo apt update
sudo apt install vadim-kalinnikov-wallpapers
Имя пакета конечно немного эгоистичное. Согласен. Но другого пока не придумал.
Национальный мессенджер. Теперь с браузером
Зашёл на сайт национального мессенджера и попытался скачать версию для Windows. Файл называется "MAX+Yandex.msi". При установке предлагается установить и сделать основным Яндекс.Браузер. Галочки можно снять, но по умолчанию они установлены.
Кто хотел вернуть 2008-й год? Чем не возвращение? Это в те времена подобные вещи были нормой.
P.S. Под Wine оно запускается, но есть проблемы с перерисовкой окна. Баг мелкий, но делает приложение полностью неюзабельным. Интересно найти решение. Wine конечно не полноценный контейнер, но определённую изоляцию приложений обеспечивает.
Зашёл на сайт национального мессенджера и попытался скачать версию для Windows. Файл называется "MAX+Yandex.msi". При установке предлагается установить и сделать основным Яндекс.Браузер. Галочки можно снять, но по умолчанию они установлены.
Кто хотел вернуть 2008-й год? Чем не возвращение? Это в те времена подобные вещи были нормой.
P.S. Под Wine оно запускается, но есть проблемы с перерисовкой окна. Баг мелкий, но делает приложение полностью неюзабельным. Интересно найти решение. Wine конечно не полноценный контейнер, но определённую изоляцию приложений обеспечивает.
Национальный мессенджер. Кнопки в сообщениях
Несмотря на отсутствие документации удалось разобраться с кнопками в сообщениях. Очень не хватало документации по методу AddOpenApp у клавиатуры. Методом тыка выяснилось что вызывать надо так:
Причём appUrl это не ссылка на мини-приложение, указываемая в настройках бота. А ссылка на самого бота с добавлением "?startapp".
Последний параметр вообще цирк: судя по всему это идентификатор получателя, но если указать вместо него ноль то никаких проблем нет. Потому что идентификатор получателя всё равно указывается при создании сообщения, к которому и подцепляется клавиатура.
Возможно так всё организовано по какой-то хитрой причине, но описания этой причины я не нашёл. Возможно оно есть в той самой документации, которой тоже нет.
Несмотря на отсутствие документации удалось разобраться с кнопками в сообщениях. Очень не хватало документации по методу AddOpenApp у клавиатуры. Методом тыка выяснилось что вызывать надо так:
keyboard.AddRow().AddOpenApp(
buttonTitle,
appUrl,
"startapp",
0)
Причём appUrl это не ссылка на мини-приложение, указываемая в настройках бота. А ссылка на самого бота с добавлением "?startapp".
Последний параметр вообще цирк: судя по всему это идентификатор получателя, но если указать вместо него ноль то никаких проблем нет. Потому что идентификатор получателя всё равно указывается при создании сообщения, к которому и подцепляется клавиатура.
Возможно так всё организовано по какой-то хитрой причине, но описания этой причины я не нашёл. Возможно оно есть в той самой документации, которой тоже нет.
Международный саммит и интернет
У нас в Казани завтра начинается международный саммит «Россия — АСЕАН». И чтобы иностранные делегаты чувствовали себя как дома, но всё же не забывали что они в гостях на зарубежных сим-картах уже сегодня отключили интернет.
Напомню что в РФ иностранцы могут купить местную сим-карту только после сдачи биометрии. И сделать это можно далеко не в каждом салоне связи.
У нас в Казани завтра начинается международный саммит «Россия — АСЕАН». И чтобы иностранные делегаты чувствовали себя как дома, но всё же не забывали что они в гостях на зарубежных сим-картах уже сегодня отключили интернет.
Напомню что в РФ иностранцы могут купить местную сим-карту только после сдачи биометрии. И сделать это можно далеко не в каждом салоне связи.
Зеркала для разработчиков в РФ
Тут оказывается gitverse поддерживает зеркала популярных репозиториев пакетов. Я не знал. Узнал из новости про добавление прокси для Go и Rust.
Кому интересны подробности читайте тут: https://gitverse.ru/docs/artifactory/registry-mirrors/
Тут оказывается gitverse поддерживает зеркала популярных репозиториев пакетов. Я не знал. Узнал из новости про добавление прокси для Go и Rust.
Кому интересны подробности читайте тут: https://gitverse.ru/docs/artifactory/registry-mirrors/
🔥1
Firefox 152
Вышел Firefox 152. Изменений много. Меня зацепило что переработали диалог настроек. Теперь это страница about:preferences, напоминающая chrome://settings из Google Chrome. Интересно что в браузере Midori, работающем на технологиях Mozilla, настройки уже были реализованы в виде страницы about:preferences. Т.е. в Firefox по сути сделали то, к чему другие браузеры пришли уже довольно давно.
Вышел Firefox 152. Изменений много. Меня зацепило что переработали диалог настроек. Теперь это страница about:preferences, напоминающая chrome://settings из Google Chrome. Интересно что в браузере Midori, работающем на технологиях Mozilla, настройки уже были реализованы в виде страницы about:preferences. Т.е. в Firefox по сути сделали то, к чему другие браузеры пришли уже довольно давно.
👍1
SteamOS 3.8
Valve порадовала своих пользователей стабильной версией SteamOS 3.8. Имею в хозяйстве Steam Deck OLED и обновился сразу как прочитал новость.
По ощущениям работать стало немного быстрее. Но при этом как будто и батарея стала чуть быстрее разряжаться. В целом каких-то изменений не заметил. То что работало - продолжило работать. Возможно это связано с тем что всё во что я играю итак работало нормально.
Valve порадовала своих пользователей стабильной версией SteamOS 3.8. Имею в хозяйстве Steam Deck OLED и обновился сразу как прочитал новость.
По ощущениям работать стало немного быстрее. Но при этом как будто и батарея стала чуть быстрее разряжаться. В целом каких-то изменений не заметил. То что работало - продолжило работать. Возможно это связано с тем что всё во что я играю итак работало нормально.
👍1
Ещё немного про SteamOS
Многие знают что в Android системный раздел монтируется только для чтения, а пользовательские приложения ставятся на отдельный раздел и при сбросе до заводских настроек последний просто форматируется.
В SteamOS сделали что-то похожее. Раздел с системой хоть и монтируется для чтения и записи, но реально все игры ставятся в домашнюю директорию пользователя deck. Если переключить консоль в режим рабочего стола то основным способом установки приложений является flatpak, который так же устанавливает все приложения в домашнюю директорию.
Знаю что можно использовать pacman, но тогда при обновлении системы всё что было поставлено через него будет утеряно.
Вобщем интересно как с одной стороны систему защитили от неподготовленного пользователя, а с другой - энтузиастам дали всю гибкость Linux.
Многие знают что в Android системный раздел монтируется только для чтения, а пользовательские приложения ставятся на отдельный раздел и при сбросе до заводских настроек последний просто форматируется.
В SteamOS сделали что-то похожее. Раздел с системой хоть и монтируется для чтения и записи, но реально все игры ставятся в домашнюю директорию пользователя deck. Если переключить консоль в режим рабочего стола то основным способом установки приложений является flatpak, который так же устанавливает все приложения в домашнюю директорию.
Знаю что можно использовать pacman, но тогда при обновлении системы всё что было поставлено через него будет утеряно.
Вобщем интересно как с одной стороны систему защитили от неподготовленного пользователя, а с другой - энтузиастам дали всю гибкость Linux.
❤1
Wine и внешний вид приложений
Случайно узнал что Wine по умолчанию использует X11 для отрисовки даже в окружениях на базе Wayland.
Переключить драйвер можно командой:
Вернуть обратно можно командой:
Следует иметь ввиду что драйвер wayland пока довольно сырой и не все приложения работают с ним корректно. Но например оболочка 2GIS начинает работать заметно лучше: решились проблемы с заголовком окна, лучше стали выглядеть шрифты.
Случайно узнал что Wine по умолчанию использует X11 для отрисовки даже в окружениях на базе Wayland.
Переключить драйвер можно командой:
env WINEPREFIX=$HOME/Wine/2GIS wine reg add \
'HKEY_CURRENT_USER\Software\Wine\Drivers' \
/v Graphics /d 'wayland'
Вернуть обратно можно командой:
env WINEPREFIX=$HOME/Wine/2GIS wine reg add \
'HKEY_CURRENT_USER\Software\Wine\Drivers' \
/v Graphics /d 'x11'
Следует иметь ввиду что драйвер wayland пока довольно сырой и не все приложения работают с ним корректно. Но например оболочка 2GIS начинает работать заметно лучше: решились проблемы с заголовком окна, лучше стали выглядеть шрифты.
👍1🤔1
Списки IP-адресов РБ
Двадцать лет назад я работал в одном небольшоv провайдере, который в том числе перепродавал трафик единственному провайдеру в соседнем городке на ~50k жителей. И на весь тот городок приходилось 16 (шестнадцать!) IPv4 адресов, которые предоставлялись провайдеру вместе с интернет-каналом.
Шуток на эту тему было огромное количество.
Я всегда улыбался, вспоминая то время. А тут выяснил что Белтелком у себя на сайте публикует по сути все IP-адреса Беларуси. Почему-то меня это позабавило.
P.S. Список тут: https://beltelecom.by/business/internet/belnetworks
Двадцать лет назад я работал в одном небольшоv провайдере, который в том числе перепродавал трафик единственному провайдеру в соседнем городке на ~50k жителей. И на весь тот городок приходилось 16 (шестнадцать!) IPv4 адресов, которые предоставлялись провайдеру вместе с интернет-каналом.
Шуток на эту тему было огромное количество.
Я всегда улыбался, вспоминая то время. А тут выяснил что Белтелком у себя на сайте публикует по сути все IP-адреса Беларуси. Почему-то меня это позабавило.
P.S. Список тут: https://beltelecom.by/business/internet/belnetworks
Миграция на Beelink ME Pro
В опросе победил AltLinux. В итоге я поставил в устройство NVME на 512GB под систему и установил Alt Server 11.1. Потом переставил диски из старого Asustor AS5202T. Так как в нём используется MDRAID проблем со сборкой и монтированием массива не возникло.
В Asustor большая часть пользовательских данных принадлежит пользователю admin и группе administators с uid/gid 999/999. В Alt Server 999/999 это messagebus/messagebus. Чтобы не иметь больших проблем поступил просто:
Дальше подправил uid/gid во всех скриптах и файлах запуска контейнеров и запустил их.
И на этом миграция в целом завершена. Хотя понимаю что в ближайшие пару недель всякие мелочи ещё будут вылезать. Буду решать в рабочем порядке.
В опросе победил AltLinux. В итоге я поставил в устройство NVME на 512GB под систему и установил Alt Server 11.1. Потом переставил диски из старого Asustor AS5202T. Так как в нём используется MDRAID проблем со сборкой и монтированием массива не возникло.
В Asustor большая часть пользовательских данных принадлежит пользователю admin и группе administators с uid/gid 999/999. В Alt Server 999/999 это messagebus/messagebus. Чтобы не иметь больших проблем поступил просто:
groupadd -g 1999 administators
useradd -u 1999 -g 1999 admin
find /volume1 -uid 999 -exec chown -v 1999:1999 '{}' \;
Дальше подправил uid/gid во всех скриптах и файлах запуска контейнеров и запустил их.
И на этом миграция в целом завершена. Хотя понимаю что в ближайшие пару недель всякие мелочи ещё будут вылезать. Буду решать в рабочем порядке.
👍2
Про NVME и количество линий PCIE
В сейчас лет я узнал чтоне все йогурты одинаково полезны не каждый NVME-накопитель с PCIE 3.0x4 будет работать в PCIE 3.0x2 и/или в PCIE 3.0x1.
По идее если подключать в разъём с меньшим числом линий накопитель просто должен медленнее работать. Но оказалось что тут есть нюансы. В Beelink ME Pro для NVME-накопителей один слот PCIE 3.0x2 и два слота PCIE 3.0x1. И изначально под систему я планировал поставить накопитель Silicon Power R-R-SLL-P34A60. Но ни в одном из слотов он не заработал (не был виден даже в BIOS). При этом при подключении в USB через переходник NVME-2-USB - всё нормально.
В итоге нашёл ещё один какой-то совсем безымянный (предположительно от Foresee) накопитель и он уже нормально определился и заработал. Запомню на будущее.
В сейчас лет я узнал что
По идее если подключать в разъём с меньшим числом линий накопитель просто должен медленнее работать. Но оказалось что тут есть нюансы. В Beelink ME Pro для NVME-накопителей один слот PCIE 3.0x2 и два слота PCIE 3.0x1. И изначально под систему я планировал поставить накопитель Silicon Power R-R-SLL-P34A60. Но ни в одном из слотов он не заработал (не был виден даже в BIOS). При этом при подключении в USB через переходник NVME-2-USB - всё нормально.
В итоге нашёл ещё один какой-то совсем безымянный (предположительно от Foresee) накопитель и он уже нормально определился и заработал. Запомню на будущее.
👍1