Feed aggregator

Публичный видеосервис на VPS: как не открыть дверь в домашнюю сеть

Habr.com - Tue, 10/06/2026 - 14:46

Обратный SSH-туннель позволяет опубликовать домашний видеосервис без проброса портов. Но одна доверенная строка из браузера может превратить Viewer в SSRF-прокси и открыть путь во внутреннюю сеть.

Разбираю реальную ошибку и её исправление: фиксированный upstream, авторизацию HLS, loopback на обоих концах туннеля, ограниченный SSH-ключ, единственную публичную точку HTTPS и аварийное отключение доступа.

Читать далее

Дайте нормально поработать или я сделаю это сам

Habr.com - Tue, 10/06/2026 - 14:45

Получив на этот и остальные вопросы утвердительный ответ, я принял оффер. 

Каково же было мое удивление в первый день работы, когда мне дали RDP‑доступ к Windows‑тачке — вся работа организовывалась через нее. Маленькое отступление: последний раз я работал на Windows в 2011 году, еще на XP.

Для читателей (да и для меня в какой‑то момент) самым простым и логичным вариантом было бы продолжить поиск работы, но работа на непривычной для меня операционной системе по факту была единственным моментом, который показался неподходящим. После некоторых попыток обустроить быт, выяснилось, что даже WSL там сильно порезанный, с собственными репозиториями и старыми операционками. Естественно, с личных устройств до удаленной машины заблокировано примерно все.

Читать далее

Что проверить, если RDP не подключается к Astra Linux

Habr.com - Tue, 10/06/2026 - 14:44

С весны мы ведём контекстную рекламу по запросам про удалённый доступ в Astra Linux и видим, что люди вбивают в поиск:

astra linux 1.8 remmina не подключается с уровнем конфиденциальности 1 astra linux fly-dm-rdp astra linux 1.8 локальный и удаленный rdp astra linux rdp к windows с буфером обмена установка remmina astra linux 1.7 remmina astra linux 1.4.43 скачать deb

За месяц таких запросов набирается больше сотни. Сценарий у них общий: человек берёт инструмент из мира Debian, ставит его в Astra и получает другой результат.

Мы в RuDesktop делаем ПО для удалённого доступа и управления парком компьютеров, а к самой Astra подключаемся через xrdp. Ниже — что ломается именно в Astra, как это увидеть и что поправить. Где мы пересказываем документацию, а не свой опыт, так и пишем.

Читать далее

Тестирование до релиза и после: когда пора менять стратегию

Habr.com - Tue, 10/06/2026 - 14:36

Вступление.

Хабр, привет! Я Сергей Трофимов, старший инженер по автоматизированному тестированию в «Юзтех». В этой статье мы не будем говорить о том, как правильно и неправильно тестировать, на эту тему уже написано множество шпаргалок, инфографик, статей и книг, да и промышленных стандартов «правильной» разработки существует, наверное, с 10 тысяч. Вместо этого мы разберёмся, одно ли и то же – тестирование до релиза и после него. Точнее: должен ли корабль идти изначально намеченным курсом, или всё же стоит менять направление? И как научиться вовремя привносить полезное и отказываться от уже ненужного – пусть даже когда-то хорошо работавшего. Ответы на эти вопросы мы и попробуем найти.

Часть 1. Начало

Даже если вам не пришлось прийти в проект на старте активной разработки, вы наверняка уже задумывались, что было изначально. В этой части я на личном опыте попытаюсь описать, чем заняться на первом этапе, когда даже кода нет.  Это важный этап, который сильно сократит работу в будущем, если вы будете успешны.

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

Читать далее

Боты, которые сами встают в очередь: как я добавил компаньонов в AzerothCore и что сломалось по дороге

Habr.com - Tue, 10/06/2026 - 14:29

С 2022 года я в одиночку поддерживаю сервер World of Warcraft 3.3.5a на открытом ядре AzerothCore. Расскажу, как я закрывал главную проблему небольшого сервера ботами-компаньонами и на какие грабли при этом наступил. Если вы работаете с AzerothCore или TrinityCore, часть историй может сэкономить вам пару вечеров.

Задача: пустые очереди

Поиск подземелий (LFG) в WotLK рассчитан на тысячи игроков онлайн. На небольшом сервере очередь на героик может висеть часами: нет танка, нет хила, а то и вообще никого. Игрок заходит вечером, ждёт и уходит.

Решение напрашивалось само: если людей не хватает, группу должны добирать боты. Причём такие, которые умеют играть свою роль, а не стоят столбом у входа.

Основа: mod-playerbots

Писать всё с нуля я не стал. Для AzerothCore есть модуль mod-playerbots. Он заводит ботов на отдельных аккаунтах, сам их прокачивает и экипирует. Боты умеют вести себя в подземельях, рейдах и на полях боя.

Я работаю с собственным форком. Главные изменения — поведение ботов в очереди подземелий и на арене, ребаланс и перевод фраз ботов на русский. Сервер русскоязычный, и английские реплики в чате группы смотрелись чужеродно.

Как настраивается пул ботов

Модуль держит пул «случайных ботов». В конфиге задаются минимальная и максимальная численность пула и распределение по уровневым диапазонам: сколько ботов держать на 15–19 уровнях, сколько на 20–29 и так далее до 80-го.

Первая неочевидная вещь: сумма квот по диапазонам должна совпадать с максимальной численностью пула. Если изменить количество ботов и не пересчитать диапазоны, распределение по уровням поедет. Я поймал это, когда сокращал пул с 1550 ботов до 50.

Читать далее

Параллельное (конкурентное) создание индексов на секционированных таблицах

Habr.com - Tue, 10/06/2026 - 14:23

Привет, Хабр! Сейчас многие компании активно занимаются вопросом «импортозамещения» и мне выпала задача отвечать за поддержку и миграцию сервиса логирования. Хочу рассказать с какой проблемой я столкнулся при доработке сервиса логирования на PostgreSQL, а именно, создание индекса на высоконагруженной таблице.

Читать далее

Как мы делали BLE-систему аур для ролевой игры

Habr.com - Tue, 10/06/2026 - 14:21

Всё началось с желания сделать ролевую игру по мотивам компьютерной игры Arcanum, в мире которой одновременно сосуществуют магия и технология, причём эти две силы принципиально конфликтуют друг с другом.

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

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

То есть игровой мир должен был сам реагировать на присутствие персонажей.

Читать далее

Аниме‑плеер на лапках

Habr.com - Tue, 10/06/2026 - 14:16

«Вставил ссылку, вижу сериал со всеми сериями, выбрал озвучку, смотрю». С этой фразы началась Lapka, локальный аниме-плеер. Статья о решениях, из которых она сложилась, по сериям, как в аниме.

Знакомый, которому я дал её потрогать, сказал так:
>> Прикольно: нода крутится, парсит, а воспроизводит будто локальные файлы.

Код Lapka писала модель Claude Fable 5.1, и техническая сторона за ней. На мне продукт: как Lapka ведёт себя и как выглядит. Часть решений предложила модель.

Читать далее

Как я добавил в QUAD 3 прямой выбор входов: реверс ARM-прошивки, бинарный патч и 64 байта здравого смысла

Habr.com - Tue, 10/06/2026 - 14:12

Как я добавил в QUAD 3 прямой выбор входов: реверс ARM-прошивки, бинарный патч и 64 байта здравого смысла.

Читать далее

От RTSP-камеры до истории событий: настраиваем видеоаналитику через JavaScript Viewer

Habr.com - Tue, 10/06/2026 - 14:01

Привет, Хабр! В первой статье я разбирал внутреннее устройство real-time-конвейера на C++20: почему медленный YOLO не должен останавливать RTSP и зачем между этапами нужны ограниченные слоты последнего значения. Теперь посмотрим на ту же систему с другой стороны — глазами пользователя, который подключает камеру и должен получить не просто видео с рамками, а управляемый и проверяемый результат.

Я покажу практический порядок настройки своей платформы видеоаналитики через браузерный JavaScript Viewer: от стабильного потока и детектора движения до постоянных ID, двух контуров YOLO и истории событий в PostgreSQL. Главный вопрос статьи — не «где находится кнопка», а «какой участок конвейера меняет этот параметр и как проверить эффект».

Читать далее

Рутокен с биометрией — не миф

Habr.com - Tue, 10/06/2026 - 14:01

Будущее наступило, старик

Аккумуляторы будущего всё ещё боятся маленьких иголок

Habr.com - Tue, 10/06/2026 - 14:01

За последние несколько десятков лет почти в каждое устройство ставили литий-ионные аккумуляторы. Высокая энергоёмкость, долговечность (в разумных пределах) и гибкость форм сделали их стандартом для большинства устройств.

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

Поговорим про внутреннее устройство твердотельных аккумуляторов. В чём отличие от литий-ионных?

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

Читать далее

Релиз altctl 1.3.0 (alt-linux-toolkit) — инструмента для автоматизации обслуживания систем на базе ALT Linux

Linux.org.ru - Tue, 10/06/2026 - 13:59

Состоялся релиз утилиты altctl 1.3.0 (проект alt-linux-toolkit), предназначенной для комплексного обслуживания, устранения типовых сбоев, диагностики и безопасного обновления дистрибутивов семейства ALT Linux (Simply Linux 10/11/11.2, Альт Рабочая станция, Альт Сервер, Sisyphus).

Инструмент спроектирован для автоматизации рутинных задач системного администрирования как на физическом оборудовании, так и в средах виртуализации (VirtualBox, KVM, VMware, Hyper-V).

Основные возможности и изменения в версии 1.3.0:

  • Сетевой тюнинг APT и приоритет HTTPS: автоматическая генерация конфигурации /etc/apt/apt.conf.d/99altctl-network.conf (Pipeline-Depth 0, тайм-аут 30 с, 3 повтора) для устранения зависаний пакетного менеджера при загрузке объёмных индексов pkglist. Реализован приоритет HTTPS для зеркал с предварительной валидацией пакета apt-https и TLS-сертификатов (с безопасным откатом на HTTP).
  • Интеграция с VirtualBox (профиль vm): автоматическое добавление пользователей в группу vboxsf для доступа к общим папкам с учётом специфики ALT Linux (диапазон UID обычных пользователей начинается с 500 в /etc/login.defs). Раздельный запуск сессионных служб VBoxClient под графический контроллер VMSVGA (драйвер vmwgfx). Контроль наличия модулей vboxguest при установке нового ядра через update-kernel до перезагрузки.
  • Защита от «чёрного экрана» в ВМ: автоматическое маскирование спящих целей systemd (sleep.target, suspend.target, hibernate.target), принудительное отключение консольного бланкинга ядра (consoleblank=0) и экранных таймеров DPMS на уровнях Xorg и XFCE. Предусмотрены команды мягкого пробуждения виртуального экрана (altctl display wake) и безопасного перезапуска Display Manager.
  • Синхронизация системного времени: настройка chrony с директивой makestep 1 -1 для мгновенной компенсации рассинхронизации часов после паузы или сна хоста. Поддержка аварийной установки времени по HTTP-заголовкам при закрытом UDP 123 и фоновый двухминутный таймер проверки часов (altctl-clock.timer).
  • Раздельное обновление и безопасность: команда altctl update выполняет полный цикл — dist-upgrade, сборку модулей через update-kernel, удаление старых ядер и очистку кэша пакетов. Реализован модуль неразрушающего аудита altctl doctor (25+ проверок состояния системы). Все управляющие команды поддерживают безопасный режим моделирования --dry-run (-n).

Проект написан на Bash и распространяется под свободной лицензией.

 , , ,

Долгосрочная память для медицинского AI-ассистента: почему мы не отдали управление памятью LLM

Habr.com - Tue, 10/06/2026 - 13:55

При разработке персонального цифрового ассистента здоровья «Я Здоров» мы использовали долгосрочную память — LTM (Long-Term Memory). Сервис реализован в формате мобильного приложения: он собирает медицинские данные пользователя в единый цифровой профиль, позволяет хранить и оцифровывать медицинские документы, отслеживать результаты анализов, вести дневники здоровья и общаться с AI-ассистентом в чате.

В диалогах пользователь сообщает ассистенту информацию о своем здоровье: о симптомах, принимаемых препаратах, аллергиях и других состояниях. Часть этих данных важно учитывать не только в текущем разговоре, но и при следующих обращениях. Для этого мы сохраняем их в LTM и при необходимости возвращаем в контекст модели.

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

В статье разберем, как мы с командой ASAP решали эти задачи, как менялась архитектура LTM и к какой реализации пришли сейчас.

Читать далее

Резервирование кластера Greengage DB. Часть 3

Habr.com - Tue, 10/06/2026 - 13:52

В данной статье рассмотрим сложные сценарии восстановления кластера Greengage DB, в которых кластер восстанавливается на новом окружении.

Читать далее

Когда отключать рекламу в Telegram Ads без заявок и сколько данных нужно

Habr.com - Tue, 10/06/2026 - 13:45

Реклама потратила две тысячи рублей и не принесла заявок.

Отключать или ждать?

Показываю, как связать допустимую цену заявки с числом переходов, откуда берётся ориентир в три цены результата и почему он работает только при определённых условиях.

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

Посчитать порог

[Перевод] Виртуальные потоки после JDK 24: что изменилось в Java

Habr.com - Tue, 10/06/2026 - 13:30

JEP 491 в JDK 24 устранил закрепление виртуальных потоков за потоками-носителями при работе с мониторами. Именно из-за этого механизма переход на виртуальные потоки в Java 21 был рискованным для блокирующего кода внутри synchronized. Однако закрепление всё ещё возможно при выполнении нативного кода, загрузке классов и локальных файловых операциях в Linux. Поэтому событие JDK Flight Recorder (JFR) jdk.VirtualThreadPinned по-прежнему должно входить в контрольный список перед внедрением.

Читать далее

1 PDF = 1 000 000 токенов = 200 рублей?! Что отправлять нейросети вместо PDF

Habr.com - Tue, 10/06/2026 - 13:27

Claude считает каждую страницу отсканированного PDF как изображение — это примерно 1785 токенов на страницу. Незаметно 200-страничный документ превращается в 357 000 токенов. Если взять Claude Sonnet 5 и цену $3 за миллион токенов это около 90 рублей только за то, чтобы модель просканировала ваш документ. При прогоне 50 документов в день стоимость составит $55 в сутки, или $1 600 в месяц.

Если из того же PDF заранее извлечь текст, страница будет стоить в среднем 300–600 токенов, а 200 страниц — 60–120 тысяч токенов, то есть в 3–6 раз дешевле. Простая смена формата может сэкономить значительную часть бюджета.

Читать далее

Книга: «Высоконагруженные приложения. Программирование, масштабирование, поддержка. 2-е изд»

Habr.com - Tue, 10/06/2026 - 13:25

Привет, Хаброжители! Сегодня данные играют главенствующую роль в проектировании систем, и нужно обеспечить их масштабируемость, согласованность, надежность, производительность и удобство сопровождения. Необходимо учитывать огромное разнообразие систем хранения данных: реляционных баз данных, хранилищ NoSQL, складов и озер данных, а также облачных и локальных сервисов и встроенных баз данных.

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

Читать далее

Улучшение качества фото: топ ИИ для апскейла и реставрации

Habr.com - Tue, 10/06/2026 - 13:21

Вы когда-нибудь пробовали увеличить старое фото через нейросеть и получали лицо, которое не имеет ничего общего с оригиналом? Или загружали снимок в апскейлер и видели, как он честно увеличил все царапины вместе с лицом?

Апскейл и реставрация - нетипичный кейс использования, требующий особый подход. В 2026 году на рынке есть несколько моделей, которые закрывают эти задачи с разной степенью надёжности. Мы протестировали GPT Image 2, Nano Banana 2, Grok Imagine Image 2.0, Gen4-Image, FLUX.2-Flex и Qwen-Image-2-Pro на реальных повреждённых фотографиях. Разница в результатах оказалась значительнее, чем можно было ожидать.

Читать далее

Who's online

There are currently 0 users and 8 guests online.
Syndicate content