Chrome кеңейтіміндегі прокси тексерісіне болжамды жауабы бар мақсат керек. Өзіңіз бақылайтын HTTPS соңғы нүктесін пайдаланыңыз, мысалы өзі көрген мекенжайы бар шағын JSON нысанын қайтаратын нүктені.

Сұранысты кеңейтім контекстінен, мысалы оның service worker-інен немесе кеңейтім бетінен орындап, соңғы нүктені manifest-тің 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 қатесін және күтілмеген денені бөлек ұстаңыз. Бір сұраныстан кейін бүкіл машинаны офлайн деп жариялағаннан гөрі «бұл тексеріс сәтсіз аяқталды» деген пайдалырақ.

Қатысты мақалалар