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 սխալը և անսպասելի մարմինը։ «Այս ստուգումը ձախողվեց»-ն ավելի օգտակար է, քան մեկ հարցումից հետո ամբողջ մեքենան անցանց հայտարարելը։

Առնչվող հոդվածներ