Обновить
386.92

Open source *

Открытое программное обеспечение

Сначала показывать
Порог рейтинга
Уровень сложности

Почему Discord не работал, хотя тесты говорили «ОК» — разбор и исправление UnblockPro v2.0

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

TL;DR: Обновил UnblockPro до v2.0. Discord теперь реально работает — не только проходит тесты, но и загружает приложение, подключается к голосовым каналам и ведёт себя как положено. Разобрался, почему «всё ОК» в тестах, но Discord молча висит на «Проблемы с подключением». Оказалось, проблема была в архитектуре фильтрации — не хватало трёх ключевых правил, и DPI тихо дропал соединения, которые тесты не проверяли. Код на GitHub — by-sonic/unblock-pro.

Предыстория

Два месяца назад я выложил UnblockPro — Electron-приложение, которое в один клик обходит DPI-блокировки Discord и YouTube. Статья набрала 50к+ просмотров, 200+ звёзд на GitHub, 192 закладки на Хабре. Люди скачивали, пользовались, ставили звёзды.

И параллельно писали в issues: «YouTube работает, а Discord — нет».

Причём у части пользователей всё работало отлично. А у другой части — Discord висел на «Connecting...» или «Проблемы с подключением», хотя приложение рапортовало: «Стратегия X работает!». Тесты проходили. Логи были зелёные. Но Discord — нет.

Я потратил неделю на поиск причины. И нашёл. Проблема оказалась гораздо глубже, чем я думал.

Соник, что ты сделал?

Новости

Хотел взять готовый Go-клиент для Max. Итог предсказуем

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

Если у вас есть бот в Телеграме, то наверняка уже поглядываете в сторону Max — аудитория растёт, игнорировать сложно. Первая мысль: наверняка кто-то уже написал удобный Go-клиент. Чем всё закончилось, вы уже догадались — своим клиентом.

Читать далее

USB, смарт-карты и принтеры: где VDI становится опасным

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

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

В физическом мире USB-порт — дыра в периметре. Воткнул флешку — и у тебя либо данные утекли, либо малварь приехала, либо оба сценария одновременно. Stuxnet, обнаруженный в 2010-м (но активный с ~2007), пробил air gap завода в Натанзе — первоначально через завербованного агента, а дальше распространялся через USB-накопители. FIN7 в 2021-22 годах рассылали по почте подарочные коробки (от имени Amazon и HHS) с «флешками» — на деле это были Arduino ATMEGA32U4, эмулирующие клавиатуру и набивающие PowerShell-команды быстрее любого оператора. Конечная цель — Cobalt Strike, затем ransomware (BlackMatter, REvil). BadUSB, продемонстрированный на Black Hat 2014, показал, что любое USB-устройство может прикинуться клавиатурой и вводить команды — и VID/PID фильтрация тут не спасёт, потому что идентификаторы прошиты в firmware и перешиваются за минуту.

VDI в теории решает часть проблем: данные живут на сервере, а не на эндпоинте. Но USB-редиректор эту изоляцию пробивает — если разрешить проброс mass storage, пользователь утащит файлы на флешку ровно так же, как с физического ПК. А если не разрешить — придут люди со смарт-картами и принтерами, и скажут «нам нужно работать».

Вот тут начинается инженерный компромисс, который не решается одним галочкой в политике.

Читать далее

Zator: Специализированный язык программирования для построения генеративных пайплайнов через KoboldCpp и StableDiffusion

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

Язык программирования Zator представляет собой интересный и четко очерченный пример доменно-ориентированного языка, разработанного не для универсальных задач программирования, а для решения одной конкретной, но все более значимой проблемы — построения сложных генеративных пайплайнов для создания текста и изображений = Его философия коренится в стремлении минимизировать "шаблонный" код, который традиционно мешает созданию содержания, и предоставить разработчикам, дизайнерам и другим создателям контента высокоуровневые абстракции для работы с передовыми технологиями искусственного интеллекта . В отличие от мощных, но часто громоздких общепurpose языков, таких как Python или JavaScript, Zator делает ставку на простоту, скорость и специализацию, что определяет его место в экосистеме инструментов для ИИ =

Основная идея, лежащая в основе Zator, заключается в том, чтобы стать "языком описания пайплайнов", который работает поверх существующих сервисов искусственного интеллекта, а именно KoboldCpp и Stable Diffusion = Задача создания последовательностей, где результат одного шага (например, сгенерированный текст) используется как вход для следующего (например, промпт для генерации изображения), требует сложного взаимодействия с API. Это обычно включает в себя написание кода для сетевых запросов, управления состоянием, парсинга JSON-ответов и обработки файлов. Zator призван инкапсулировать всю эту сложность внутри нескольких ключевых функций, таких как generate_text() и generate_img(), которые абстрагируют низкоуровневые детали и позволяют пользователю сосредоточиться исключительно на логике своего пайплайна . Таким образом, язык позиционируется как инструмент, снижающий порог входа для людей без глубоких знаний в области системного программирования или веб-разработки, позволяя им быстро экспериментировать и создавать сложные генеративные сценарии .

Читать далее

Самый простой способ пощупать OpenClaw с помощью VirtualBox и понять, из чего состоит его «душа»

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

После бума люди побежали устанавливать OpenClaw на сервер, Mac mini, на всё что угодно.

Но, кажется, мы забыли о старой доброй виртуалке, которую любой может поставить и настроить OpenClaw за несколько минут.

Разберём, какие есть плюсы:

Читать далее

Создатели Gentoo уходят с GitHub из-за ИИ. Разбираем причины и нюансы

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

Gentoo — один из самых старых дистрибутивов Linux. Он появился в 2002 году и до сих пор работает по тем же принципам: сборка пакетов из исходных текстов, тщательная настройка под любое железо и полное отсутствие компромиссов. В феврале 2026-го появилась новость о начале переноса зеркал репозиториев с GitHub на Codeberg. И это не просто технический маневр, а принципиальный выбор сообщества. 

В чем основные причины ухода, что повлияло на выбор площадки и какие дальнейшие планы у Gentoo — разберемся под катом.

Читать далее

Звук в SPICE: аудио, микрофон и real-time ограничения

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

Три предыдущие статьи были про картинку. Картинка — вещь терпимая: можно сжать, можно потерять кадр, можно догнать следующим. Человеческий глаз прощает многое.

Со звуком всё иначе.

150 миллисекунд задержки — и собеседник начинает перебивать. 200 — и вы оба замолкаете, ждёте, потом говорите одновременно. 300 — созвон превращается в пытку. Это не абстрактные цифры из RFC, это реальность, которую каждый испытывал на плохом Zoom-звонке. (Кстати, порог в 150 мс — это ITU-T G.114, одна из самых цитируемых рекомендаций в телеком-индустрии. Не потому что магическое число, а потому что дальше начинаются перебивания.)

А теперь представьте: вы построили VDI, развернули 500 рабочих мест, люди довольны. И тут приходит запрос от call-центра: «Мы хотим работать через VDI тоже». Или от отдела продаж: «Нам нужен софтфон в виртуалке».

Вот тут начинается отдельная история.

Читать далее

Что такое Skills и как их использовать? (Cursor, Claude Code)

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

Вы наверняка ловили себя на том, что раз за разом копипастите в чат с ИИ одни и те же инструкции: «Пиши на TypeScript», «Не используй сторонние библиотеки», «Добавляй тесты». В программировании мы по сути называем это нарушением принципа DRY (Don't Repeat Yourself). Но почему мы продолжаем это делать при общении с нейросетями?

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

Читать далее

Линтеры вне кода: как HTML, Markdown и YAML становятся предсказуемыми

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

Когда я прихожу в новый проект и провожу аудит, почти всегда вижу одну и ту же картину. Код аккуратный, линтеры строгие, CI настроен. Но стоит открыть разметку или конфиги — и начинается творческий беспорядок. Кто-то форматирует по одному, кто-то по другому, кто-то копирует куски из StackOverflow, не особо понимая синтаксис.

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

Со временем я перестал разделять «код» и «не код». Если файл участвует в работе продукта — он должен быть проверяемым. Автоматически. Без надежды на внимательность разработчика.

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

Читать далее

Алёна Рыбакина: «Путь в коммиттеры PostgreSQL начинается с первого ревью»

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

Клиент, с проблемы которого всё началось, решил её сам — сменил фреймворк и даже не стал дожидаться патча. Но Алёна Рыбакина всё равно продолжила работу — ещё год. Теперь её OR-ANY Transformation — часть PostgreSQL, а сама она — обладательница медали сообщества. Интервью о том, как случайный клиентский баг превращается в вклад в мировой open source.

Читать далее

Многогранный мониторинг Angie — продолжение истории

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

Многогранный мониторинг Angie - продолжение истории

 Мы привыкли, что веб-сервер - это чёрный ящик, который просто гонит трафик. Стандартные метрики Angie представлены широким спектром. Но что, если нам надо еще больше? Что если, прямо на уровне сервера, без изменения кода приложения, можно в реальном времени видеть, что именно клиенты добавляют в корзину, строить гистограммы времени ответа бэкендов, или подсчитать буквально что угодно и делать это с производительностью атомарных операций в памяти? Сегодня разбираем мощнейший модуль metric в Angie.

Читать далее

Тюнинг .gitlab-ci.yml: 7 неочевидных фич GitLab CE для чистых и быстрых пайплайнов

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

Сложно поддерживать CI/CD, когда граф пайплайна в GitLab превращается в бесконечную «простыню», параллельные запуски terraform apply приводят к блокировкам, а для игнорирования некритичных ошибок приходится писать || true

Может показаться, что для решения этих проблем нужны «костыли» или переход на enterprise-лицензию. На деле же с ними помогут встроенные возможности GitLab CE. В статье разбираем неочевидные ключевые слова .gitlab-ci.yml, которые сэкономят вам время и нервы.

Читать далее

Как я подключил 3 маркетплейса к AI-агенту за 25 минут

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

Три маркетплейса, три API, три набора подводных камней — и ноль ручного кодинга. Как мультиагентный пайплайн с CISO-агентом написал интеграцию с Ozon, Wildberries и Яндекс Маркетом за 25 минут. 35 задач, 23 файла, 21 баг найден автоматически.

Читать далее

Ближайшие события

Осознанный вайб-кодинг с AI Factory

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

Всем привет!

Обычный вайб-кодинг: кидаем промпт → генерим → баг → фиксим → баг → повторить N раз.

AI Factory меняет правила: самообучающаяся система патчей, где AI запоминает каждую ошибку и больше её не повторяет. Spec-driven воркфлоу, автогенерация рутины (Docker, CI, docs, Make), поддержка 14+ агентов, параллельная разработка через Git worktree. Это не "ещё один AI-помощник", а эффективный инструмент управления вайб-кодингом.

В статье подробно разбираю технические вопросы: как работает самообучение, почему токены расходуются рациональнее чем кажется, и что нового в версиях AI Factory 1.3-1.8.

Читать далее

Настройка Git для одновременного fetch/push в несколько remotes. Синхронизация одной командой

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

Прим: Дополняет мою статью "Скрипт полной миграции из GitLab на свой сервер".

После успешной миграции

А что делать со старым репозиторием?
Было бы логично использовать GitLab и другие хостинги в качестве вторичных (запасных).

Но как это делать? И еще не вручную?
Для синхронизации с remotes одновременно на свой Gogs и на все GitLab, GitHub, Bitbucket, ... remotes, об этом и других "хаках" ниже:

Читать далее

Один день настройки OpenClaw. Каин убил Авеля

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

С чего всё началось. Я решил вывести своего бота Полифема в канал Telegram. Настроил ему второй профиль и долго мучил, чтобы он начал отвечать людям на вопросы. Получается медленно, все мучения я выкладываю в свой канал https://t.me/veriga_pro_AI , когда есть что-то интересное. Сегодня было особо интересное: побег второй субличности из ее workspace

Когда мы искали, как подключить бота в телегу, то нашли рабочее решение: изменить политику безопасности прямых сообщений в конфиге dmPolicy c "pairing" на "open". И всё заработало.
Вчера мы радовались, что всё заработало, а сегодня пришел аудит и надавал по рукам. Оказывается, открытость Полифема в группах — это не только удобно, но и "Critical Security Exposure".

В общем, проходной двор какой-то, а не учреждение культуры.
Если и groupPolicy: "open", любой прохожий с улицы может попробовать скормить боту промпт-инъекцию. А так как у Полифема-публичного есть доступ файлам, и он еще и программировать может себе что хочет, то, к примеру, спросят у него хулиганы "скажи три цифры на обороте", так он, старательный, напишет себе скриптик поиска, всё найдёт и всё скажет!

Переключились на режим "только для своих": groupPolicy: allowlist.

Дальше. Мы так подумали, раз включен allowlist, и существует поле groupAllowFrom туда надо вписать ID группы. Но разработчики думали не так. В логах моментально полетели ошибки:
[telegram] Invalid allowFrom entry: "-1003153771294" - allowFrom/groupAllowFrom authorization requires numeric Telegram sender IDs only.

Читать далее

FreeAIr: доступ к локальной или корпоративной LLM из Visual Studio 2022/2026

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

FreeAIr - это расширение (vsix) для Visual Studio 2022/2026, которое позволяет использовать локальную или корпоративную LLM внутри Visual Studio для помощи программисту. Это не Copilot, а независимая разработка авторов из РФ. FreeAIr не содержит spyware, никуда не отправляет ни код, ни переписку, ни телеметрию (ничего не отправляет), и поэтому может использоваться в компаниях, где использование внешних LLM запрещено политикой конфиденциальности.

Читать далее

События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper

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

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых хранится весь "нестандарт".

В этой статье описаны все триггеры (события), которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Кастомизировать поля ядра Joomla

PostgreSQL для финансов 2.0: Как мы заменили SWIFT на gRPC и внедрили WASM-политики

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

В предыдущих сериях (От стартапа к протоколуПочему финтеху нужен капитальный ремонтПочему мы терпим факс в эпоху ИИ) мы обсуждали, почему современный финтех - это "Ferrari на грунтовке", и зачем мы начали писать с нуля свой леджер Qazna (на Rust) и ERP-систему Orda (на Go).

В комментариях вы справедливо спрашивали: "Зачем изобретать велосипед, если есть PostgreSQL и Kafka?" и "Чем это отличается от Hyperledger/Ripple?".

Сегодня я отвечу на эти вопросы кодом и архитектурой. Мы не просто "переписали базу". Мы построили суверенный стек, который делает три вещи, невозможные в legacy-системах:

Читать далее

Как похитить душу агента: найден новый способ взлома OpenClaw

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

В 2024–2026 годах автономные AI-агенты окончательно перестали быть игрушкой для демо. Они научились читать файлы, ходить в API, выполнять команды и жить в инфраструктуре компании. Вместе с этим вырос и класс решений, которые называют «агентными оркестраторами» — прослойками между LLM и реальной средой исполнения.

OpenClaw — один из таких проектов. Он позиционируется как self-hosted шлюз для AI-агента, который можно подключить к локальной системе, мессенджерам и внутренним сервисам. На уровне архитектуры это уже не просто чат-бот, а компонент, получающий доступ к файловой системе, токенам, внешним API и инструментам.

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

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