Почему несколько VPN-расширений не могут работать одновременно на Manifest V3

Время чтения - 2 мин, 19 сек.
21 дек 2024
Дата
Безопасность в Manifest V3 стала намного серьезнее
Безопасность в Manifest V3 стала намного серьезнее

В Manifest V3 (MV3) введены существенные изменения, которые влияют на работу расширений, включая VPN-расширения. Основная причина, по которой несколько VPN-расширений не могут работать одновременно, связана с ограничениями, введенными в MV3, а также с особенностями работы сетевых запросов в Chrome.

Основные причины

Ограничения на webRequest и webRequestBlocking:

В Manifest V2 расширения могли использовать webRequest и webRequestBlocking для перехвата и изменения сетевых запросов. Это позволяло VPN-расширениям перехватывать весь трафик и направлять его через VPN.

В Manifest V3 использование webRequestBlocking было ограничено, а впоследствии полностью удалено. Вместо этого рекомендуется использовать Service Workers, которые работают асинхронно и не поддерживают блокировку запросов.

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

Service Workers:

В MV3 расширения используют Service Workers для выполнения фоновой работы. Однако Service Workers работают в однопоточном режиме и не могут блокировать запросы, как это делалось в MV2.

Это ограничивает возможность одновременного использования нескольких VPN-расширений, так как они не могут конкурировать за управление сетевым трафиком.

Ограничение на одно VPN-расширение:

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

В MV3 это ограничение стало еще более строгим из-за отсутствия синхронной блокировки запросов.

Политика безопасности:

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

Конкуренция за сетевой трафик:

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

Как это можно обойти?

К сожалению, в текущей реализации Manifest V3 нет способа обойти это ограничение. Однако есть несколько альтернативных подходов:

Использование внешних VPN:

Вместо VPN-расширений в браузере можно использовать внешние VPN-клиенты (например, OpenVPN, NordVPN, ExpressVPN и т.д.), которые работают на уровне операционной системы и не зависят от ограничений Chrome.

Использование расширений на основе Manifest V2:

Если вам нужно использовать несколько VPN-расширений, вы можете попробовать расширения, которые все еще работают на Manifest V2. Однако имейте в виду, что Google постепенно отказывается от поддержки MV2, и в будущем эти расширения могут перестать работать.

Разработка собственного решения:

Если вам нужно использовать несколько VPN-расширений, вы можете разработать собственное решение на основе Manifest V2 или использовать сторонние инструменты, такие как Proxy Server или SOCKS5.

Заключение

Ограничения Manifest V3 делают невозможным одновременную работу нескольких VPN-расширений в Chrome. Это связано с изменениями в архитектуре расширений, включая отказ от синхронной блокировки запросов и введение Service Workers. Если вам нужно использовать несколько VPN-решений, лучше использовать внешние VPN-клиенты или расширения на основе Manifest V2 (если они доступны).

128
Что надо знать про Cookie файлы с флагом HttpOnly
Программирование
Несмотря на то, что файлы cookie HttpOnly не могут быть прочитаны с помощью JavaScript, все же можно перезаписать файлы cookie HttpOnly с помощью JavaScript.
Январь 2024
683
Как настроить удаленный доступ к базе данных MySQL 8 на Linux Ubunty
Программирование
Настройка VPS или VDS дело не совсем простое. Поэтому записываю этот мануал чтобы вы поняли как настроить удаленный доступ к базе данных Mysql версии 8.
Январь 2024
872
Bash скрипт для проверки публичных репозиториев Github и уведомления о них
Программирование
В этом руководстве мы покажем shell скрипт, который проверяет наличие всех публичных репозиториев под учетной записью GitHub и отправляет уведомление по электронной почте.
Октябрь 2022
818
DDoS атака с помощью Torshammer
Программирование
Проведение DDoS-атак на веб-сайты является уголовным преступлением, запрещенным законом во всем мире. Но в качестве образовательных целей мы рассмотрим процесс атаки.
Октябрь 2022
470
Записать данные в сессию php
Программирование
Записать данные в сессию на php так же легко, как записать данные в файл или cookie, однако надо знать как создавать сессионные переменные и присваивать им значение.
Сентябрь 2019
1216