15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
10.10.2024

Как включить Java в Firefox: 3 способа запуска устаревшего контента Java

Java-апплеты больше не поддерживаются ни в одном современном веб-браузере, включая Mozilla Firefox. Mozilla окончательно отказалась от поддержки плагинов NPAPI — архитектуры, которая делала Java-апплеты возможными, — начиная с Firefox 52 в 2017 году. Если вам сегодня нужно запустить устаревшее Java-приложение в браузере, вы не можете просто изменить какую-то настройку в текущей версии Firefox; необходимо воспользоваться одним из трёх специальных обходных решений, каждое из которых имеет свои особенности с точки зрения безопасности и эксплуатации.

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

Почему Java больше не работает в современном Firefox

Понимание первопричины позволяет избежать напрасной траты времени на устранение неполадок. Java-апплеты в браузерах зависели от NPAPI (Netscape Plugin Application Programming Interface) — архитектуры плагинов, берущей начало в середине 1990-х годов. NPAPI предоставлял плагинам практически неограниченный доступ к хост-системе, что делало его постоянным вектором атак для эксплойтов удалённого выполнения кода.

Хронология устаревания разворачивалась следующим образом:

  • 2015: Google Chrome полностью отказался от поддержки NPAPI.
  • 2016: Mozilla начала блокировать плагины NPAPI по умолчанию в Firefox.
  • Март 2017: Firefox 52 стал последним выпуском с поддержкой NPAPI. Firefox ESR 52 продлил эту поддержку до середины 2018 года.
  • 2018 — настоящее время: Все выпуски Firefox поставляются без какой-либо поддержки NPAPI. Ни расширение, ни флаг, ни правка about:config не могут восстановить её в современной сборке.

Сама Oracle объявила плагин Java для браузера устаревшим в JDK 9 (2017) и полностью удалила его в JDK 11. Это означает, что даже если бы Firefox по-прежнему принимал плагины NPAPI, сам плагин больше не поставляется с современными дистрибутивами Java.

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

Сравнение трёх методов

МетодРиск безопасностиСложностьСтоимостьЛучше всего подходит для
Старый Firefox ESR 52Высокий — неисправленные CVEНизкаяБесплатноБыстрый разовый доступ на изолированной машине
IE Tab / эмулятор браузераСредний — зависит от версии IEНизкая–СредняяБесплатно / Платные тарифыПериодический доступ на управляемой рабочей станции Windows
Виртуальная машина с устаревшим браузеромНизкий — полная изоляцияВысокаяБесплатно (VirtualBox)Частое или долгосрочное использование Java-апплетов

Метод 1: Использование Firefox ESR 52 с плагином NPAPI Java

Firefox ESR (Extended Support Release) 52 был последней веткой с поддержкой NPAPI. Установка его вместе с совместимой JRE даёт вам рабочую среду для Java-апплетов, хотя и сопряжённую с серьёзными угрозами безопасности.

Шаг 1: Загрузите Firefox ESR 52

Официальный FTP-архив Mozilla хранит все исторические выпуски. Перейдите по адресу:

https://ftp.mozilla.org/pub/firefox/releases/52.9.0esr/

Выберите подкаталог, соответствующий вашей операционной системе (win32, win64, linux-x86_64, mac) и вашей локали. Загрузите установщик напрямую — избегайте сторонних зеркальных сайтов, которые могут содержать рекламное ПО или изменённые бинарные файлы.

Шаг 2: Установите Firefox ESR 52 в изолированный профиль

Не устанавливайте его поверх текущего Firefox. В Windows используйте пользовательский путь установки, например C:FirefoxESR52. В Linux извлеките архив в отдельный каталог:

tar -xjf firefox-52.9.0esr.tar.bz2 -C ~/firefox-esr52/

Запустите его с отдельным профилем, чтобы исключить любое перекрёстное загрязнение данных основного браузера:

~/firefox-esr52/firefox/firefox --profile ~/.mozilla/firefox-esr52-profile --no-remote

Шаг 3: Отключите автоматические обновления

После первого запуска перейдите в Настройки > Основные > Обновления Firefox и выберите «Проверять наличие обновлений, но позволять мне выбирать, устанавливать ли их». Ещё лучше — заблокируйте службу обновлений Firefox на уровне сети или через запись в файле hosts, если этот браузер будет использоваться на постоянной основе.

Шаг 4: Установите совместимую среду выполнения Java

JRE 8 Update 161 от Oracle была последней сборкой, поставлявшейся с плагином NPAPI для браузера, прежде чем Oracle незаметно убрала его из более поздних выпусков 8u. Загрузите JRE 8u161 из архива выпусков Oracle (требуется бесплатная учётная запись Oracle) или из надёжного дистрибутива OpenJDK, который по-прежнему включает этот плагин.

После установки убедитесь, что файл плагина существует. В Windows найдите:

C:Program FilesJavajre1.8.0_161binplugin2npjp2.dll

В Linux:

find /usr/lib/jvm/ -name "libnpjp2.so"

Шаг 5: Включите Java в Firefox ESR 52

  1. Откройте Firefox ESR 52 и введите about:addons в адресной строке.
  2. Нажмите Плагины на левой боковой панели.
  3. Найдите Java(TM) Platform SE (или аналогичное).
  4. Установите в выпадающем списке значение Всегда включать.

Если плагин не отображается, Firefox не находит каталог плагина. Вручную укажите путь к плагину, создав или отредактировав файл pluginreg.dat, либо задав переменную окружения MOZ_PLUGIN_PATH перед запуском:

export MOZ_PLUGIN_PATH=/usr/lib/jvm/jre1.8.0_161/lib/amd64/
~/firefox-esr52/firefox/firefox --no-remote

Критическое предупреждение о безопасности

Firefox ESR 52 имеет сотни неисправленных CVE, накопившихся с 2018 года. Никогда не используйте его как браузер общего назначения. Никогда не храните в нём пароли, куки или токены сессий. Относитесь к нему как к инструменту для одной конкретной задачи — работы с определённым внутренним приложением, — и по возможности запускайте его на машине, не подключённой к открытому интернету.

Метод 2: Использование расширения IE Tab или эмулятора браузера на основе Chromium

Этот метод работает путём встраивания движка Internet Explorer (Trident) или устаревшего Edge в вкладку браузера. Поскольку IE изначально поддерживал Java через ActiveX/NPAPI в Windows, этот подход позволяет запускать Java-апплеты без изменения основной установки Firefox.

Важное уточнение о поддержке браузеров

Расширение IE Tab официально поддерживается в Google Chrome и браузерах на основе Chromium (Edge, Brave, Vivaldi). Существует порт для Firefox, но он официально не поддерживается и имеет ограниченную функциональность. Для надёжной работы этого метода используйте Chrome или Microsoft Edge с расширением IE Tab.

Если ваш рабочий процесс ориентирован на Firefox, этот метод требует параллельной установки Chrome для задач, связанных с Java, — разумный компромисс для пользователей, которые не могут использовать полноценную виртуальную машину.

Шаг 1: Установите IE Tab в Chrome

Установите IE Tab из Chrome Web Store. Расширение требует установки небольшого компонента хоста нативных сообщений в Windows, который предлагается загрузить при первом использовании. Именно этот компонент фактически вызывает движок IE.

Этот метод работает только в Windows. Движок IE (Trident/mshtml.dll) не существует в macOS или Linux.

Шаг 2: Настройте Java в Internet Explorer

Перед использованием IE Tab убедитесь, что Java правильно настроена в самом IE:

  1. Откройте Internet Explorer (по-прежнему присутствует в Windows 10 как устаревшее приложение).
  2. Перейдите в Сервис > Свойства браузера > Безопасность.
  3. Выберите зону Интернет или Надёжные сайты и нажмите Другой.
  4. Прокрутите до пункта Выполнение сценариев Java-апплетов и установите значение Включить.
  5. Убедитесь, что плагин Java указан и включён в разделе Сервис > Настройка надстроек > Панели инструментов и расширения.

Шаг 3: Загрузите Java-сайт через IE Tab

  1. Перейдите на целевой URL в Chrome.
  2. Нажмите значок IE Tab на панели инструментов (или щёлкните правой кнопкой мыши и выберите Открыть в IE Tab).
  3. Страница перезагрузится внутри движка IE, встроенного во вкладку Chrome.
  4. Java-апплеты должны инициализироваться так же, как в отдельной сессии IE.

Ограничения и частные случаи

  • Особенность Windows 11: Microsoft удалила Internet Explorer из Windows 11 как самостоятельное приложение. Базовый движок mshtml.dll по-прежнему существует для обеспечения совместимости с устаревшим ПО, но его поведение с плагинами Java непоследовательно. Тщательно протестируйте перед использованием в среде Windows 11.
  • Диалоги безопасности Java: Диалоговые окна безопасности Java в IE могут появляться за окном Chrome. Используйте Alt-Tab для их поиска, если апплет зависает.
  • ActiveX и NPAPI: IE использует ActiveX для Java, а не NPAPI. Плагин Java для IE — это отдельный компонент (jp2iexp.dll), отличный от плагина NPAPI для Firefox. Убедитесь, что установлен правильный плагин.

Метод 3: Виртуальная машина с устаревшим браузером

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

Шаг 1: Выберите и установите программное обеспечение для виртуализации

VirtualBox (бесплатный, с открытым исходным кодом, кроссплатформенный) и VMware Workstation Player (бесплатный для личного использования) — два основных варианта.

# Install VirtualBox on Ubuntu/Debian
sudo apt update && sudo apt install virtualbox virtualbox-ext-pack -y

Для хостов Windows загрузите установщик VirtualBox с virtualbox.org и запустите его с настройками по умолчанию.

Шаг 2: Создайте виртуальную машину

Для совместимости с Java-апплетами Windows 7 32-bit или Windows 7 64-bit внутри виртуальной машины обеспечивает наиболее надёжную среду. Windows 7 имеет встроенную поддержку IE 11 и широкую совместимость с плагинами Java. В качестве альтернативы хорошо подойдёт облегчённый дистрибутив Linux с Firefox ESR 52, занимающий меньше места на диске.

Рекомендуемое распределение ресурсов виртуальной машины для данного случая использования:

  • RAM: минимум 2 ГБ (рекомендуется 4 ГБ для Windows 7)
  • Диск: 40 ГБ с динамическим выделением
  • CPU: 2 виртуальных ядра
  • Сеть: NAT (ограничивает сетевой доступ виртуальной машины только исходящими соединениями через хост)

Шаг 3: Установите устаревший браузер и JRE внутри виртуальной машины

Следуйте тем же шагам, что и в Методе 1, но выполняйте их полностью внутри виртуальной машины. Ключевое преимущество: даже если вредоносный Java-апплет использует уязвимость в браузере или JRE, ущерб ограничен снимком виртуальной машины. Вы можете откатиться к чистому снимку за считанные секунды.

Дисциплина создания снимков критически важна. Сделайте чистый снимок сразу после настройки браузера и JRE, до загрузки какого-либо внешнего контента. Дайте ему понятное название:

Snapshot: Clean Java Environment - [date]

Шаг 4: Настройте сеть виртуальной машины по принципу минимальных привилегий

Если Java-приложению нужно взаимодействовать только с определённым внутренним сервером или диапазоном IP, настройте сетевой адаптер виртуальной машины на использование сети Только хост и задайте статический маршрут на хосте. Это предотвратит доступ виртуальной машины к широкому интернету:

# On the host, add a route so the VM can only reach the target server
# Example: VM is on 192.168.56.0/24, target server is 10.0.0.50
sudo ip route add 10.0.0.50/32 via 192.168.56.1

Шаг 5: Получите доступ к Java-контенту

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

Почему этот метод архитектурно превосходит остальные

Запуск устаревшего программного обеспечения в виртуальной машине является стандартной практикой в корпоративных средах для сохранения доступа к устаревшим бизнес-приложениям. Виртуальная машина выступает в роли границы безопасности: хостовая ОС, основной браузер и все остальные приложения остаются незатронутыми независимо от того, что происходит внутри виртуальной машины. Это тот же принцип, который используется в продуктах для изоляции браузера и архитектурах безопасного доступа к сервисам (SASE).

Если вы запускаете серверные Java-приложения, а не браузерные апплеты — например, Java-веб-приложение на VPS, — проблема с плагином для браузера неактуальна. Современные Java-фреймворки для веба (Spring Boot, Quarkus, Micronaut) работают полностью на стороне сервера. Правильно настроенная среда VPS-хостинга справляется с этим без какой-либо зависимости от плагинов браузера.

Альтернативы Java-апплетам, заслуживающие внимания

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

Замещающие технологии по сценариям использования:

  • Интерактивный UI / визуализация данных: JavaScript с Canvas API, WebGL, D3.js или Three.js
  • Коммуникация в реальном времени: WebSockets, WebRTC
  • Высокопроизводительные вычисления в браузере: WebAssembly (WASM) — может выполнять скомпилированный код на C, C++ и Rust с близкой к нативной скоростью
  • Доставка приложений, подобных десктопным: Progressive Web Apps (PWA) или десктопные приложения на основе Electron
  • Серверная логика Java: Предоставьте её как REST или GraphQL API, потребляемый современным фронтендом

Для организаций, запускающих серверные Java-приложения и нуждающихся в надёжном хостинге, Выделенный сервер предоставляет необходимые ресурсы и полный root-доступ для запуска Java-серверов приложений (Tomcat, WildFly, GlassFish) в масштабе без конкуренции за ресурсы.

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

Практическая матрица принятия решений

Используйте этот контрольный список для выбора подходящего метода в вашей ситуации:

Используйте Метод 1 (Firefox ESR 52), если:

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

Используйте Метод 2 (IE Tab / эмулятор IE), если:

  • Вы работаете в Windows 10 с доступным IE
  • Java-приложение является внутренним корпоративным инструментом в доверенной сети
  • Вам нужна максимально простая настройка с минимальными накладными расходами

Используйте Метод 3 (Виртуальная машина), если:

  • Вам нужен регулярный, постоянный доступ к контенту Java-апплетов
  • Безопасность и изоляция являются организационными требованиями
  • Вы хотите иметь возможность создавать снимки и откатывать среду
  • Нескольким пользователям нужна одна и та же среда Java (экспортируйте и распространяйте образ виртуальной машины)

Рассмотрите полный отказ от Java-апплетов, если:

  • Вы контролируете или можете влиять на разработку приложения
  • Приложение ориентировано на клиентов или доступно из интернета
  • Функциональность Java может быть воспроизведена с помощью WebAssembly или современного JavaScript-фреймворка

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

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

FAQ

Могу ли я повторно включить Java в текущей версии Firefox, изменив настройки about:config?

Нет. Не существует флага about:config, скрытой настройки или расширения, которые восстанавливают поддержку плагинов NPAPI в Firefox 53 и более поздних версиях. Подсистема NPAPI была полностью удалена из кодовой базы, а не просто отключена. Единственный способ запустить Java-апплеты в браузере под брендом Firefox — использовать архивную сборку Firefox ESR 52 или более ранней версии.

Какая версия JRE совместима с плагином Java NPAPI для Firefox?

JRE 8 Update 161 (8u161) — последняя широко доступная сборка, включающая плагин NPAPI (npjp2.dll в Windows, libnpjp2.so в Linux). В более поздних выпусках 8u плагин был незаметно удалён. JRE 9, 11 и все последующие LTS-выпуски не включают плагин для браузера вообще.

Безопасно ли запускать Firefox ESR 52 на машине, подключённой к интернету?

Нет. Firefox ESR 52 не получал обновлений безопасности с середины 2018 года и уязвим для сотен задокументированных эксплойтов. Если вы вынуждены его использовать, делайте это на машине за строгим брандмауэром, без общего браузинга, и в идеале с сетевым доступом, ограниченным только конкретным сервером, на котором работает Java-приложение.

Работает ли метод IE Tab в macOS или Linux?

Нет. IE Tab использует движок Windows Internet Explorer (mshtml.dll), который существует только в Windows. В macOS и Linux расширение либо не устанавливается, либо переключается на стандартный движок браузера, не имеющий поддержки Java. Для систем, отличных от Windows, Метод 1 или Метод 3 являются единственными жизнеспособными вариантами.

В чём разница между Java-апплетом и приложением Java Web Start?

Java-апплет запускается встроенным в страницу браузера через плагин NPAPI. Java Web Start (JNLP) запускает самостоятельное Java-приложение по ссылке в браузере без встраивания в страницу — для этого используется лаунчер javaws. Java Web Start также был объявлен устаревшим в JDK 9 и удалён в JDK 11, однако OpenWebStart (реализация с открытым исходным кодом) по-прежнему может запускать JNLP-приложения в современных системах без какой-либо зависимости от плагинов браузера, что делает его более жизнеспособным путём по сравнению с апплетами для доставки устаревших Java-приложений.

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать