Чисто гипотетически, мне ни что ни мешает создать правило, где для всех исходящих запросов добавляется заголовок:
Proxy-Authorization: Basic {мой логин:пароль в base64 кодировке}
Задействовать для этого планирую
declarativeNetRequest который можно использовать с
Manifest V3, что для меня важно.
Я попробовал написать тестовое расширение. Мой файл
mainifest.json следующий:
{
"name" : "Тест",
"manifest_version" : 3,
"version" : "1",
"description" : "Тестовое расширение",
"permissions" : [ "declarativeNetRequest" ],
"host_permissions": [ "*://*/*" ],
"declarative_net_request": {
"rule_resources": [{
"id": "ruleset_1",
"enabled": true,
"path": "rules.json"
}]
}
}
В файле
rules,json добавил нужное мне правило:
[
{
"id": 1,
"priority": 2,
"action": {
"type": "modifyHeaders",
"requestHeaders": [
{ "header": "Proxy-Authorization", "operation": "set", "value": "Basic ajHJjdkjHdsdkjsd" }
]
},
"condition": { "urlFilter": "*", "resourceTypes": [ "main_frame", "sub_frame", "stylesheet", "script", "image", "font", "object", "xmlhttprequest", "ping", "csp_report", "media", "websocket", "webtransport", "webbundle", "other" ] }
}
]
Установил расширение, зашел на свой сайт, вижу в консоли, что заголовок успешно уходит. Казалось бы успех, но не все так просто. Если через воркер расширения установить в браузере http-прокси, то для прокси заголовок
Proxy-Authorization тупо не отсылается! В итоге, вылезает это бесящее окно аунтефикации.
Как мне заставить браузер отсылать данный заголовок в том числе и при запросах через прокси?
Мне кажется, проблема либо в моем файле с правилом, возможно я как-то не правильно указываю
condition и в итоге правило охватывает не все типы запросов, либо я в манифесте не правильно указываю
host_permissions из-за чего опять же правило не может отработать при запросах через прокси. К сожалению, я не знаю что дальше делать, перепробовал уже почти все варианты решения проблемы, которые мне пришли в голову. Подскажите решение, кто знает.