Обновить

Все потоки

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

Червь Shai-Hulud вернулся в npm и получил настоящую подпись

4 августа в npm вышла новая версия keyv, небольшой библиотеки для работы с хранилищами. Внутри был вредоносный код, и через час он появился в cacheable, flat-cache, cache-manager и остальных пакетах того же автора, а оттуда пошел дальше по чужим учетным записям. Сутки спустя специалисты Aikido насчитали 444 зараженных пакета.

Опознать волну было несложно. Червь складывал краденое в публичные репозитории с описанием «Shai-Hulud: Here We Go Again». Wiz относит образец к тому же семейству, что и прошлогодние.

Атакующий получил доступ к учетной записи мейнтейнера и выпустил зараженные версии от его имени. В них он добавил загрузчик setup.mjs, файл с замаскированным вредоносным кодом и настройку preinstall в package.json. Она заставляла npm запускать загрузчик еще во время обычной установки пакета.  

setup.mjs определял, на какой системе работает машина. Если на ней не было Bun (среды для выполнения JavaScript), то он скачивал ее легитимную версию 1.3.13 из официального списка релизов. Затем через Bun запускался Math_Symbol.js. Этот файл собирал токены, ключи и другие секреты, доступные на машине разработчика или сервере сборки. Используя токены публикации червь выпускал зараженные версии пакетов, которыми мог распоряжаться их владелец. Таким образом червь шел не только по дереву зависимостей, но и по полномочиям мейнтейнеров. Очередной зараженный пакет попадал в следующую среду сборки, получал доступ уже к ее секретам и повторял тот же сценарий.

Интересно то, что зараженные версии попали в реестр с настоящей подписью. Год назад экосистема ответила на первую волну Shai-Hulud внедрением доверенных публикаций, при котором пакет собирается в общем сборочном конвейере, а вместе с ним публикуются сведения о происхождении сборки. На августовских версиях эта проверка проходила, и подмены после сборки действительно не было. Вредоносный код лежал в самом репозитории, поэтому конвейер честно собрал и заверил то, что там было.

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

Заражённые версии из реестра уже убрали, а теги последних релизов откатили. Но для машины, куда пакет успел встать 4 августа, это мало что меняет. Секреты уехали в тот же день и работают, пока их не отозвали.

Как в таком случае защитить цепочку поставки?

Новые версии внешних пакетов лучше вовсе не пускать в сборки в день публикации. Период охлаждения хотя бы на 14 дней дает время заметить подозрительный релиз. Доступ к публичным реестрам стоит пропускать через внутренний репозиторий или прокси, чтобы известная вредоносная версия не попала к разработчикам и в сборочные системы. Подробнее о таких рубежах контроля мы писали в статье «Атаки на цепочку поставки ПО: виды угроз и как с ними бороться».

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

Подписывайтесь на CodeScoring в Telegram, VK, YouTube и Макс.

Теги:
+8
Комментарии0

Информационные технологии. Проблемы и решения – IT'DAYS

Сегодня всё чаще говорят: импортозамещение заканчивается там, где начинается переписывание миллионов строк бизнес-логики.

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

Digital Q.DataBase — именно такая СУБД. Она воспроизводит функциональные возможности Microsoft SQL Server и Oracle Database, позволяя существенно сократить объём доработок существующих информационных систем при миграции.

Отличный повод вспомнить моё выступление на международной конференции «Информационные технологии. Проблемы и решения – IT'DAYS» в Уфе.

► Бесплатная полнофункциональная версия дистрибутива (до 8 ядер) с возможностью использования в том числе в коммерческих целях.

🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru/?utm\_source=andrei
🔹 Документация: доступна внутри дистрибутива
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase
🔹 MAX: https://max.ru/channel_dqdatabase
🔹 RuDB : https://database.ru

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

Теги:
+5
Комментарии5

Anthropic со 2 августа 2026 года начала внедрять маркировку контента, созданного Claude. В сгенерированный текст встраивается невидимый водяной знак, который не влияет на смысл или читаемость и может сохраняться после копирования и некоторых правок. Это может усложнить использование Claude для написания дипломных работ, книг и исследований. Во все актуальные модели встроили криптометки по стандарту C2PA. Метки невозможно увидеть и они сохраняются даже при копировании на другие ресурсы.

Для файлов компания использует другой механизм — цифровые метаданные о происхождении контента по стандарту C2PA. Они могут добавляться, например, к изображениям.png и.jpg и позволяют проверить, обрабатывался ли файл Claude и не изменялся ли он после этого.

Маркировка распространяется не только на веб-версию Claude: она применяется к поддерживаемым моделям в API, Claude Code, Claude Cowork и Claude Tag, а также при использовании Claude через AWS, Google Cloud и Microsoft Foundry, где технические возможности платформы это позволяют.

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

Нововведение связано с требованиями европейского закона об ИИ: для новых моделей, запускаемых в ЕС после 2 августа 2026 года, должна быть предусмотрена маркировка ИИ-контента. При этом Anthropic решила применять технологию не только в Европе, но и по всему миру.

Вариант, как можно вычистить маркировку контента, созданного Claude:

  • Текст — отредактируйте, перефразируйте или переведите на другой язык. Вам нужно внести как можно больше изменений. Другого способа спрятаться от детекторов пока нет.

  • Картинка — уничтожьте все метаданные. Несколько раз пересохраните в разных форматах или сделайте скриншот картинки.

  • Код — поменяйте название 3–4 ключевых переменных, перепишите архитектуру функций своими руками или прогоните весь код через форматировщик (например, Prettier или Black).

Теги:
+5
Комментарии3

В Anthropic отправили экспериментальную модель Claude изучать гипотезу Римана — математическую задачу, которую кожаные математики безуспешно пытаются решить с 1859 года. Саму гипотезу Claude не решил, зато нашёл способ поднять доказанную долю подходящих функций с 41,6% до 67,2% — это прорыв, который сэкономит научному сообществу десятки лет. Руководивший экспериментом Джаред Самнер не создавал сложных промптов — большую часть времени он просто для ИИ писал «продолжай» и «верь в себя».

Теги:
+6
Комментарии1

У меня тут возник период затишья с пет-проектами, а лимиты по Codex и Claude Code проставивали. Решил сделать для себя онлайн-учебник по математике по программе 6-11 классов по программе российских школ.

Начал Codex, закончил Claude Code (потому что у кодекса кончился недельный лимит, у chatgpt у меня стоит Plus, у антропиков Max 5x). Через простую оркестрацию агентов (агент пишет главу или проверяет содержание).

33 главы за 6–11 классы, 243 страницы, 84 интерактивные лаборатории. Плюс есть заметки и граф понятий в .md, которые можно глянуть через Obsidain.

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

Делал в первую очередь для себя, но если кому интересно я залил репо на Github, а саму книгу на Github Pages.

artem-x-meta.github.io/dive-math-ru
https://github.com/artem-x-meta/dive-math-ru

Теги:
+13
Комментарии7

Пользователь установил своему хомяку систему, которая считывает пробежки в клетке по беговому колесу и загружает эти данные в соцсеть для спортсменов Strava. На колесе установлен магнит и специальный датчик, который считает количество оборотов колеса. Микроконтроллер фиксирует время, скорость и дистанцию питомца, а потом эти данные загружается в спортивную соцсеть. Средний ночной пробег хомяка Молли составляет 10 км, а его личный рекорд — более 11 километров за ночь.

Теги:
+5
Комментарии1

📣 Приглашаем на наш первый Data Meetup с кейсами крупных компаний!

18 августа эксперты VK Tech, Авито и RWB разберут архитектурные задачи, с которыми сталкиваются инженерные команды при развитии современных платформ данных.

В программе два технических доклада:

🔹 Павел Кутаков, эксперт-архитектор VK Tech, покажет, как устроена гиперконвергентная VK Data Platform на Kubernetes: управление СУБД и сервисами, отказоустойчивость, сеть, безопасность и наблюдаемость.

🔹 Дмитрий Листвин, Big Data Engineer Авито, расскажет, что делать, когда узким местом Lakehouse становится объектное хранилище.

Также пройдет круглый стол с экспертами RWB и VK Tech. Разберем подготовку кастомных сегментов для таргетинга на Trino и DataFusion и обсудим, как меняется сама архитектура платформ данных — какую роль в ней играет Kubernetes и что меняют ИИ-агенты.

Завершится митап пиццей и приятным нетворкингом.

📆 18 августа, сбор гостей в 17:30
📍 Москва, БЦ «Скайлайт»
💻 Офлайн и онлайн

🔜 Посмотреть программу и зарегистрироваться

Мы в МАХ

Теги:
+4
Комментарии0

Как аптечная сеть «36,6» снизила ИТ-расходы в 1,5 раза после переезда на bare metal

Аптечная сеть «36,6» росла, а инфраструктура за этим не успевала. Аналитические расчеты требовали все больше мощности, а ядро сети держалось на двух коммутаторах Cisco с потолком 1 Гбит/с — в часы пик из-за этого могли сбоить аптеки. Бюджет при этом растягивать не хотелось.

Решением стал переход на bare metal в Рег.облако. Собрали инфраструктуру, которая оставила «36,6» полный контроль над железом и дала запас мощности для роста.

Что сделали:

  • перенесли больше 400 виртуальных машин за два месяца, без простоев в бизнес-процессах;

  • в основном ЦОДе — хосты на AMD EPYC с памятью DDR5 и три системы хранения;

  • заменили ядро сети: вместо упиравшихся в 1 Гбит/с коммутаторов Cisco поставили масштабируемое программное решение;

  • добавили серверы с GPU под большие языковые модели и резервный ЦОД с объектным хранилищем S3.

В результате расходы на инфраструктуру снизились в 1,5 раза, производительность кластера выросла в среднем на 40%, а ключевой расчет ускорился с 22 до 16 часов. Подробнее о технической реализации — в кейсе на сайте Рег.облака.

Теги:
+5
Комментарии1

Завтра, 11 августа, пройдет вебинар на тему: «Delta Design: Решение задач трассировки модулями RightPCB и TopoR»

Ведущий вебинара: Моралёв Василий, инженер компании ЭРЕМЕКС.

Дата и время проведения: 11 августа 2026 г., 11:00 – 12:00 (время московское).

Участие в мероприятии бесплатное, требуется предварительная регистрация.

До встречи на вебинаре!

Теги:
+3
Комментарии0

Память VDS. Что стоит за строкой «8 ГБ» в тарифе
Число в тарифе отвечает на один вопрос: сколько памяти увидит гостевая система. Зарезервирован ли объем физически, может ли гипервизор забрать страницы обратно и что будет при пике соседей, оттуда не следует.

Три слова, которые каждый понимает по своему. Dedicated обычно означает объем, постоянно доступный машине по условиям тарифа. Слово «постоянно» стоит уточнить: резервируется ли память на хосте и может ли ballooning ее уменьшить. В burstable часть доступна всегда, остальное при свободном ресурсе узла. Shared значит, что резервирования нет. Даже при dedicated провайдер может разрешать swap на хосте, поэтому гарантия в договоре важнее названия модели.

Ballooning и overcommit. Ballooning работает через драйвер внутри гостя. По команде хоста он занимает страницы, ядро гостя освобождает кеш или уходит в свой swap, а высвобожденную память гипервизор отдает другим машинам. Пока баллон надут, приложения работают с меньшим объемом, чем в тарифе. Overcommit это когда сумма лимитов больше физической RAM узла. Умеренная переподписка работает годами, пока гости используют часть лимитов. Пример: после резерва под системные процессы на узле осталось 120 ГБ, машинам назначено 180. При суммарном рабочем наборе 80 ГБ никто ничего не заметит. При 140 придется забирать страницы через ballooning или уходить в swap хоста. Overselling это тот же overcommit, но с недостаточным запасом: разница не в технологии, а в коэффициенте.

Что видно изнутри, а что нет. Сразу о границе: коэффициент переподписки из гостевой системы не определяется никак, эти данные есть только у провайдера. Изнутри ловится давление на память и его совпадение с замедлением сервиса.

free -m && grep -E "MemAvailable|SwapFree" /proc/meminfo
vmstat -y 1 10
procs ---swap-- -----io---- ---cpu---
 r  b   si   so    bi    bo  us sy id wa st
 1  2  184  412  1240   980  22  6 61 10  1

Смотреть надо на MemAvailable, а не на free: файловый кеш при нужде освобождается. Ненулевые si и so в нескольких интервалах подряд это обмен сейчас, а не след прошлого пика.

cat /proc/pressure/memory
some avg10=14.82 avg60=9.31 avg300=3.07 total=8123441
full avg10=6.55 avg60=4.02 avg300=1.18 total=3910228

PSI это доля времени, потерянного задачами из за нехватки памяти. Строка some означает, что простаивала хотя бы одна задача, full что вставала вся работа. Четырнадцать процентов в avg10 при выросшем времени ответа это разговор, а не шум.

journalctl -k -g "oom|Killed process"

Если процесс убило ядро гостя, запись будет здесь. Отсутствие записи при остановившейся машине это отдельный сюжет: OOM хоста может завершить процесс самой машины, и в журнале гостя причины не будет.

Признаки, которые стоит собрать вместе. Задержка растет в одни и те же часы при сопоставимой нагрузке. Устойчивые si и so без изменения профиля приложения. PSI растет синхронно с замедлением. Машина останавливается без записи об OOM у себя. Один признак ничего не доказывает, три совпавших уже повод писать в поддержку с временем эпизодов и метриками.

Что спросить до заказа. Какой объем зарезервирован, а не просто виден. Допускается ли ballooning и до какого минимума. Разрешен ли swap на хосте для памяти машин. Для burstable отдельно: гарантированная часть и условия доступа к остальному.

Тип гипервизора говорит об архитектуре, а не о гарантиях: overcommit поддерживают и KVM, и VMware, и Xen. SLA обычно описывает доступность и компенсацию за простой, но не производительность.

Теги:
+5
Комментарии1

Режим стримера 🎮

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

Включаете — и панель сама блюрит конфиденциальные данные:

➖ Публичные IP-адреса
➖ Баланс
➖ Личные данные: ФИО, телефон, email
➖ Домены и почтовые ящики

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

Попробовать на своей панели →

Теги:
+18
Комментарии0

Steam вернул пользователю деньги за Battlefield 6 после 470 наигранных часов. Пользователь купил Battlefield 6 ещё на релизе (10 октября 2025 года) в издании Phantom Edition за $109. За более чем полгода игру заметно доработали, например там убрали любимые режимы пользователя — King of the Hill, Squad Deathmatch и Rush. Клиент Valve объяснил техподдержке Steam своё разочарование в игре, предоставил ссылки на изменения разработчиков. Результат — его рефанд одобрили и вернули всё до цента.

Теги:
+4
Комментарии0

Задача о стабильной очереди задач

И это не тавтология... Проверьте свое знание синтаксиса, критическое мышление и умение вчитываться в ТЗ.

Условие

Идут обычные рабочие будни. Вы — ведущий DevOps-инженер в крупном маркетплейсе. В компании вовсю идет распродажа, и система распределенных вычислений на базе Celery работает на пределе возможностей, обрабатывая терабайты аналитики. В самом начале смены дежурный инженер замечает в системе ровно 100 активных задач. Согласно внутренней архитектуре, эти задачи зациклены: каждая задача после своего успешного завершения автоматически генерирует и ставит в очередь ровно одну новую задачу.

Через пару часов инженер бьет тревогу в рабочий чат: «Ребята, у нас проблема! График застыл! Похоже, планировщик завис или сеть легла, процессы не плодятся!». Вы открываете логи, смотрите на графики мониторинга и… Система работает абсолютно штатно, никакого бага нет.

Задача

Объясните паникующему инженеру, почему его логика отказала. Как так получилось, что количество задач не растет? Напишите простую симуляцию этого процесса на Python, чтобы наглядно показать коллеге, как ведет себя такая очередь.

Убедитесь, что все решили правильно, — загляните в Академию Selectel.

Теги:
+6
Комментарии1

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

Учёные выяснили, что шутеры и другие динамичные игры улучшают визуальное внимание пользователей. В рамках эксперимента исследовались показатели 49 студентов без большого игрового опыта, которым позволили играть в компьютерные игры (Counter-Strike: Global Offensive) на протяжении шести месяцев — суммарно по 120 часов.

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

Теги:
+2
Комментарии0

От ядра Linux до ИИ-агентов: 19 открытых уроков недели

Как устроены продвинутые модели Data Science, что происходит на границе user space и kernel space, как проектировать отказоустойчивые микросервисы и автоматизировать рабочие задачи с помощью искусственного интеллекта?

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

Data Science и искусственный интеллект

  • 10 августа, 18:00. «Технологии продвинутого Data Science: что под капотом». Записаться

  • 12 августа, 20:00. «ИИ-зрение в действии: как из данных с дороги получить карту мира». Записаться

  • 13 августа, 20:00. «Управление данными в MSA — дыра в бюджете или актив для ИИ-трансформации?». Записаться

  • 17 августа, 20:00. «Создаём первого ИИ-агента за 90 минут: автоматизируем реальную рабочую задачу с Claude Code». Ведущая — Татьяна Березенцева. Записаться

Разработка и архитектура

  • 10 августа, 20:00. «Ваш первый код на Go за один вечер». Записаться

  • 11 августа, 20:00. «Работа с SQLAlchemy и Alembic в FastAPI». Записаться

  • 12 августа, 20:00. «Паттерны отказоустойчивости и масштабируемости микросервисной архитектуры». Записаться

  • 12 августа, 20:00. «Тайный язык общения чипов. Подключаем всё к ESP32». Записаться

DevOps и системное администрирование

  • 10 августа, 20:00. «Вход в ядро: системные вызовы и граница между user space и kernel space». Записаться

  • 10 августа, 20:00. «Kubernetes + CI/CD + GitOps — делаем стабильный деплой без выхода из кластера». Записаться

  • 13 августа, 20:00. «Принцип DRY в GitLab CI: как избавиться от дублирования и навести порядок в пайплайнах». Записаться

  • 17 августа, 20:00. «Что такое модуль ядра. Как его написать, собрать, запустить». Записаться

  • 17 августа, 20:00. «Системы логирования: ELK, EFK или Graylog?». Записаться

Тестирование

  • 13 августа, 20:00. «Минимум для старта: как провести своё первое нагрузочное тестирование». Записаться

Системный и бизнес-анализ

  • 11 августа, 20:00. «Практическое собеседование системного аналитика». Записаться

  • 17 августа, 20:00. «Строим модель в нотации BPMN с помощью ИИ». Ведущий — Андрей Коптелов. Записаться

Управление, поддержка и Битрикс24

  • 10 августа, 19:00. «Настройка прав доступа в Битрикс24: от простого к сложному». Записаться

  • 10 августа, 20:00. «Колл-центр поддержки изнутри: структура, на которой держится клиентский сервис». Записаться

  • 11 августа, 19:00. «Модели организации разработки: продуктовые команды и архитектурное управление». Записаться

Полный спислк бесплатных уроков августа смотрите в дайджесте мероприятий.

Теги:
+6
Комментарии0

redb ecosystem
вышла версия 3.5.0(1) nuget
в ней Локальная база на клиенте
также новый коннектор redb.Route.As2 github
добавлены EIP паттерны
Message History EIP 
XSLT transformation
Routing Slip EIP 

посмотреть можно здесь github.com/redbase-app

хабр

Теги:
+5
Комментарии0

GitHub превратили в TikTok — теперь новые библиотеки, инструменты и идеи для своих проектов можно находить обычными свайпами. Сервис Roamers показывает бесконечную ленту открытых репозиториев, почти как рилсы. Если войти через GitHub, рекомендации подстроятся под ваши интересы, но листать можно и анонимно.

Теги:
+4
Комментарии0

Видео, которое вызывает дикий ужас и диссонанс. Многие его видели, но каждый раз, когда встречаю, невольно задумываюсь, у многих так и пролетела вся жизнь с мыслью «главное дотянуть до пенсии, а вот там уже точно отдохну/заживу».
Жутко и дико, но это реальность, которую я наблюдаю вокруг себя с самого детства.

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

Вопрос в том, получится ли хоть что‑то изменить...

Теги:
+1
Комментарии4

ElegantGPT

Начал значительно чаще пользоваться ChatGPT, так как на GPT-5.6 Sol High качество ответов стало меня устраивать. Вдобавок, он по умолчанию работает примерно в том же стиле, что и Perplexity Computer. Только нет никаких дурацких кредитов.

Единственное, что меня серьёзно напрягало – это то, как выглядел чат. Чёрный фон, полная депрессия. Поэтому сделал свою тему. Естественно, частично наследовал Base16 Dark и поставил любимое семейство IBM шрифтов.

Читаемость повысилась. С чатом стало приятнее работать. Кстати, предыдущую тему для Habr я тоже переработал.

Тема бесплатная, устанавливается через Stylus (Firefox / Chrome).

Теги:
+3
Комментарии1

Два архитектурных подхода к совместному просмотру видео и чем они отличаются на практике

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

Подход 1: серверный relay

Watch2Gether (w2g.tv), WParty (wparty.net), vmeste.tv. Пользователь отправляет ссылку на видео, сервер его загружает или проксирует, раздаёт участникам комнаты через собственный плеер. Синхронизация на стороне сервера: он контролирует playback state для всех клиентов.

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

Минусы тоже. Видео проходит через инфраструктуру сервиса, перекодируется. На потоке 1080p с Кинопоиска получишь что-то хуже на выходе. Плюс юридическая зона: проксирование контента с платных платформ нарушает условия использования большинства из них. Поэтому relay-сервисы работают в основном с YouTube, Vimeo, частично с RuTube и ВК Видео. Кинопоиск, Иви, Okko ни один relay-сервис напрямую не поддерживает.

Подход 2: state sync на клиенте

Teleparty (teleparty.com), TandemParty (tandemparty.com). Браузерное расширение внедряется в страницу через content script, находит video element, подписывается на события (play, pause, seeked, ratechange) и транслирует их участникам через WebSocket.

Видеопоток не затрагивается. Каждый участник грузит контент напрямую с CDN платформы в нативном качестве. Расширение только рассылает команды управления.

Сложность в адаптерах. Каждая платформа использует свой плеер с разными обёртками, разными событиями, разными способами управления воспроизведением. Кинопоиск, YouTube, RuTube, ВК Видео, Иви, Okko, все по-разному. Расширение должно содержать отдельный адаптер под каждую, который знает как найти video element, как подписаться на события, как программно управлять плеером.

Teleparty покрывает западные платформы: Netflix, HBO Max, Disney+, Hulu. TandemParty поддерживает 15 платформ, включая российские (Кинопоиск, Иви, Okko, Wink, Premier, KION, Start, Амедиатека) и западные (Netflix, Prime Video, HBO Max, Crunchyroll). WebSocket-сервер у TandemParty на Rust.

Минус state sync подхода: требуется расширение. Без установки не работает, а это дополнительный порог входа. Плюс расширение привязано к Chromium, Firefox и Safari остаются за бортом.

По факту, для синхронного просмотра с сохранением качества state sync выигрывает. Relay проще в онбординге, но проигрывает в качестве картинки и в покрытии платформ.

Теги:
+3
Комментарии0