Проверите уочену излазну IP адресу из Chrome проширења
Пошаљите ограничен захтев из порекла проширења на контролисану крајњу тачку и известите шта провера заиста доказује.
Провера проксија у Chrome проширењу треба одредиште са предвидивим одговором. Користите HTTPS крајњу тачку коју контролишете, попут оне која враћа мали JSON објекат са адресом коју види.
Покрените захтев из контекста проширења, нпр. из његовог service worker-а или странице проширења, са крајњом тачком у host permissions манифеста:
"host_permissions": ["https://probe.example/*"]
Дозвола за хоста не даје content script-у исте привилегије између порекла. Држите проверу у контексту проширења уместо да претпостављате да убачена скрипта може да пошаље исти захтев.
async function probe() {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 5000);
try {
const response = await fetch('https://probe.example/ip', {
cache: 'no-store',
signal: controller.signal,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
if (typeof result.ip !== 'string') throw new Error('Bad probe body');
return result.ip;
} finally {
clearTimeout(timer);
}
}
Назив хоста је резервисано место. Сервер и клијент морају да се договоре о формату одговора и политици кеширања. Обрађујте одбијене захтеве и неисправне одговоре у позиваоцу проширења, а не приказујте их као важећу излазну адресу.
Тачно именујте запажање
Успешан резултат доказује да је овај захтев стигао до крајње тачке и добио очекивани облик одговора. Упоредите уочену адресу са рутом коју сте намеравали, где то поређење има смисла. IP на којем конфигурисани прокси слуша не мора бити његов јавни излаз.
PAC правило или листа заобилажења може послати проверу директно док друго одредиште користи прокси. Читање прокси подешавања даје доказе о конфигурацији; захтев даје доказе за ово одредиште. Ниједно само по себи не доказује да сваки таб или URL следи исту руту.
Држите истек времена, HTTP грешку и неочекивано тело одвојено у интерфејсу. „Ова провера није успела“ корисније је од проглашавања целог рачунара ван мреже након једног захтева.