Spec-Zone.ru › Web Extensions

прокси

Используйте API прокси, чтобы проксировать веб-запросы. Вы можете использовать обработчик событий proxy.onRequest, чтобы перехватывать веб-запросы и возвращать объект, описывающий, нужно ли и как их проксировать.

Преимущество подхода с использованием proxy.onRequest заключается в том, что код, реализующий вашу политику проксирования, выполняется в фоновом скрипте вашего расширения, поэтому он получает полный доступ к API WebExtension, доступным вашему расширению (включая, например, доступ к хранилищу вашего расширения storage и сетевым API, таким как dns).

Помимо этого API, расширения также могут использовать свойство browserSettings.proxyConfig для настройки глобальных настроек прокси.

Google Chrome предоставляет API расширений, также называемый "proxy", функционально похожий на этот API, так как расширения могут использовать его для реализации политики проксирования. Однако дизайн API Chrome полностью отличается от этого API. Поскольку этот API несовместим с API Chrome proxy , этот API доступен только через пространство имён browser.

Для использования этого API вам необходимо разрешение "proxy" разрешение. Кроме того, там, где вы хотите перехватывать запросы, вам также нужно разрешение на хосты разрешение на хосты для URL-адресов перехваченных запросов.

Примечание: Разрешение "proxy" требует, чтобы "strict_min_version" было установлено на "91.1.0" или выше. Чтобы использовать это разрешение, добавьте или обновите ключ "browser_specific_settings" в вашем файле manifest.json, чтобы указать минимальную версию Firefox. Более подробную информацию см. в статье Обеспечение безопасности API прокси для дополнений Firefox.

Примечание: Браузер может выполнять спекулятивные подключения, где он определяет, что запрос к URI может появиться вскоре. Такой тип подключения не предоставляет действительной информации о вкладке, поэтому такие сведения о запросе, как tabId, frameId, parentFrameId, и т. д., являются неточными. У этих подключений есть webRequest.ResourceType типа speculative.

Типы

proxy.ProxyInfo

Описывает прокси-сервер.

proxy.RequestDetails

Содержит информацию о веб-запросе, который браузер собирается выполнить.

Свойства

proxy.settings

Получение и установка настроек прокси.

Функции

Предупреждение: Не следует использовать эти методы (proxy.register() или proxy.unregister()) для регистрации и удаления расширенного файла автоконфигурации прокси (PAC). Они были устаревшими в Firefox 68 и удалены в Firefox 71.

proxy.register() Устаревший

Регистрирует указанный скрипт прокси.

proxy.unregister() Устаревший

Отменяет регистрацию скрипта прокси.

События

proxy.onError

Срабатывает, когда система сталкивается с ошибкой при выполнении скрипта PAC или обработчика событий onRequest.

proxy.onRequest

Срабатывает, когда собирается быть выполнен веб-запрос, предоставляя расширению возможность его проксирования.

Примеры расширений

  • proxy-blocker

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
ProxyInfo Нет Нет 60 ? Нет Нет ? ? 60 ? Нет ?
RequestDetails Нет Нет 60 ? Нет Нет ? ? 60 ? Нет ?
onError Нет Нет 6055–71 ? Нет Нет ? ? 6055 ? Нет ?
onRequest Нет Нет
60До версии 78, свойства фильтра tabId и windowId игнорируются.
? Нет Нет ? ? 60 ? Нет ?
register Нет Нет 56–7155–71 ? Нет Нет ? ? 56–7955–79 ? Нет ?
settings Нет Нет
60Начиная с версии 88, настройка ftp не имеет эффекта, поскольку FTP больше не поддерживается (см. баг 1626365).
? Нет Нет ? ? Нет ? Нет ?
unregister Нет Нет 56–71 ? Нет Нет ? ? 56–79 ? Нет ?

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API