ru
en

Новости и статьи

Блог kxLab – заметки разработчика программного обеспечения о практике, архитектуре и технологиях. Новости проектов, технические статьи и разборы инструментов, используемых в реальной разработке.

[matrix] Element Call

16 сентября 2025 г.

В предыдущей статье мы рассмотрели установку домашнего сервера Matrix Synapse, а также сервисов, которые обеспечивают текстовые сообщения, голосовые сообщения и управление пользователями. Однако этого не достаточно для организации полноценного home‑сервера.

Matrix Element Call

Для обеспечения видео и аудио звонков необходимо инсталлировать еще два сервера:

Читать далее

[matrix] на собственном сервере

16 сентября 2025 г.

В данной статье рассматривается процесс установки [matrix] на собственном сервере так, чтобы имелась возможность обмениваться текстовыми и голосовыми сообщениями. Организации аудио и видео звонков будет посвящена отдельная статья.

Matrix Self Hosted

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

Мы прошли этот путь и по горячим следам составили полную инструкцию для тех, кто хочет установить [matrix] на собственном сервере.

Читать далее

UEFI PXE Boot в виртуальном окружении

11 февраля 2025 г.

Установка PXE‑сервера для тестирования edk2/OvmfPkg в виртуальном окружении может оказаться не совсем тривиальной задачей. Например мы столкнулись с тем что TFTP‑сервер, работающий на одной виртуальной машине, оказался недоступным для других виртуальных машин. Решение данной проблемы находится в конфигурации брандмауэра. В Linux netfilter есть вспомогательные модули nf_conntrack_tftp и nf_nat_tftp, которые после загрузки позволяют отслеживать обратные TFTP‑соединения. Однако и здесь настройка может потребовать дополнительных затрат времени.

UEFI PXE Boot

Допустим мы работаем на персональной машине в сети с адресом 192.168.9.0/24, где установлены Qemu, Libvirt, Virtual Machine Manager и нам необходимо создать виртуальную сеть 192.168.49.0/24, в которой настроен PXE‑сервер для загрузки виртуальных машин подключаемых к этой сети.

Читать далее

Кросс‑компиляция NGINX (для случая GCC)

1 декабря 2025 г.

NGINX – это HTTP‑сервер и обратный прокси‑сервер, почтовый прокси‑сервер, а также TCP/UDP прокси‑сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов.

Cross Compile NGINX

Однако кросс‑компиляция NGINX практически невозможна, поскольку разработанные Игорем Сысоевым скрипты конфигурирования исходного кода в большинстве случаев используют так называемую процедуру "Try Run".

Те кто знаком с утилитами Autoconf, Automake знают, что проверки необходимых параметров системы и кросс‑компилятора осуществляются различными процедурами, которые, в свою очередь, могут применять попытки сборки исходного кода (Try compile), компоновки объектных файлов (Try link) и, наконец, попытки запуска тестовых программ (Try Run).

Естественно, если речь идет о кросс‑сборке, операции "Try Run" недопустимы, ведь мы не можем запустить программу, собранную под целевую архитектуру отличающуюся от архитектуры машины сборки на самой машине сборки.

Читать далее

Rust Custom Triplet

11 ноября 2025 г.

Целевые триплеты описывают платформу, на которой выполняется код, и являются основной концепцией системы сборки GNU. Обычно триплет содержит три поля: название семейства/модели CPU, поставщика и имя операционной системы. Кроме того, триплет может иметь дополнительное поле, отражающее Application Binary Interface (ABI), например: gnu, gnueabihf, gnu_ilp32.

Rust Custom Triplet

Просмотреть целевой триплет текущей системы можно с помощью команды `gcc -dumpmachine':

bash-5.1$ gcc -dumpmachine
x86_64-slackware-linux

Если вы создаете новую систему или собственный GNU/Linux дистрибутив, у вас может возникнуть необходимость иметь собственный целевой триплет. Например, x86_64-radix-linux-gnu для CPU Intel или AMD.

Читать далее

MTA‑STS

9 ноября 2025 г.

В данной статье мы рассмотрим настройку почтового сервера в части, касающейся политики SMTP MTA Strict Transport Security (MTA-STS). MTA-STS — стандарт, который был разработан для обеспечения использования TLS для подключений между почтовыми серверами. Крупные провайдеры почтовых служб, такие как Google, давно используют политику MTA-STS, описанную в стандарте RFC 8461. В нашей стране, среди первых оказалась служба Mail.ru, которая с 2020 года начала применять MTA-STS.

Mail MTA-STS

Мы рассмотрим лишь частный случай настройки собственного почтового сервера, касающийся только приема вхдящей почты. Известно, что не все OpenSource почтовые серверы поддерживают политику MTA‑STS при передаче исходящей почты.

Читать далее