Як увімкнути 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
Oracle JRE 8 Update 161 був останньою збіркою, що постачалася з плагіном браузера 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
- Відкрийте Firefox ESR 52 і введіть
about:addonsв адресному рядку. - Натисніть Плагіни на лівій бічній панелі.
- Знайдіть Java(TM) Platform SE (або подібне).
- Встановіть у спадному меню значення Завжди вмикати.
Якщо плагін не відображається, 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 року. Ніколи не використовуйте його як браузер загального призначення. Ніколи не зберігайте в ньому паролі, файли cookie або токени сесій. Ставтеся до нього як до інструменту для конкретного застосунку, і по можливості запускайте його на машині, що не має доступу до відкритого інтернету.
Метод 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:
- Відкрийте Internet Explorer (досі присутній у Windows 10 як застарілий застосунок).
- Перейдіть до Сервіс > Властивості браузера > Безпека.
- Виберіть зону Інтернет або Надійні сайти і натисніть Інший рівень.
- Прокрутіть до Виконання сценаріїв аплетів Java і встановіть значення Увімкнути.
- Переконайтеся, що плагін Java вказано та увімкнено в розділі Сервіс > Керування надбудовами > Панелі інструментів і розширення.
Крок 3: Завантаження сайту з Java через IE Tab
- Перейдіть до цільової URL-адреси в Chrome.
- Натисніть значок IE Tab на панелі інструментів (або клацніть правою кнопкою миші та виберіть Відкрити в IE Tab).
- Сторінка перезавантажиться всередині рушія IE, вбудованого у вкладку Chrome.
- 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 GB (рекомендовано 4 GB для Windows 7)
- Диск: 40 GB з динамічним виділенням
- CPU: 2 віртуальних ядра
- Мережа: NAT (обмежує мережевий доступ віртуальної машини лише вихідним трафіком через хост)
Крок 3: Встановлення застарілого браузера та JRE всередині віртуальної машини
Виконайте ті самі кроки, що й у Методі 1, але повністю всередині віртуальної машини. Ключова перевага: навіть якщо шкідливий Java-аплет використає вразливість у браузері або JRE, збиток буде обмежений знімком стану віртуальної машини. Ви можете повернутися до чистого знімка за лічені секунди.
Дисципліна роботи зі знімками є критично важливою. Зробіть чистий знімок одразу після налаштування браузера та JRE, до завантаження будь-якого зовнішнього вмісту. Назвіть його чітко:
Snapshot: Clean Java Environment - [date]Крок 4: Налаштування мережі віртуальної машини за принципом мінімальних привілеїв
Якщо Java-застосунку потрібно спілкуватися лише з конкретним внутрішнім сервером або діапазоном IP, налаштуйте мережевий адаптер віртуальної машини на використання мережі Host-Only і встановіть статичний маршрут на хості. Це запобігає доступу віртуальної машини до ширшого інтернету:
# 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 (PWAs) або десктопні застосунки на основі 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-застосунків.
