Pull to refresh
27
0.1

Mission Critical

Send message

Как я убедил виртуальную машину, что у неё есть кулер

Level of difficultyEasy
Reading time6 min
Views16K

Зачем вообще этим заморачиваться?

Некоторые образцы malware выполняют различные проверки, чтобы определить, запущены ли они в виртуальной машине. Один из самых частых способов — проверка наличия определённых аппаратных компонентов, обычно не эмулируемых в виртуальных средах. Один из таких компонентов — кулер процессора. Например, malware может проверять наличие кулера процессора, поискав в WMI класс Win32_Fan:

wmic path Win32_Fan get *

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

Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory, Win32_VoltageProbe и множество других.

В этом посте я расскажу о кулере процессора. Мне просто понравилась идея убедить виртуальную машину, что он у неё есть. Однако такой же подход можно применить к другим аппаратным компонентам и классам WMI.

Читать далее

ТОП-5 сервисов и программ для бесплатного редактирования PDF-файлов

Level of difficultyEasy
Reading time7 min
Views6.1K

Когда-нибудь учёные признают PDF одним из самых коварных форматов в истории документов. Особенно если перед вами 120 страниц с таблицами, скриншотами и… одной крошечной ошибкой.

И всё бы ничего, но вам нужно просто заменить одну цифру. Одну! И тут начинается: скачивание шести разных программ, поиск очередного «лучшего PDF-редактора» — и где-то на десятой попытке рождается мысль: может, ну его? Распечатать, исправить ручкой и отсканировать обратно?

Но, к счастью, времена меняются! В этом обзоре мы собрали пять сервисов для различной работы с PDF-документами.

Более того, чтобы внести каплю приключений, мы вновь достаём старый тестовый файл — «Дорога к Эльдорадо», оставшийся с предыдущего обзора. Посмотрим, какой сервис сможет изменить его содержимое лучше.

Приятного чтения!

Читать далее

Rattle: узнаём об ошибках в Docker раньше, чем сообщит клиент

Level of difficultyMedium
Reading time6 min
Views2.5K

Контейнеры падают, а вы узнаёте об этом постфактум? Ошибки в логах проходят мимо?

Собрал Rattle за три дня — простой self-hosted инструмент, который отправляет события из Docker в Telegram. Без лишних панелей, без сложной настройки — просто работает и сообщает о самом важном.

В статье рассказываю, зачем он мне понадобился, как устроен внутри и как можно быстро развернуть его у себя. Покажу Telegram Mini App, через которую удобно управлять уведомлениями.

📎 Ссылка на репозиторий: github.com/rattle-bot/rattle

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Reading time9 min
Views49K


Приходило ли вам в голову, что ваша любимая esp32 может использоваться в роли самого натурального радиолокационного радара?

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Как отключить рекламу в поисковой выдаче Яндекса и Google

Level of difficultyEasy
Reading time5 min
Views3.4K

Всем привет! Меня зовут Андрей Симагин, я автор программы для технического аудита сайтов SiteAnalyzer, и сегодня мы рассмотрим новую версию браузерного расширения SiteAnalyzer SEO Tools, в котором добавлена возможность отображения поисковой выдачи Яндекса и Google без сопутствующей рекламы путем скрытия соответствующих блоков из контента страницы. Расскажем обо всем подробнее.

Читать далее

Централизованная обработка алертов: интеграция VictoriaMetrics, Alertmanager, Grafana OnCall и Telegram

Level of difficultyMedium
Reading time16 min
Views3.3K

Эффективный мониторинг является краеугольным камнем надежности любой IT-системы, позволяя своевременно выявлять возникающие проблемы. Однако само по себе обнаружение проблемы – это лишь полдела. Не менее важна быстрая и скоординированная реакция команды. Инструменты вроде Alertmanager и Grafana OnCall играют ключевую роль в автоматизации процесса оповещения и управления инцидентами. В этой статье мы подробно рассмотрим, как выстроить цепочку взаимодействия между различными компонентами системы мониторинга и оповещения, чтобы каждый инцидент автоматически отслеживался от момента его фиксации правилом мониторинга до доставки уведомления ответственному инженеру в мессенджер, например, Telegram.

Читать далее

Пет-проект vs. служебные произведения: как не отдать права работодателю

Reading time6 min
Views2.1K

Pet-проект – это продукт, который разработчик или автор создает по собственной инициативе в свободное от работы время. Такие проекты не принадлежат работодателю, поскольку не являются служебными произведениями, но споры все равно возникают с завидной регулярностью. Часто на личные проекты работника претендуют именно бывшие работодатели. 

Как разработчику защитить права на pet-проекты, что делать, если работодатель требует передать ему разработки, я расскажу в этой статье. 

Читать далее

DHCP-сервер облачной сети MWS. Как мы одинаковые адреса на разные виртуалки раздаём

Level of difficultyMedium
Reading time10 min
Views2.6K

Привет! При построении overlay-сети MWS Cloud Platform мы столкнулись с задачей: автоматически раздавать сетевые настройки виртуальным машинам на основе VRF — с полной изоляцией и без конфликтов.

Меня зовут Никита Усатов, я занимаюсь разработкой сервисов облачной сети MWS Cloud Platform. В этой статье расскажу, как устроена наша сеть, зачем понадобился DHCP-сервер с поддержкой VRF, как через VPP реализован DHCP Proxy с Option 82, и какие изменения мы внесли в CoreDHCP. Покажу, как передаются настройки от Control Plane к Data Plane, и как CoreDHCP отслеживает конфигурации без перезапуска. В конце — реальные кейсы отладки и мониторинга.

Читать далее

tenv — универсальный менеджер версий для Terraform-стека

Level of difficultyEasy
Reading time9 min
Views1.4K

Когда в 2023 году появился OpenTofu, его моментально подхватило сообщество: идея полностью открытой альтернативы Terraform на тот момент выглядела свежо и многообещающе. Многие захотели попробовать его в деле — но очень быстро столкнулись с типичной проблемой: а как безболезненно переключаться между OpenTofu и Terraform? 

На первый взгляд всё казалось простым: установи два бинарника через любой пакетный менеджер — и готово. Но уже через пару месяцев активного развития OpenTofu, когда компании начали массово делать внутренние POC по миграции, стало очевидно: различий между OpenTofu и Terraform с каждой версией становится всё больше (часть из них хорошо видна, например, на cani.tf) и управлять разными версиями разных инструментов становиться все сложнее.

Именно тогда мы увидели нишу: менеджер версий, заточенный не просто под Terraform, а под весь Terraform-стек, включая OpenTofu.

Читать далее

Как сделать централизованное логирование и крепко спать по ночам

Level of difficultyMedium
Reading time12 min
Views18K

Мы начинали с обычного ELK-стека, логи приходили на logstash, записывались в Elasticsearch, а пользователи смотрели их в Kibana. Потом в эту схему добавилась Kafka, так как мы понимали, что на пиках нагрузок не успеваем записать все логи в Elasticsearch. Всё это располагалось в одном ЦОДе, а в Kafka была единая очередь. В результате горизонтального масштабирования Elasticsearch разросся до 30+ нод. Данная схема справлялась с нагрузкой в 100 тысяч документов в секунду.

Как вы понимаете, эта схема нас устраивала только до определённого периода. В какой-то момент нагрузка начала расти как на дрожжах.

Привет, Хабр! На связи Филипп Бочаров, руководитель платформы наблюдаемости и мониторинга для более 400 продуктов экосистемы МТС, и Юлия Тальцкова, ведущий инженер сервиса логирования и кластеров Open Search с более 400 терабайтами логов клиентов. Этот материал написан на основе нашего доклада для конференции Highload++

Расскажем, как нам удалось переписать критичный и высоконагруженный сервис логирования, перестать просыпаться от ночных звонков и даже иногда уходить в отпуск.

Читать далее

Top 11 Free AI Image Generators: Best AI Image Tools of 2025

Level of difficultyEasy
Reading time8 min
Views9.5K

Admit it, how many times have you wanted to quickly create an image for a post or presentation, but instead got stuck in an editor or endless searches for a suitable image on Google? Wouldn't it be great if the picture in your head could just appear instantly? Time is money, inspiration is on pause, and that's where AI comes to the rescue. Neural networks can generate anything you want, including the craziest ideas. No need to spend hours searching when, with a few clicks, you can see what was in your thoughts just a second ago.

By the way, notice the cover with the dinosaur? Let's call him Rex. Rex is himself a product of neural network creation. Today he'll be the main star of our experiments. But what will we do? Remember I mentioned crazy ideas? Well, to understand all the possibilities of generation, let's give AI a difficult task. We'll send Rex somewhere in space, for example to the Moon, let him put on a spacesuit and and have him grill some barbecue with Earth in the background. Interested? Then buckle up, we're heading into the world of image generation.

Read more

Кластеризация PostgreSQL за день или за 15 минут: разбираем варианты и подводные камни реализации

Level of difficultyMedium
Reading time13 min
Views20K

Кластеризация необходима для большинства СУБД уровня Enterprise. Есть много способов создать или развернуть кластер: от бесплатных до дорогих, от простых до сложных. У разных вендоров свои приоритеты: одни делают настройку кластера в пару кликов (как в MS SQL), другие фокусируются на надежности и функциональности (Oracle).

В мире СУБД на базе PostgreSQL на сторону которых всё активнее переходит российский IT, тоже есть свои кластерные инструменты и решения: как бесплатные и открытые Patroni, Stolon, pacemaker/corosync, так и проприетарные. Лидер по популярности среди открытых решений – Patroni. Сегодня я расскажу, почему настраивать кластеризацию на нем руками весело только первые пару раз. Поговорим об особенностях поддержки Patroni в Proxima DB, снижении порога входа для новичков и повторяемости конфигураций. 

Читать далее

Читалка новостей с тегами от LLM и прозрачным ранжированием

Level of difficultyMedium
Reading time6 min
Views2.6K

Все мы следим за новостями тем или иным способом — без этого нынче никуда. Я привык это делать, подписываясь на RSS-ленты, и долгое время всё было прекрасно, пока лент не стало слишком много и чтение новостей не превратилось в тяжёлую работу на пару часов в день.

Не до конца понимая, как эту проблему решить, я перебрал несколько RSS-ридеров, ни один из которых мне не помог. Пришлось засучить рукава и, через пяток выкинутых прототипов, собрать собственное решение, которое работает.

В итоге получился Feeds Fun — читалка новостей, которая прозрачно для пользователя организует поток информации по её приоритету. Теперь я просматриваю 50-100 новостей в день, вместо 1000 (90% экономии времени!).

Работает Feeds Fun следующим образом

Самые отбитые проекты Github

Level of difficultyMedium
Reading time11 min
Views55K

За долгое время, проведенное «в раскопках» на Github, собралась коллекция удивительных проектов, самое лаконичное описание для которых — лютая дичь. Небольшую часть этой коллекции автор заботливо собрал, запустил и затем описал в этой статье.

Так что заваривайте чаю с ромашкой и запасайтесь успокоительными — с такой подборки поплохеет многим.

Читать далее

Топ 5 лучших сервисов генераторов для создания QR-кодов в 2025

Level of difficultyEasy
Reading time6 min
Views21K

В современном мире QR-коды стали неотъемлемой частью нашей жизни. Они используются для самых разных целей: от рекламы до оплаты товаров и услуг. Существует множество сервисов по созданию QR-кодов, платных и бесплатных. Выбор неправильного сервиса-генератора может привести к огромным проблемам.

Читать далее

Build Checks в Docker: как проверять конфигурацию сборки

Level of difficultyEasy
Reading time5 min
Views3.5K

Build Checks — это новая функция, представленная в Dockerfile 1.8, которая позволяет проверять конфигурацию сборки перед её выполнением. Эта функция работает как расширенная форма линтинга для Dockerfile и параметров сборки, помогая выявлять потенциальные проблемы и антипаттерны до начала фактической сборки.

Читать далее

Запускаем kubernetes внутри LXC

Reading time3 min
Views15K


В этой статье я расскажу как можно запустить kubernetes master внутри LXC-контейнера.
Этод метод работает вполне неплохо с Proxmox и может быть рассмотрен как альтернатива классическому развертыванию kubernetes с несколькими мастерами.

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

Введение в Puppet

Reading time26 min
Views96K

Puppet — это система управления конфигурацией. Он используется для приведения хостов к нужному состоянию и поддержания этого состояния.


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


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

Автоматическая оптимизация промпта под конкретную задачу с библиотекой DSPy

Level of difficultyMedium
Reading time5 min
Views3K

Цель — научиться создавать модульные (multi-stage) системы на базе LLM, а затем оптимизировать промпты (инструкции и примеры) таким образом, чтобы итоговая метрика качества (accuracy, retrieval score и т.п.) превышала вариант с ручным подбором текста промпта.

Читать далее

Мне 34, я был в 67 странах, и у меня есть для вас лайфхак (часть 2)

Level of difficultyMedium
Reading time7 min
Views56K

Два месяца назад я написал Телеграм-бот, который помогает мне выхватывать дешёвые авиабилеты (и нет, это не рекламная интеграция). Я прикрутил Python-интеграцию к Telegram по протоколу для клиентов, чтобы читать сообщения из любых публичных групп, к backend-части на Spring — она позволяет через бота подписываться на эти группы и настраивать, какие сообщения выхватывать для вас.

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

Я реанимировал бот, добавил несколько киллер-фичей и готов поделиться с вами всеми наработками. В статье найдёте код, ссылки на бот и примеры, как другие пользователи ищут через бот скидки на айфоны и много чего ещё.

Читать далее
1
23 ...

Information

Rating
5,298-th
Registered
Activity