Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·12.07 Открыт код Chatto, платформы для создания групповых чатов (1)
  Чат-платформа Chatto, предназначенная для организации общения в сообществах и командах разработчиков, переведена в разряд открытых проектов. Платформа оптимизирована для достижения максимальной отзывчивости интерфейса, минимального потребления ресурсов бэкендом и простоты развёртывания на своём сервере инфраструктуры для групповых чатов, не зависящей от внешних сервисов. На стороне пользователей доступ осуществляется из браузера через web-интерфейс. Код написан на языке Go и открыт под лицензией AGPLv3.

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

Для добавления дополнительной функциональности и кастомизации платформы могут использоваться подключаемые дополнения. Возможна организация централизованного входа (SSO) и интеграция с корпоративными системами через API GraphQL и NATS. Установка осуществляется через запуск самодостаточного исполняемого файла, размером около 70 МБ, не требующего установки дополнительных зависимостей и внешней СУБД.

Состояние проекта оценивается как достаточно стабильное для рабочих применений, но не вся задуманная функциональность пока реализована. Например, в следующей версии Chatto 0.5 намерены интегрировать возможности для модерирования и отправки жалоб о недопустимом содержимом, а также добавить в клиентскую часть поддержку подключения к нескольким серверам. Через 6-12 месяцев планируют опубликовать релиз Chatto 1.0.0, до формирования которого не исключается внесение изменений, нарушающих обратную совместимость.

  1. Главная ссылка к новости
  2. OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
  3. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
  4. OpenNews: Опубликована платформа обмена сообщениями Zulip 11
  5. OpenNews: Проект Revolt развивает открытую альтернативу платформе Discord
  6. OpenNews: Проект TFC развивает параноидально защищённую систему обмена сообщениями
Обсуждение (1) | Тип: Программы |


·12.07 Выпуск Lanemu P2P VPN 0.14 ( +2)
  Состоялся выпуск Lanemu P2P VPN 0.14 - реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекеры или BitTorrent DHT, либо через других участников сети (peer exchange). Приложение является бесплатным и открытым аналогом VPN Hamachi, написано на языке Java (c отдельными компонентами на языке Си) и распространяется под лицензией GNU LGPL 3.0. Поддерживается запуск в Windows, GNU/Linux, FreeBSD и Mac OS.

Изменения в версии 0.14:

  • Добавлена поддержка протокола RUDP (Reliable User Datagram Protocol) на замену TCP. RUDP включён по умолчанию с возможностью "старым" пирам подключаться по TCP. Теперь используются два UDP порта "n" и "n + 1" для UDP соответственно и порт "n" для старых TCP-подключений. Используется модифицированная RUDP-библиотека с поддержкой мультиплексирования (работа клиента и сервера по одному UDP-порту) для обхода NAT.
  • Порт по умолчанию установлен в значение 5521 вместо 0, при котором номер выбирался случайно.
  • Добавлена поддержка протокола STUN для получения внешних UDP-портов и IP-адреса пира. В роли STUN-сервера по умолчанию используется "stun.l.google.com:19302", вместо которого, в случае проблем, можно указать альтернативный STUN-сервер, например "stun.voipcheap.com:3478".
  • Добавлено отображение сообщения о работе приложения при выполнении долгих синхронных операций (например генерация приглашения).
  • Отредактирован манифест exe-файлов, чтобы приложение всегда запускалось от имени администратора.
  • Добавлена автоматическая установка tap-драйвера при запуске приложения в Windows.
  • Добавлена проверка приглашения при указании в режиме без интерфейса.
  • Добавлена настройка времени ожидания таймаута сокета при подключении.
  • Сборки приложения разделены для каждой версии Windows.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Lanemu P2P VPN 0.13.1
  3. OpenNews: 17 из 20 VPN-сервисов выдают неверную информацию о странах выходных узлов
  4. OpenNews: Компания Mullvad представила GotaTun, реализацию VPN WireGuard на языке Rust
  5. OpenNews: Доступен OpenVPN 2.7.0
  6. OpenNews: Опубликованы VPN WireGuard для Windows и WireGuardNT 1.0
Обсуждение ( +2) | Автор: Skullnet | Тип: Программы |


·11.07 Опубликован исходный код игры Unturned (6 +6)
  Студия Smartly Dressed Games объявила о публикации исходного кода игры Unturned, реализованной в жанре симулятора выживания с открытым миром. Игра написана на языке C# с использованием платформы .NET и проприетарного игрового движка Unity. В опубликованный код не вошли античит-библиотеки и сторонний движок поиска пути A*.

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

  1. Главная ссылка к новости
Обсуждение (6 +6) | Тип: К сведению |


·11.07 Представлен дистрибутив B1ackOS GNU/Linux (24 –12)
  Проект B1ackOS GNU/Linux развивает дистрибутив на базе Debian Sid (Unstable), использующий модель непрерывной публикации обновлений (Rolling). В качестве системы инициализации используется systemd, а управление пакетами осуществляется с помощью APT. Проект использует собственный репозиторий пакетов. В качестве инсталлятора в консольной сборке задействован Debian Installer, а в графических редакциях - Calamares. Поддерживаются архитектуры amd64, i386 и arm64.

По умолчанию B1ackOS поставляется в минимальной конфигурации, напоминающей Arch Linux: после установки пользователь получает практически пустую систему с оболочкой Fish, которую можно настроить под себя и создать рабочее окружение, соответствующее конкретным задачам.

Для пользователей, которым сразу после установки нужна готовая рабочая среда, предлагается сборка с рабочим столом Cinnamon и предустановленным набором приложений (браузер Chromium, офисный пакет ONLYOFFICE, графический редактор Krita, видеоплеер Clapper и магазин приложений MintInstall). Помимо Cinnamon из репозитория можно установить KDE Plasma, GNOME, Xfce и MATE.

  1. Главная ссылка к новости
Обсуждение (24 –12) | Автор: Морковка | Тип: Программы |


·11.07 Новые версии Debian 12.15 и 13.6. Debian 12 переведён на стадию LTS-сопровождения (21 +9)
  Сформировано шестое корректирующее обновление дистрибутива Debian 13, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 124 обновления с устранением проблем со стабильностью и 120 обновлений с устранением уязвимостей.

Из изменений в Debian 13.6 можно отметить обновление прослойки shim-signed, используемой для верифицированной загрузки в режиме UEFI Secure Boot. Прослойка обновлена в связи с истечением времени жизни сертификата Microsoft, применяемого для заверения цифровой подписью загрузчика. Новая версия пакета заверена сертификатом Microsoft UEFI CA, выпущенным в 2023 году.

Попутно обновлён до версии 2.0.20 инструментарий для загрузки прошивок fwupd. В новой версии появилась возможность обновления БД удостоверяющих центров, формирующих сертификаты для Secure Boot, а также БД заслуживающих доверия открытых ключей (KEK, Key Exchange Key) и список отозванных ключей (DBX). Пользователям рекомендуется обновить указанные БД, используя обновление прошивки от производителя оборудования.

Из-за проблем с лицензией пакет "geoip-database", содержащий БД GeoLite для определения местоположения по IP-адресам, заменён на устаревшую версию, сформированную ещё в декабре 2019 года, что может привести к потере актуальности результатов определения местоположения в приложениях. Более новую версию БД невозможно поставлять в составе дистрибутива из-за несовместимости с применяемыми в Debian требованиями к лицензиям. Для получения актуальных данных следует загружать БД GeoLite напрямую. Из изменений также можно отметить обновление до свежих стабильных версий пакетов postfix, samba, wireless-regdb и wireshark.

Для загрузки и установки "с нуля" в ближайшие часы будут подготовлены установочные сборки c Debian 13.6. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 13.6, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.


Одновременно доступен новый выпуск предыдущей стабильной ветки Debian 12.15, в который включено 88 обновлений с устранением проблем со стабильностью и 97 обновлений с устранением уязвимостей. Это последнее штатное обновление ветки Debian 12, у которой завершён основной трёхлетний цикл сопровождения, осуществляемый командами Debian Release Team, Debian Security Team и Debian Backports.

В дальнейшем обновления с устранением уязвимостей для Debian 12 будут выпускаться в рамках программы расширенной поддержки (LTS), которая продлится до 30 июня 2028 года. Штатное сопровождение актуальной ветки Debian 13 продлится до 9 августа 2028 года, после чего для данной ветки до 30 июня 2030 года будет обеспечен выпуск LTS-обновлений.

Выпуск обновлений для LTS-ветки осуществляется отдельной группой разработчиков LTS Team, сформированной из энтузиастов и представителей компаний, заинтересованных в длительной поставке обновлений для Debian. Команда LTS Team приняла эстафету от Debian Security Team и продолжила сопровождение Debian 12 без перерыва. Обновления будут выпускаться для архитектур i386, amd64, armhf, arm64, ppc64el.

Длительный срок поддержки не будет распространяться на некоторые пакеты, например, на web-приложения для которых невозможно и нет смысла осуществлять поддержку в течение 5 лет (для продолжения использования таких пакетов рекомендуется задействовать бэкпорты). Среди неподдерживаемых пакетов можно отметить chromium, xen, tor, phppgadmin, salt, snort и libreswan, а также все пакеты из секции "games". Проверить наличие в системе неподдерживемых пакетов можно при помощи утилиты check-support-status, входящей в состав пакета debian-security-support.

После окончания LTS-поддержки для Debian 12 будет доступна программа расширенного LTS ("Extended LTS"), в рамках которой компания Freexian намерена до 2033 года выпускать своими силами обновления с устранением уязвимостей в ограниченном наборе пакетов для архитектур amd64, armel и i386. Обновления для веток "Extended LTS" распространяются через внешний репозиторий, поддерживаемый компанией Freexian. Доступ бесплатный для всех желающих, а спектр поддерживаемых пакетов зависит от общего числа спонсоров и интересующих их пакетов.

  1. Главная ссылка к новости
  2. OpenNews: Новые версии Debian 12.14 и 13.5
  3. OpenNews: Проблемы с удалением "protestware" из Debian-пакета xsnow
  4. OpenNews: В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов
  5. OpenNews: Избран новый лидер проекта Debian
  6. OpenNews: В Debian 14 намерены прекратить поставку GTK2
Обсуждение (21 +9) | Тип: Программы |


·11.07 GhostLock, BadEpoll и Januscape - уязвимости в ядре Linux, позволяющие получить права root и обойти изоляцию KVM (44 +19)
  Раскрыта информация об уязвимости (CVE-2026-43499) в ядре Linux, получившей кодовое имя GhostLock и позволяющая непривилегированному локальному пользователю получить права root в системе, а также выйти из изолированных контейнеров. При использовании в сочетании с другими уязвимостями в браузерах, выявленная проблема может применяться для удалённого выполнения кода с правами root при открытии специально оформленной web-страницы. Проблема проявляется начиная с ядра Linux 2.6.39 (2011 год).

Утверждается, что уязвимость может быть эксплуатирована во всех дистрибутивах, выпущенных за последние 15 лет. Имеется рабочий эксплоит, создатели которого получили от Google премию в $92337 за успешное повышение привилегий в окружении с ядром KernelCTF (Capture the Flag), включающем дополнительные патчи для блокирования типовых методов работы эксплоитов. Степень успешности работы эксплоита оценивается в 97%. Уязвимость выявлена при помощи AI-инструментария VEGA.

Патч с исправлением принят в кодовую базу ядра 21 апреля и вошёл в состав выпусков ядра 7.1.0, 6.18.36, 6.12.95, 6.6.144 и 6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Обходные пути блокирования проблемы отсутствуют.

Уязвимость присутствует в реализации блокировок futex и вызвана обращением к памяти после её освобождения, возникающем при работе механизма наследования приоритетов, предотвращающем инверсию приоритетов (блокировка высокоприоритетной задачи из-за ожидания освобождения ресурса, занятого низкоприоритетной задачей). В ситуации, когда установка блокировки завершается ошибкой, ядро откатывает состояние и вызывает функцию очистки. При определённом стечении обстоятельств функция очистки вызывается не в тот момент и освобождает структуру данных другой задачи, после чего остаётся висячий указатель (dangling pointer), ссылающийся на уже освобождённую память.

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

В предложенном эксплоите осуществляется перезапись указателя в таблице функций inet6_protos[IPPROTO_UDP], после чего на loopback-интерфейс по IPv6 отправляется UDP-пакет, при обработке которого осуществляется вызов обработчика, указатель на который был подменён на прошлом этапе. Для получения root-доступа получивший управление код эксплоита прописывает в /proc/sys/kernel/core_pattern свой обработчик, вызываемый с правами root при крахе процессов.


Помимо рассмотренной проблемы в ядре Linux выявлено ещё несколько опасных уязвимостей:

  • Januscape (CVE-2026-53359) - обращение к памяти после её освобождения (use-after-free) в компонентах гипервизора KVM, выполняемых на стороне виртуальной машины для эмуляции блока управления памятью (MMU) и трансляции адресов между хостом и гостевой системой. Уязвимость проявляется на системах с процессорами Intel и AMD и позволяет получить доступ с правами root к хост-окружению при наличии доступа с правами root в гостевой системе.

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

    Проблема вызвана ошибкой, допущенной 16 лет назад, и устранена в обновлениях 7.1.3, 6.18.38, 6.12.95, 6.6.144 и 6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. За выявление уязвимости исследователь получил от Google вознаграждение в 250 тысяч долларов в рамках инициативы kvmCTF.

    Для выхода из гостевой системы на серверах на процессорами ARM64 тем же исследователем выявлена другая уязвимость ITScape (CVE-2026-46316), вызванная состоянием гонки в коде эмуляции vGIC-ITS (Interrupt Translation Service) в KVM. Для данной проблемы также опубликован прототип эксплоита.

  • Bad Epoll (CVE-2026-46242) - состояние гонки, приводящее к обращению к памяти после её освобождения, в подсистеме ядра epoll. Уязвимость позволяет локальному непривилегированному пользователю выполнить код с правами root. Проблема примечательна тем, что даёт возможность атаковать не только классические Linux-дистрибутивы, но и прошивки на базе платформы Android, а также не блокируется sandbox-изоляцией в Chrome. Рабочий эксплоит был продемонстрирован на соревновании kernelCTF (Google выплатил автору $71337). Надёжность работы эсплоита оценена в 99%.

    Проблема проявляется начиная с ядра Linux 6.4 (2023 год). О проблеме было сообщено разработчикам ядра 17 февраля, но исправление удалось разработать после нескольких неудачных попыток только 24 апреля. Проблема устранена в ядрах 6.18.24, 6.12.83, 6.6.136. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  • CVE-2026-46215 - обращение к памяти после её освобождение в реализации ioctl DRM_IOCTL_GEM_CHANGE_HANDLE в подсистеме DRM (Direct Rendering Manager). Локальный пользователь, имеющий доступ к устройствам /dev/dri/renderD* (сервис systemd-logind предоставляет доступ всем пользователям при запуске графического сеанса во всех крупных дистрибутивах), может получить права root в системе. Имеется эксплоит. Проблема проявляется начиная с ядра 6.18 и устранена в обновлениях 7.0.9 и 6.18.32. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  1. Главная ссылка к новости
  2. OpenNews: PEdit-CoW и DirtyClone - уязвимости в ядре Linux, позволяющие получить root через изменение страничного кэша
  3. OpenNews: CIFSwitch - уязвимость в CIFS-подсистеме ядра Linux, позволяющая получить права root
  4. OpenNews: Модель угроз и особенности оценки уязвимостей в ядре Linux
  5. OpenNews: Fragnesia - уязвимость в ядре Linux, позволяющая получить root через изменение страничного кэша
  6. OpenNews: Предложен killswitch для экстренного отключения уязвимой функциональности в ядре Linux
Обсуждение (44 +19) | Тип: Проблемы безопасности | Интересно


·11.07 Выпуск libtorrent 2.1 с включением протокола WebTorrent (39 +15)
  Доступен выпуск библиотеки libtorrent 2.1, предлагающей реализацию протокола BitTorrent, нацеленную на низкое потребление памяти и эффективное использование ресурсов CPU. Библиотека задействована в таких торрент-клиентах, как Deluge, qBittorrent, Folx, Lince, Miro, Flush и Free Download Manager, а также в некоторых сетевых хранилищах. Код libtorrent написан на языке C++ и распространяется под лицензией BSD.

В новой версии включена по умолчанию поддержка протокола WebTorrent, расширяющего протокол BitTorrent возможностями для создания децентрализованных сетей распространения контента, функционирующих через связывание между собой web-браузеров пользователей, просматривающих контент. Для связывания посетителей сайтов в единую сеть доставки контента достаточно разместить на сайте специальный JavaScript-код, использующий технологию WebRTC для прямого обмена данными между браузерами.

Интеграция WebTorrent в libtorrent позволит участвовать в раздаче контента как через стационарные торрент-клиенты, так и через браузеры посетителей сайтов, формируя гибридные сети, комбинирующие BitTorrent и WebTorrent. Торрент-клиенты на основе libtorrent смогут соединяться с работающими в браузерах пирами WebTorrent, например, участвующими в обмене файлами через instant.io. В свою очередь, браузерные клиенты WebTorrent смогут через пользователей стационарных клиентов получить доступ к коллекции торрентов, раздаваемой BitTorrent-пирами поверх TCP/UDP.

Помимо включения поддержки WebTorrent в версии libtorrent 2.1 реализован новый бэкенд ввода/вывода pread_disk_io, использующий функции pwritev и preadv, позволяющие атомарно записывать и читать данные сразу в несколько буферов. Новый бэкенд более эффективен при работе с дисковыми накопителями, сетевыми хранилищами и файловыми системами, монтируемыми через FUSE. Для подобных применений pread_disk_io задействован по умолчанию. Для NVMe-накопителей более эффективен и продолжает применяться по умолчанию старый бэкенд, применяющий отображение файлов в память при помощи mmap.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2
  3. OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
  4. OpenNews: Релиз BitTorrent-клиента Deluge 2.2
  5. OpenNews: Новая версия BitTorrent-клиента Transmission 4.1.0
  6. OpenNews: Выпуск qBittorrent 5.2.0
Обсуждение (39 +15) | Тип: Программы |


·11.07 Недельный отчёт о разработке KDE (29 +7)
  Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлена порция изменений для ветки KDE Plasma 6.8, релиз которой запланирован на 14 октября. Среди недавних изменений:
  • В Plasma Login Manager предоставлена возможность использования функции автоматического входа в дистрибутивах со старыми версиями systemd, например в KDE neon.
  • Реализация комбинированных списков (combobox) переведена на использование активной темы оформления для стилизации всплывающих элементов (ранее был жёстко прошиты настройки стиля Breeze). Отключена анимация появления и исчезновения меню для унификации с другими элементами интерфейса.
  • В Spectacle добавлена опция для записи звука во время создания скринкастов. Может использоваться запись с микрофона и сохраняться звук, воспроизводимый приложениями в системе. Реализован эффект размытия, работающий без использования OpenCV, что позволило исключить данную библиотеку из зависимостей.
  • В System Monitor обеспечено отображение потребления видеопамяти в процентах от общего размера VRAM по аналогии с тем, как показывается потребление оперативной памяти.
  • В конфигураторе отображение страницы с настройками удалённого подключения к рабочему столу оптимизировано для отображения в небольших окнах для корректной работы на устройствах с небольшими экранами.
  • Исключена задержка между перемещением слайдера в виджете и фактическим изменением яркости на внешних мониторах.
  • В KDE Frameworks 6.29 при использовании применяемой по умолчанию системы стилей qqc2-desktop-style стиль выделения элементов в списках и при выводе сетки пиктограмм в QML-приложениях теперь соответствует активному стилю приложения (ранее всегда применялся стиль Breeze).
  • В тему пиктограмм Breeze добавлены пиктограммы для Android-приложений и документов Typst.

  1. Главная ссылка к новости
  2. OpenNews: В KDE улучшена анимация и прекращена поддержка OpenGL в KWin. Уязвимость в обработчике "Open New Window"
  3. OpenNews: В KDE включена поддержка тройной буферизации вывода на системах c GPU NVIDIA
  4. OpenNews: Релиз среды рабочего стола KDE Plasma 6.7
  5. OpenNews: Фонд Sovereign выделил почти 1.3 миллиона евро на развитие KDE
  6. OpenNews: Опубликован KDE Gear 26.04, набор приложений от проекта KDE
Обсуждение (29 +7) | Тип: Обобщение |


·11.07 Выпуск Wine 11.13 (32 +11)
  Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.13. С момента выпуска 11.12 было закрыто 22 отчёта об ошибках и внесено 207 изменений.

Наиболее важные изменения:

  • Улучшено позиционирование текстового курсора во время ввода.
  • Улучшен маппинг сканкодов клавиш при использовании X11.
  • В интегрированные в Wine компоненты FFmpeg, такие как библиотеки libswresample (изменение частоты дискретизации звука) и libswscale (масштабирование изображений и преобразование пиксельных форматов), добавлены ассемблерные оптимизации для архитектуры ARM64EC (ARM64 Emulation Compatible). Архитектура ARM64EC разработана для упрощения портирования на системы ARM64 приложений, изначально написанных для систем x86_64, и позволяет выполнять в окружении ARM64 отдельные модули с кодом x86_64 при помощи эмулятора.
  • Закрыты отчёты об ошибках, связанные с работой приложений: Adobe Acrobat Pro 7, Acrobat Reader 7, Office 2000, winbox64.exe, Nelogica Profitchart, Sim Racing Studio, Slingplayer 2, Sony Acid Pro 7.0.
  • Закрыты отчёты об ошибках, связанные с работой игр: GTA: Vice City, Requiem: Avenging Angel, Tales of Zestiria 1.2, Hayoola, Age of Mythology, Succubus Heaven.

  1. Главная ссылка к новости
  2. OpenNews: Новые версии Wine 11.12 и Wine-staging 11.12
  3. OpenNews: Стабильный релиз Proton 11.0, пакета для запуска Windows-игр в Linux
Обсуждение (32 +11) | Тип: Программы |


·10.07 Выпуск Rust 1.97. Написанные на Rust ядро Zinnia и P2P-система Iroh с адресацией по ключам (55 +8)
  Опубликован релиз языка программирования Rust 1.97, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

Основные новшества:

  • По умолчанию включена новая схема декорирования (mangling) имён функций, глобальных переменных и структур данных в генерируемых объектных и исполняемых файлах (-Csymbol-mangling-version=v0). Имена декорируются для предотвращения конфликтов во время компоновки разных программ, путём прикрепления специфичного контекста, такого как путь к модулю и имя crate-пакета.

    Ранее используемая схема декорирования имён, основанная на Itanium ABI, имела такие недостатки, как замена параметров дженериков на нечитаемые хэши и наличие частей компилятора, не использующих Itanium ABI, что требовало использования специфичных для Rust декодировщиков имён. В Rust 1.97 задействована по умолчанию схема декорирования, разработанная специально для Rust и лишённая отмеченных недостатков. Старую схему намерены удалить в одном из следующих выпусков.

  • В пакетный менеджер cargo встроена возможность управления реакцией на генерацию компилятором предупреждений при сборке. Добавлена переменная окружения CARGO_BUILD_WARNINGS, которая может принимать три значения: warn (по умолчанию) - вывод предупреждения на экран; allow - скрытие вывода предупреждений; deny - обработка предупреждений как ошибок, останавливающих сборку.

    В прошлых версиях для завершения сборки после вывода предупреждения приходилось указывать "-Dwarnings" в RUSTFLAGS для компилятора, но при изменении RUSTFLAGS пакетный менеджер cargo считал сборку новой, не учитывал данные в кэше и с нуля пересобирал весь проект. Перенос настройки на сторону cargo исключил сброс кэша и необходимость полной перекомпиляции при изменении режима обработки предупреждений, а также упростил включение обработки предупреждений как ошибок в системах непрерывной интеграции.

  • При сборке включено по умолчанию отображения сообщений, выводимых компоновщиком. Сообщения выводятся в форме предупреждений через специальное lint-правило "linker_messages", которое не входит в стандартную группу "warnings". При этом rustc отфильтровывает сообщения, которые являются типовыми ложными срабатываниями или нормальным поведением, оставляя предупреждения, которые могут свидетельствовать о проблемах, такие как предупреждения об устаревших опциях и нежелательных настройках. Ранее информация от компоновщика показывалась только при завершении с ошибкой, а иначе все сообщения скрывались. Для возвращения старого поведения в Cargo.toml можно добавить:
    
       [lints.rust]
       linker_messages = "allow"
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const" применён в методе char::is_control.



Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:

  • Проект zinnia развивает модульное Unix-подобное ядро, написанное на языке Rust и распространяемое под лицензией GPLv2. Ядро поддерживает POSIX-интерфейсы и некоторые расширения из BSD и Linux, такие как epoll и timerfd. Для отрисовки и организации ввода доступны драйверы DRM (Direct Rendering Manager) и evdev. Реализованной функциональности достаточно для запуска среды рабочего стола Xfce под управлением X-сервера и композитного сервера Weston на базе Wayland. Поддерживается загрузка как в эмуляторе QEMU, так и на реальном оборудовании, таком как ноутбук ThinkPad E14 G7.
  • Представлен релиз коммуникационной библиотеки iroh 1.0, позволяющей устанавливать сетевые соединения между приложениями на разных хостах с подключением по криптографическим ключам, вместо IP-адресов (указывается ключ к которому необходимо подключиться и iroh находит связанный с ним хост и устанавливает шифрованное соединение с использованием протокола QUIC). По возможности устанавливаются прямые P2P-соединения, но если это невозможно, выполняется откат на работу через релеи, которые также применяются для обнаружения хостов по ключам. Возможен запуск своего релея или подключение к поддерживаемым сообществом публичным релеям.

    Среди расширенных возможностей: поддержка Multipath QUIC для доставки пакетов одновременно по нескольким маршрутам, возможность работы из-за NAT, режим статической конфигурации для подключения к локальным устройствам без доступа к интернету, возможность сборки в промежуточный код WASM для выполнения внутри браузера, поддержка создания своих транспортов, например, для подключения через Bluetooth, WiFi Aware или LoRa. Код написан на Rust и распространяется под лицензиями Apache-2.0 и MIT. Доступны обвязки для Python, Node.js, Kotlin и Swift.

  • Автор серверной JavaScript-платформы Bun опубликовал статью с разбором проекта по переписыванию Bun с языка Zig на Rust, используя AI-модель Claude Fable. Отмечается, что Bun 1.3.14 станет последним выпуском на Zig и следующая версия Bun 1.4.0 уже будет на Rust. Судя по проведённым тестам, версия на Rust потребляет значительно меньше памяти и на 2-5% быстрее версии на Zig. Размер исполняемого файла в версии на Rust сократился на 20%.
  • Разработчики операционной системы Redox, написанной с использованием языка Rust и концепции микроядра, опубликовали отчёт о развитии проекта за июнь. Из достижений отмечено добавление поддержки геймпадов с интерфейсом USB, портирование инструментария для языка Tcl, а также создание бэкенда GTK3 (GDK) и реализация дробного масштабирования для развиваемого проектом дисплейного сервера Orbital.

  1. Главная ссылка к новости
  2. OpenNews: Опубликован crustc - компилятор rustc, переведённый на язык Си
  3. OpenNews: Возвращение в Ubuntu утилиты cp из Rust Coreutils привело к сбою при сборке livecd-rootfs
  4. OpenNews: Выпуск X-сервера yserver 1.0.0, написанного на Rust и пригодного для запуска MATE, Xfce и Cinnamon
  5. OpenNews: Выпуск ядра Asterinas 0.18, написанного на языке Rust и совместимого с Linux
  6. OpenNews: Выпуск Rust 1.96. Оценка пригодности Rust для создания прошивок к микроконтроллерам
Обсуждение (55 +8) | Тип: Программы |


·10.07 Десятый экспериментальный выпуск среды рабочего стола Orbitiny (55 +10)
  Опубликован десятый выпуск среды рабочего стола Orbitiny Desktop, написанной с нуля с использованием фреймворка Qt. Проект пытается совместить некоторые инновационные идеи, которые раньше не встречались в пользовательских окружениях, с традиционными элементами, такими как панель с поддержкой плагинов, меню приложений и рабочий стол, на котором можно размещать ярлыки. Работа пока сосредоточена на запуск в окружениях на базе X-сервера, но в будущем не исключается добавление поддержки Wayland. Код написан на языке C++ и распространяется под лицензией GPL.

Из специфичных для Orbitiny возможностей отмечается: вызов действий через экранные жесты (очерчивание мышью определённого контура на пустой области рабочего стола); метки на пиктограммах (показываются для новых, изменённых, пустых или перемещённых через буфер обмена файлов, а также пустых каталогов); возможность вставки файла одновременно в несколько выбранных каталогов; поддержка размещения содержимого рабочего стола в любом каталоге (не только в $HOME/Desktop); использование отдельных десктоп-каталогов для каждого виртуального рабочего стола и монитора. Список типовых возможностей Orbitiny можно посмотреть в прошлом анонсе.

Среди изменений:

  • Добавлена новая панель управления, предоставляющая возможности для изменения настроек, просмотра информации о системе и доступа к внешним конфигураторам. Навигация по встроенным страницам с настройками осуществляется через боковую панель, а вызов внешних конфигураторов через настраиваемые кнопки в верхней части экрана.
  • Реализована поддержка закрепления панели задач в любой части экрана и изменения размера мышью, а также прокрутки содержимого панели вращением колеса на мыши.
  • На панель добавлена кнопка для вызова диалога со списком окон запущенных приложений и возможностью фильтрации окон по названию.
  • Предложен новый апплет с меню быстрого запуска, вызываемый нажатием на кнопку "…" после списка закреплённых ярлыков приложений.
  • В меню приложений добавлены новые секции: "Orbitiny Programs" для доступа к встраиваемым в меню апплетам конфигуратора, и "Local Programs" со списком программ, для которых в каталоге ~/.local/share/applications размещены desktop-файлы.
  • Появилась возможность изменения тем оформления на лету (сразу после редактирования CSS-файлов) без перезапуска среды рабочего стола.
  • Интерфейсы для запуска команд и отслеживания нагрузки на CPU преобразованы в однокнопочные апплеты.
  • В файловом менеджере список вкладок перемещён в область под заголовком окна, а слайдер для изменения размера пиктограмм - в левый нижний угол.

  1. Главная ссылка к новости
  2. OpenNews: Девятый экспериментальный выпуск среды рабочего стола Orbitiny
  3. OpenNews: Восьмой экспериментальный выпуск среды рабочего стола Orbitiny
  4. OpenNews: Седьмой экспериментальный выпуск среды рабочего стола Orbitiny
  5. OpenNews: Пятый экспериментальный выпуск среды рабочего стола Orbitiny
  6. OpenNews: Выпуск десктоп-окружения Trinity 14.1.6, продолжающего развитие KDE 3.5
Обсуждение (55 +10) | Тип: Программы |


·10.07 pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты (184 –16)
  Опубликован проект pgrust с реализацией СУБД PostgreSQL, переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента. Заявлено, что проект пока не готов для использования в рабочих проектах, но уже успешно проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения данных PostgreSQL 18.3 и может использовать data-каталог от PostgreSQL 18.3. Код проекта распространяется под лицензией AGPLv3, в отличие от оригинального PostgreSQL, поставляемого под пермиссивной лицензией PostgreSQL, близкой к лицензиям BSD и MIT. Доступна online-демонстрация возможностей, основанная на сборке в WebAssembly, а также docker-образ для быстрого запуска.

В качестве цели разработки упоминается достижение полной совместимости с PostgreSQL 18.3, а также проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам. Проект успешно проходит набор из более чем 46 тысяч регрессионных тестов PostgreSQL, но пока несовместим с дополнениями к PostgreSQL, не предоставляет желаемых оптимизаций производительности и не полностью реализует процедурные языки PL/Python, PL/Perl и PL/Tcl.

Планы на будущее:

  • Перевод на многопоточную внутреннюю архитектуру.
  • Реализация пулинга соединений.
  • Оптимизация для рабочих процессов, активно использующих JSON.
  • Возможность создания копий и ответвлений элементов БД в режиме Copy-on-Write без копирования данных.
  • Эксперименты с архитектурой, не требующей выполнения операции VACUUM.
  • Система ограничений SQL-запросов, позволяющая блокировать излишнее потребление ресурсов при выполнении некачественных запросов.
  • Защита от переключение оптимизатора на менее эффективные планы выполнения запросов.

По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз.

При переводе на Rust использован гибридный подход, при котором код PostgreSQL вначале был обработан при помощи транслятора c2rust, генерирующего unsafe-представление Rust, близкое по своей структуре к изначальному коду на Си. После обработки в c2rust было создано около 1000 crate-пакетов, которые параллельно переводились на идиоматический Rust при помощи AI-модели Claude и инструментария Conductor для распределения задач между одновременно запускаемыми субагентами.

  1. Главная ссылка к новости
  2. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  3. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  4. OpenNews: Проблемы с соблюдением авторского права при переписывании ScanCode на Rust при помощи AI
  5. OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
  6. OpenNews: Релиз СУБД PostgreSQL 18
Обсуждение (184 –16) | Тип: Программы |


·09.07 В NPM 12.0 по умолчанию отключён запуск скриптов при установке пакетов (68 +12)
  Опубликован выпуск пакетного менеджера NPM 12.0, входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Новая версия примечательна прекращением по умолчанию запуска скриптов во время установки пакетов. Предполагается, что изменение усложнит проведение атак через компрометацию зависимостей и замедлит распространение червей, активируемых из установочных скриптов.

Для запрета автозапуска скриптов, указанных в package.json через параметры preinstall, install или postinstall, настройка allowScripts по умолчанию выставлена в значение "off". Выполнение подобных скриптов, а также запуск компиляции C/C++ кода утилитой node-gyp при наличии в пакете файла binding.gyp, теперь производится только при получении явной инструкции от пользователя. Помимо этого, параметры "--allow-git" и "--allow-remote" по умолчанию теперь выставлены в значение "none", что отключает автоматическую загрузку зависимостей из Git-репозиториев и по прямым ссылкам на сайты с tar-архивами.

Для организации запуска установочных скриптов следует использовать команду "npm approve-scripts", в качестве аргумента которой передаются имена пакетов, заслуживающих доверия, или опция "--all" для предоставления разрешения всем пакетам. Для сомнительных пакетов рекомендовано запускать команду "npm approve-scripts --allow-scripts-pending", которая выведет список претендующих на запуск скриптов. После проверки данных скриптов их можно разрешить командой "npm approve-scripts" и добавить в белый список в package.json.

Помимо этого анонсирован запрет использования в репозитории NPM GAT-токенов доступа (Granular Access Tokens), настроенных для выполнения действий без двухфакторной аутентификации (2FA). Начиная с августа подобные токены без дополнительного ручного подтверждения действий не позволят выполнять такие операции, как создание или удаление токенов, изменение профиля, пароля или email, настройка двухфакторной аутентификации, генерация кодов восстановления, изменение прав доступа и управление сопровождающими.

В январе 2027 года намерены запретить прямую публикацию пакетов с использование токенов, обходящих 2FA. При этом пакеты можно будет опубликовать в staging-разделе, в котором они будут находиться до ручного подтверждения релиза сопровождающим. После ручного подтверждения опубликованные пакеты станут доступны для установки пользователями.

Для автоматической публикации предлагается использовать механизм "Trusted Publishers", основанный на использовании стандарта OpenID Connect (OIDC) и токенов аутентификации с ограниченным временем действия, которыми обмениваются внешние сервисы и каталог пакетов для подтверждения операции публикации пакета вместо использования традиционных паролей или постоянных токенов доступа к API.

  1. Главная ссылка к новости
  2. OpenNews: Атакующие встроили вредоносное ПО в 32 NPM-пакета Red Hat
  3. OpenNews: В 42 NPM-пакета TanStack интегрирован самораспространяющийся червь
  4. OpenNews: Раскрыты подробности захвата учётных данных сопровождающего NPM-пакет axios
  5. OpenNews: Утечка кода инструментария Claude Code из-за забытого в NPM-пакете map-файла
  6. OpenNews: При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов
Обсуждение (68 +12) | Тип: Программы |


·09.07 Доступен язык программирования TypeScript 7.0 с компилятором, переписанным на Go (100 +16)
  Компания Microsoft опубликовала релиз TypeScript 7.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария. Выпуск примечателен поставкой нового компилятора typescript-go (tsgo), транслирующего код TypeScript в представление JavaScript, который был переписан на языке Go и теперь признан готовым для сборки рабочих проектов. Инструментарий распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.

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

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

По функциональности язык TypeScript 7 близок к TypeScript 6 и данные ветки взаимозаменяемы, а компиляторы могут сосуществовать в одной системе. Все необходимые для ветки TypeScript 7 настройки по умолчанию были изменены в выпуске TypeScript 6, в котором также были переведены в разряд устаревших возможности языка, несовместимые с TypeScript 7. Теоретически любой TypeScript-код, компилируемый в TypeScript 6.0, должен компилироваться и в TypeScript 7.0 при выставлении режима stableTypeOrdering и без использования флагов ignoreDeprecations. Какое-то время кодовые базы TypeScript 6.x и TypeScript 7.x будут параллельно сопровождаться и сосуществовать, пока ветка TypeScript 7 не достигнет зрелого состояния, готового полностью заменить старый инструментарий.

Что касается производительности компилятора, то по сравнению с прошлой веткой скорость сборки в TypeScript 7 возросла при пересборке vscode в 11.9 раз, sentry - в 8.9 раз, bluesky - 8.7 раз, playwright - 8.7 раз, tldraw - 7.7 раз. При этом потребление памяти уменьшилось при сборке vscode на 18%, sentry - 6%, bluesky - 26%, playwright - 11% и tldraw - 15%. Запуск в режиме проверки типов в TypeScript 7 производится в 10.6-16.7 раз быстрее, чем в TypeScript 6.

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

Язык TypeScript расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что упрощает перевод существующих приложений на TypeScript. Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать c платформами Node.js, Bun и Deno. В программах на TypeScript можно использовать существующие JavaScript-библиотеки. От JavaScript язык TypeScript отличается средствами для явного определения типов, а также поддержкой использования полноценных классов. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку, делает код более читаемым и простым для доработки и сопровождения.

  1. Главная ссылка к новости
  2. OpenNews: Доступен TypeScript 6.0, последний выпуск с компилятором на JavaScript
  3. OpenNews: Microsoft переписывает компилятор TypeScript на языке Go
  4. OpenNews: В Node.js добавлена экспериментальная поддержка языка TypeScript
  5. OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
  6. OpenNews: Утверждён перевод JavaScript-платформы Bun на язык Rust
Обсуждение (100 +16) | Тип: Программы |


·09.07 Quake портирован для запуска внутри игрового мира Roblox (53 +8)
  Энтузиаст перевёл исходный код 3D-шутера Quake образца 1996 года, а также многопользовательскую редакцию Quakeworld и моды на язык Luau и смог запустить их внутри игрового мира Roblox. Работа была выполнена при помощи AI-модели Claude Fable (затраты на токены составили $3000). Код порта опубликован под лицензией GPLv2.

Портированы оба многопользовательских движка Quake - NetQuake для совместного прохождения уровней и QuakeWorld для сражения с другими людьми. Возможно использование игровых ресурсов из shareware-версии Quake, полной версии Quake или LibreQuake. Реализована поддержка запуска немодицифированных модов QuakeC. Растеризатор Quake заменён на использование Roblox EditableMesh для отрисовки геометрии и lightmap для расчёта освещения. Сетевой стек на базе UDP заменён на систему сетевых событий Roblox (RemoteEvents).

Из специфичных для Roblox изменений добавлены аватары (игроки в Quake выглядят как персонажи Roblox), меню Roblox c управлением через сенсорный экран, управление матчами c возможностью запускать голосования во время матча, меню администратора для изменения правил игры, статистика с рейтингом лидеров, режим цензурированной отрисовки для детей.

  1. Главная ссылка к новости
  2. OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
  3. OpenNews: Компания Cloudflare представила EmDash, альтернативу WordPress с изоляцией плагинов
  4. OpenNews: Anthropic опубликовал Си-компилятор, созданный AI-моделью Claude Opus и способный собрать ядро Linux
Обсуждение (53 +8) | Тип: К сведению |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру