====== Cast Tab Keeper ====== Cast Tab Keeper — расширение для браузеров на базе Chromium (Chrome, Edge, Brave, Vivaldi и др.), которое возвращает возможность транслировать именно вкладку, а не только медиафайл. Оно устраняет поведение, когда браузер перехватывает YouTube- или медиастраницы и отправляет на Chromecast/телевизор только сам видеофайл, блокируя полное зеркалирование вкладки. {{ :projects:chrome:cast_tab_keeper.zip |}} ===== 🔹 Установка ===== Распаковать в каталог назначения ===== 🔹 Основные функции ===== Блокировка Cast SDK на выбранных сайтах. Если сайт в списке заблокирован — Chromecast видит поток как «tab mirroring» (полное зеркало вкладки). Если сайт разрешён — работает стандартное «smart cast» (браузер выступает пультом, а устройство само проигрывает контент). Светлый интерфейс (в стиле системных настроек). ===== 🔹 Интерфейс ===== Popup (быстрый доступ) Отображает текущий сайт и его статус (разрешён / заблокирован / отсутствует в списке). Кнопки: Allow here — добавить сайт и разрешить нативный Cast. Remove — удалить сайт из каталога. Options… — открыть страницу расширенных настроек. Options Page (полные настройки) Управление каталогом сайтов (добавление, удаление, импорт/экспорт списка). Быстрый пресет для YouTube (все основные домены). Счётчик количества сайтов в каталоге. Темы (Blue / Green / Red). ===== 🔹 Техническая реализация ===== Manifest V3 (совместим с актуальными Chrome и Edge). Content script (keepalive.js) добавляет невидимый 1×1 элемент и переключает его прозрачность. DeclarativeNetRequest — фильтрует запросы Cast SDK, подменяя логику. Storage sync — хранение списка сайтов, темы и параметров keep-alive между браузерами (если включена синхронизация). UI — HTML+CSS с переменными для кастомизации цветов. ===== 🔹 Преимущества ===== Позволяет использовать телевизор как полноценный дополнительный монитор. Работает на всех Chromium-браузерах (Chrome, Edge, Brave, Vivaldi, Opera). Можно гибко выбирать: для видео (аниме, фильмы, стримы) — tab mirroring, для музыки (YouTube Music, радио) — нативный Cast. ===== 🔹 Ограничения ===== Расширение работает только в Chromium-браузерах. В Firefox API отличаются. При публикации в Chrome Web Store может быть отклонено, если Google сочтёт вмешательством в Cast SDK. Для личного использования ограничений нет. Для работы с file://-страницами нужно включить в chrome://extensions пункт «Allow access to file URLs». ===== Примечание ===== Проблема некорректной трансляции вкладок связана не с браузером, а с подгружаемым сайтом внешним скриптом Cast SDK: https://www.gstatic.com/cv/js/sender/v1/cast_sender.js Этот скрипт меняет поведение Chrome/Edge: вместо зеркалирования вкладки начинает работать прямой Cast API. Поэтому решение можно реализовать двумя способами: Простое — блокировать загрузку cast_sender.js (через firewall, hosts или правила браузера). Тогда всегда будет tab mirroring. Расширенное — использовать расширение Cast Tab Keeper, которое: даёт интерфейс для гибкого управления (разные сайты — разные режимы), позволяет быстро управлять через popup. ---- {{page>common:footer&noeditbutton}}