Как перехватить запросы других расширений с помощью API расширения Chrome?

1

Мой код такой, но не может перехватывать запросы из других расширений (например, Postman):

chrome.webRequest.onBeforeRequest.addListener(
  function(details){
    console.log(details.method + " ====== "+ details.url + " ====== " + details.timeStamp);
    console.log("---requestbody----: " + details.requestBody);
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);
  • 2
    Кстати, вы, вероятно, можете использовать chrome.debugger API и ключ командной строки --silent-debugger-extension-api, чтобы присоединиться к фоновой странице этого другого расширения и перехватить практически все.
Теги:
google-chrome
request
google-chrome-extension

2 ответа

1
Лучший ответ

Действительно, этот код не будет.

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

Раньше это было возможно, но это было признано ошибкой безопасности и исправлено.

Невозможно переопределить это.

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

0

Вы не можете перехватывать другие запросы на расширение, но то, что вы можете сделать, это получить, а затем изменить расширение, которое вы хотите перехватить, и добавить внешние сообщения между этими двумя расширениями.

Получение источника и его изменение

  1. Установите средство просмотра источника расширения Chrome.
  2. Перейдите на страницу в Интернет-магазине Chrome расширения, которое вы хотите изменить.
  3. Нажмите желтую кнопку CRX и выберите "Загрузить" (снимок экрана).
  4. Извлеките zip файл.
  5. Прочитайте исходный код и измените то, что нужно изменить (в вашем конкретном случае я быстро определил, что вы хотите изменить edit config.js и изменить свойство "channel"). Сохраните изменения.

Или Скопируйте папку расширения, которое вы хотите изменить. (Именованный в соответствии с идентификатором расширения, чтобы найти идентификатор расширения, перейдите к chrome://extensions/). После копирования вы должны удалить папку _metadata.

Использование модифицированной версии расширения.

  1. Перейдите на страницу расширения Chrome (chrome://extensions/).
  2. Включите режим разработчика, установив флажок в правом верхнем углу.
  3. Нажмите кнопку "Загрузить распакованное расширение".
  4. Выберите папку своего расширения (чтобы узнать, какая папка верна, проверьте, содержит ли папка файл manifest.json).
  5. Подтвердить. Все готово.

Если вы не ошиблись ни на одном из этих шагов (включая изменение исходного кода), модифицированное расширение должно работать так, как предполагалось.

Источник: Как изменить расширение из Интернет-магазина Chrome?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню