Обновить
27
0
Джони Дэп@Godless

Супермэн

Отправить сообщение

Как отслеживать состояние сетевых интерфейсов на Linux с помощью netlink

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели11K

Всем привет! Меня зовут Тимур, в компании YADRO я разрабатываю ПО для коммутаторов KORNFELD. Однажды на работе мне потребовалось написать программу для включения прослушивания интерфейсов, которые удовлетворяют определенной конфигурации системы. Старшие коллеги сказали, что это можно сделать с помощью netlink. Я начал разбираться в этой технологии с нуля, потратил больше двух месяцев на изучение протокола, написание обработчика и хочу поделиться своим опытом. 

Я постараюсь не просто осветить теорию и представить готовый код, а показать, как с netlink можно сделать именно то, что вам нужно. Как узнать, что именно делает система при настройке сетевых интерфейсов и как обрабатывать ее команды. Это важно, поскольку из множества сообщений от netlink для решения конкретной задачи обычно нужны лишь некоторые.

Читать далее

Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

Время на прочтение27 мин
Охват и читатели37K

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

Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками.

Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Сложно о простом. Самые популярные протоколы туннелирования, динамической маршрутизации и принципы их работы. Часть 2

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели27K

Приветствую, коллеги! Меня зовут @ProstoKirReal. Сегодня хотелось бы продолжить обсуждение с вами о самых популярных протоколах, а также принципов их работы. В предыдущей части я говорил о протоколах ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS и DHCP. Сегодня хотелось бы рассказать о протоколах туннелирования GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS и динамической маршрутизации OSPF и BGP.

Читать далее

Анонимный Дед Мороз на Хабре

Время на прочтение2 мин
Охват и читатели11K

Привет Хабр! Началась календарная зима, а значит, и до Нового Года рукой подать! Мы анонсируем традиционную новогоднюю забаву — Анонимного Деда Мороза

UPD: Пост хвастовства новогодними подарками!

Читать далее

Как я делал сеть на 25 гигабит с минимальным бюджетом

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели23K
Небольшой отчёт о моём опыте покупки кабелей и сетевых карт, а также тесты 25Гбит/с на слабых и быстрых компьютерах. Что же получилось собрать за 100 $, какие в реальности скорости получились, и как я сэкономил 30 $? Читайте далее в статье.

Читать дальше →

Открытая IDE для российских разработчиков

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели46K

Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.

Почему это хорошая новость для российских разработчиков? Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз? Читайте под катом.

Читать далее

T-Lite и T-Pro – открытые русскоязычные опенсорс-модели на 7 и на 32 млрд параметров

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели29K

Всем привет! Я Толя Потапов, MLE в Т-Банке. Руковожу командой разработки фундаментальных моделей. 

Почти два года мы плотно работаем с LLM, развиваем продукты на базе больших языковых моделей. Например, Вселенную ассистентов, которая входит Gen-T — семейство собственных специализированных языковых моделей. 

Сегодня мы открываем две большие языковые модели — T-Lite и T-Pro, над которыми работали последние полгода, их можно скачать с huggingface. Они распространяются под лицензией Apache 2.0. Для адаптации моделей под бизнес-кейсы рекомендуем воспользоваться нашей библиотекой turbo-alignment с инструментами для полного цикла работы над LLM. 

Читать далее

Перепрограммируем заводской термостат Zigbee для теплого пола от компании Tuya

Время на прочтение10 мин
Охват и читатели18K

Автор не несет ответственности, если данная статья сделает из вашего умного термостата полоумный.

Для пользователей умных домов, которые строят свои системы на протоколе Zigbee, название Tuya знакомо, как никогда. Причем в последнее время название Tuya не всегда ассоциируют именно с компанией Tuya. Очень много китайских компаний выпускают свои изделия, в сердце которых лежит платформа Tuya. Вот весь этот "зоопарк" и принято называть Tuya.

Читать далее

Ultimatum — еще один форк хромиума, с претензией…

Время на прочтение10 мин
Охват и читатели5.9K

image


Добрый день! Меня зовут Тимур и я программист.


Сегодня я хочу сделать настоящий анонс своей сборки chromium — Ultimatum. Он умеет уже достаточно много что бы гордо носить свое собственное имя.


В прошлой своей статье я рассказал о том как пробросил в js прямой доступ до http кеша и объяснил для чего я это делаю. Статья завершилась со словами что я еще вернусь со своим антидетект браузером. Я вернулся и это немного больше чем антидетект браузер.


Если коротко — Ultimatum уже помножил на ноль такие техники трекинга как hsts-pinning, favicons cache и вообще использование многих других кешей в трекинге. А также! Теперь можно поставить расширение с любого сайта, не только со сторов гугля, оперы или микрософта (с них кстати тоже можно — со всех!). А еще! Можно перехватывать сетевые запросы и подменять их полностью! Ну и так далее и тому подобное.


А теперь более подробно и более спокойно.

Читать дальше →

Зачем покупать, когда можно… или как я собирал систему мониторинга фильтра воды и что из этого вышло

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели17K

Привет, Хабр!

Наверное, многие из вас понимают, насколько важно качество питьевой воды для здоровья человека. Технологии не стоят на месте и высокотехнологичные решения очистки воды, которые когда-то казались фантастикой, теперь доступны и для бытового применения за небольшие деньги. Речь идет о фильтре, работающего на принципе обратного осмоса, который позволяет получать питьевую воду высокого качества даже из самых загрязненных источников. В этой статье я расскажу о своем опыте разработки системы мониторинга для бытового фильтра воды и что в итоге из этого получилось.

Читать далее

Linux машина в домене Windows AD с помощью sssd и krb5

Время на прочтение3 мин
Охват и читатели135K
Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.

Для примера будем использовать:

Домен = contoso.com
Контроллер домена = dc.contoso.com
Читать дальше →

Как я адаптировал v2rayN для России или российские источники geo файлов для v2ray/sing-box/etc

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели133K

Сегодня был выпущен мажорный релиз v2rayN v7.0, а вместе с ним и моя серия коммитов, которые добавляют поддержку пресета "Россия".

Для его работы так же был создан российский источник geo файлов для v2ray/sing-box/etc.

Читать далее

Неинтерактивная SSH-аутентификация

Время на прочтение3 мин
Охват и читатели6.1K


SSH предлагает несколько форм аутентификации, в том числе пароли и открытые ключи. Последние считаются более безопасными. Однако аутентификация по паролю по-прежнему остаётся самой популярной, особенно в сетевом оборудовании.

Чтобы не вводить пароль каждый раз вручную, есть специальные инструменты для автоматизации логина, то есть для неинтерактивной SSH-аутентификации. Это классическая утилита sshpass и её «исправленный» вариант passh (подробнее о причине «исправления» см. здесь).
Читать дальше →

Ирина — опенсорс русский голосовой помощник. Offline-ready

Время на прочтение9 мин
Охват и читатели77K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >

Перевод серверов СЭД на Linux и Postgres на практике

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели1K

Привет, Хабр! Это вторая серия кейса по переводу на Linux и Postgres серверов системы электронного документооборота ТЕЗИС в компании ITMS (но можно читать ее как отдельную статью). Речь идет о крупном проекте — 2000 пользователей, БД на 700 Гб. Раньше ITMS было подразделением глобальной компании, после 2022 года произошла локализация бизнеса, из‑за этого встал вопрос перехода на российское ПО. СЭД ТЕЗИС — кроссплатформенный продукт на Java, поэтому переписывать систему не понадобилось. Сложность заключалась в сжатых сроках, большом объеме данных и том факте, что параллельно с заменой ОС и СУБД развивалась СЭД и перестраивалось связанное с ней ПО. В прошлой серии мы подробно рассказали о выборе ОС и СУБД, определении зон ответственности и совместимости версий. Сегодня — о том, как происходила замена.

Читать далее

Настройка автовакуумирования в PostgreSQL

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели10K

Привет, Хабр!

Сегодня поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL — одном из механизмов, который позволяет базе данных оставаться «в форме» и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.

Читать далее

Обходим замедление Youtube на Android TV без VPN

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели202K

Всем привет, сегодня речь пойдет про Android TV. Мне обход именно на телевизоре показался самым проблемным и сложным. Так как дома имеется несколько лишенных ютуба телевизоров, а еще больше ожидают настройки у друзей и знакомых - решил собрать все найденные способы обхода блокировки.

Читать далее

Linux + 2 ISP. И доступность внутреннего сервера через обоих провайдеров

Время на прочтение5 мин
Охват и читатели16K
Есть замечательная статья, в которой рассказывается, как это делается на Cisco. Но мы не хотим тратить $100500 на приобретение штампованных оттисков «Cisco Systems» на корпусе маршрутизатора.

Описание проблемы

Итак, суть проблемы: имеется два NAT через двух разных провайдеров, локальная сеть, в которой есть сервер и который должен быть публичным и доступным через оба NAT. У провайдеров разные приоритеты: сначала задействуется первый, потом второй.

Если пакет вошёл через первого провайдера, он NAT-ится на наш сервер, обрабатывается, образуется ответный пакет, который выходит через первого провайдера и уходит туда, откуда пришёл первый пакет. Хорошо.

Если пакет вошёл через второго провайдера, он NAT-ится на наш сервер, обрабатывается, образуется ответный пакет, который выходит через первого провайдера… а почему? Потому, что сначала в Linux происходит маршрутизация, а потом уже SNAT. Итак, при маршрутизации пакету назначается следующий узел — шлюз первого провайдера (по умолчанию). Потом происходит отслеживание соединения — conntrack замечает, что этот пакет является ответом на другой, и заменяет адрес отправителя адресом, который выдал нам второй провайдер. А потом пакет направляется через интерфейс первого провайдера на его шлюз. Как правило, провайдер блокирует пакеты, адресом отправителя которых указан адрес не из их подсети. Плохо.

Читать дальше →

Blur Behind: История провалов на разных ОС

Время на прочтение21 мин
Охват и читатели19K


Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии корпоративного супераппа в команде VK Teams. Я уже писал на Хабр две статьи про использование масок, создание сложных многослойных и полупрозрачных окон и о своем опыте реализации красивых спецэффектов с использованием Qt Framework: вот первая и вторая. По просьбам читателей я решил закончить этот небольшой цикл статей описанием неудач, с которыми мне пришлось столкнуться при реализации спецэффекта Blur Behind для разных ОС.
Читать дальше →

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Время на прочтение25 мин
Охват и читатели25K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность