Представлен Passim, кэширующий сервер для распространения файлов в локальной сети

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2596
Зарегистрирован: 20.08.2022

#

Представлен Passim, кэширующий сервер для распространения файлов в локальной сети
Дата публикации:Sat, 29 Jul 2023 09:07:17 +0300




Ричард Хьюз (Richard Hughes), создатель фреймворка PackageKit, системы управления цветом colord, сервиса UPower, системы доставки прошивок LVFS и таких приложений, как GNOME Software, GNOME Power Manager и GNOME Color Manager, представил свой новый проект - Passim. Passim представляет собой кэширующий сервер для распространения файлов, использующий для адресации хэши от содержимого по аналогии с IPFS (InterPlanetary File System). Для определения другими системами наличия файлов в хранилище применяется протокол mDNS (Avahi). Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1.





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



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




Данные в хранилище могут добавляться в автоматическом или ручном режиме, и сводятся к копированию файла в каталог /var/lib/passim/data и установке через расширенные атрибуты (xattr) максимального времени жизни и ограничений на число загрузок. После истечения времени жизни или превышения лимита на число загрузок файл автоматически удаляется.
Присутствующие в хранилище файлы отражены в общем индексе, который могут получить все пользователи, используя mDNS или загрузку индекса по HTTP (http://host:27500/).



Для отдачи файлов применяется простой однопоточный HTTP-сервер. Файлы и индекс отдаются без аутентификации и без шифрования (HTTPS не поддерживается), так как система рассчитана на публичное распространения данных в локальной сети. Загрузка осуществляется через отправку HTTP-запроса в форме "http://192.168.10.1:27500/filename.xml.gz?sha256=хэш", в котором ключевым идентификатором является хэш (без хэша файлы не отдаются). Начальный проверочный хэш и GPG-подпись загружаются через обращение к внешнему CDN.




Изначально для организации доступа к обновлениям прошивок в LVFS рассматривалась возможность использования хранилища на базе децентрализованной файловой системы IPFS, но в конечном счёте было принято решение создать свою более простую альтернативу, рассчитанную на доставку данных только с серверов в локальной сети. Основной причиной отказа от IPFS стали возможные юридические проблемы, вызванные попаданием IPFS под действия экспортных ограничений ITAR (International Traffic in Arms Regulations) и EAR (Export Administration Regulations) из-за использования продвинутого шифрования.



Среди других недостатков IPFS, возникающих при решении задачи доставки прошивок в локальной сети, упоминаются усложнённость установки, отсутствие готовых пакетов в дистрибутивах, большое время поиска ресурсов, необходимость использования шлюза для доступа к IPFS через HTTP и отсутствие приоритетного доступа локальных клиентов. Из достоинств называется проверенная, стабильная и хорошо протестированная кодовая база, а также поддержка доступа к хранилищу не только из локальной сети.







Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59515

Жизнь за Нер'зула!

Ответить