Об этом проекте
Opal — это бесплатный медиаплеер и браузер с открытым исходным кодом, ориентированный на локальное использование, который призван заменить набор отдельных инструментов: плеер, стриминговый сайт, фронтенд для сервера, торрент-клиент и ленту. Он распространяется как один нативный бинарный файл, собранный с использованием Zig, dvui и mpv, и ориентирован на macOS (Apple silicon) и Linux x86_64, при этом поддержка Windows x64 описывается как альфа-версия, не достигшая паритета.
Что он делает
Одно поле поиска распределяет запрос по всем настроенным источникам и возвращает единый ранжированный список воспроизводимых результатов. Источники включают локальный диск, торренты, Jellyfin, Plex, Stremio, аниме, YouTube, живое ТВ, метаданные TMDB и мангу. Торрент-магнет-ссылки ведут себя как файлы: нажатие «воспроизвести» запускает стриминг, пока загрузка продолжается. Приложение также предлагает стены трендов, жанры и детализацию по эпизодам в TMDB, YouTube, аниме, Jellyfin и Plex.
Живое ТВ и IPTV поддерживаются через каталог примерно из 40 000 каналов с поиском по мере ввода. Поддержка манги использует расширения Mihon/Tachiyomi, при этом Opal сам запускает сервер Suwayomi. Воспроизведение YouTube описывается как безопасное для AV1.
Опциональный ИИ-ассистент на устройстве использует локальную LLM с инструментами для ответов на вопросы, например, что посмотреть, возвращая воспроизводимые варианты. Голосовые и ИИ-модели подключаются по желанию, и ничего не загружается автоматически. Можно добавить бесплатный токен TMDB v4 для более богатых метаданных.
Плеер и дополнительные возможности
Плеер построен на mpv и включает автоматические субтитры, совместный просмотр, восстановление сеанса, телефонный пульт и веб-интерфейс на порту 41595, а также OCR по кадрам видео, языковые карточки, RSS, режим инкогнито, семь тем и JSON API. Воспроизведение можно по желанию передать VLC, если он установлен. Горячие клавиши охватывают поиск, браузер, библиотеку, историю, полноэкранный режим, плейлист, сеточную раскладку, подгонку/кадрирование, открытие файла, настройки и шпаргалку.
Кросбраузерное расширение MV3 под названием Opal Connect (Chrome, Edge, Firefox) превращает вкладку в действие Opal: отправить или поставить видео в очередь, добавить сайт с мангой или новеллами как источник или управлять воспроизведением с боковой панели-пульта.
Конфиденциальность и данные
Проект заявляет об отсутствии аккаунтов, телеметрии, облака и подписки. История и память ИИ хранятся в файле SQLite, принадлежащем пользователю. Файлы соответствуют XDG: конфигурация, токены и opal.db в ~/.config/opal, кэши в ~/.cache/opal, загрузки в ~/Downloads/opal, а плагины контента в ~/.config/opal/plugins. Источники контента поставляются отключенными и должны быть установлены из реестра плагинов; плагины состоят из манифеста и исполняемого файла поиска/разрешения, который выводит JSON, при этом Lua изолирован в песочнице, а нативные бинарники — нет.
Установка
Скрипт установки в одну команду определяет платформу, проверяет контрольные суммы и служит обновлятором и фиксатором версии; на Linux он устанавливается в ~/.local без sudo, с опциональным системным режимом для apt, dnf, zypper или AUR. Пакеты также предоставляются как macOS dmg, Homebrew tap, deb, rpm, AppImage и Windows msi или портативный zip. Сборка из исходников требует Zig 0.16.x плюс нативные зависимости, такие как mpv, sqlite, onnxruntime, SDL2, libtorrent-rasterbar и ffmpeg/whisper-cpp для голоса. Минимальные требования для Linux включают libmpv 0.34 или новее и, для предварительно собранного AppImage, glibc 2.38.
Архитектура и лицензия
Дерево исходников разделяет ядро (аллокатор, состояние, конфигурация, пути, sqlite с sqlite-vec), плеер (обертка mpv, плейлисты, субтитры, история), сервисы (поиск, ИИ, торренты, Jellyfin, удаленный API) и интерфейс (виджеты dvui), наряду с сопутствующим веб-интерфейсом и расширением. Проект подчеркивает единый аллокатор с проверкой утечек, буферы фиксированного размера, единый общий хаб состояния с правилами потокобезопасности и перерисовку только при изменениях. Он лицензирован под GPL-3.0, при этом встроенные зависимости сохраняют свои лицензии. В README отмечается, что Opal ничего не хостит, не индексирует и не распространяет, подключаясь только к источникам, настроенным пользователем, и предупреждает, что BitTorrent раскрывает IP-адрес пользователя рою.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.