Об этом проекте
Ruffle — это эмулятор Adobe Flash Player с открытым исходным кодом, реализованный на Rust. Он работает как настольное приложение и в браузере через WebAssembly и предназначен для поддержания воспроизведения устаревшего Flash-контента (SWF-файлов) после прекращения поддержки официального Flash Player.
Что он предоставляет:
- Поддержка ActionScript 1, 2 и 3, которую проект описывает как довольно полную, но всё ещё находящуюся в разработке.
- Веб-демо, где пользователи могут загрузить локальный SWF-файл прямо в браузере.
- Ночные сборки для настольных и веб-платформ.
- Расширения для браузеров Firefox и Chrome, пакет Flathub, пакет npm и пакет AUR.
- Настольный клиент, построенный на wgpu-rs, с дополнительными возможностями профилирования (Tracy) и отладочными метками рендеринга.
- Утилита сканера для массового разбора коллекций SWF-файлов и отчёта об успешности разбора.
- Утилита экспортера, которая создаёт PNG-скриншоты SWF, возможно, по нескольким кадрам, и может работать в безголовом режиме.
Основные моменты архитектуры из README:
- core: основной эмулятор и общий код
- swf: парсер SWF и ActionScript
- desktop: настольный клиент
- web: веб-клиент и расширение для браузера
- render: бэкенды рендеринга для настольных и веб-версий
- video: бэкенды декодирования видео
- flv: декодер Flash Video
- wstr: реализация строк, совместимая с Flash
- scanner и exporter: утилиты командной строки
Сборка из исходного кода требует недавней стабильной версии инструментария Rust и Java в PATH (для встроенных классов ActionScript 3). Пользователям Linux нужны типичные пакеты разработки, такие как ALSA, udev, fontconfig, freetype и заголовки OpenSSL. Настольные сборки запускаются через cargo, и конкретный SWF можно передать в качестве аргумента. Пользователи macOS могут установить сборку HEAD через Homebrew tap проекта. Веб-сборки и расширения следуют инструкциям в каталоге web, а приложение для Android находится в отдельном репозитории ruffle-android.
Лицензирование двойное: Apache-2.0 / MIT, и вклады принимаются на тех же условиях. Проект публикует кодекс поведения и приветствует вклад сообщества.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.