Eng Proxy-Préifung an enger Chrome-Erweiderung brauch en Zil mat enger viraussobarer Äntwert. Benotz en HTTPS-Endpunkt, deen s du kontrolléiers, zum Beispill een, deen en klengt JSON-Objekt mat der Adress zréckschéckt, déi hien gesäit.

Setz d'Ufro aus engem Erweiderungskontext of, zum Beispill hirem Service Worker oder enger Erweiderungssäit, mam Endpunkt an den Host-Berechtegungen vum Manifest:

"host_permissions": ["https://probe.example/*"]

Eng Host-Berechtegung gëtt engem Content-Skript net déi selwecht Rechter iwwer Urspréng. Halt d'Préifung am Erweiderungskontext, amplaz unzehuelen, en injizéierte Skript kéint déiselwecht Ufro maachen.

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);
  }
}

Den Hostnumm ass en Platzhalter. De Server an de Client mussen sech iwwer d'Äntwertsformat an d'Cache-Politik eens ginn. Behandel verworf Ufroen a feelerhaft Äntwerten am Opruffer vun der Erweiderung, amplaz se als gülteg Ausgangsadress ze weisen.

Nenn d'Observatioun prezis

En erfollegräicht Resultat bewierkt, datt dës Ufro den Endpunkt erreecht huet an déi erwaart Form vun Äntwert krut. Vergläich déi observéiert Adress mat der Streck, déi s du virgesinn hues, wou dee Verglach sënnvoll ass. D'Lausch-IP vum konfiguréierte Proxy muss net säin ëffentlechen Ausgang sinn.

Eng PAC-Reegel oder eng Ëmgehungslescht kann d'Préifung direkt schécken, während en anert Zil e Proxy benotzt. D'Liese vun de Proxy-Astellunge liwwert Konfiguratiounsbeweiser; d'Ufro liwwert Beweiser fir dëst Zil. Keng vun deenen zwee eleng bewierkt, datt all Tab oder URL déiselwecht Streck suivéiert.

Halt en Timeout, en HTTP-Fehler an en onerwaarte Kierper an der Interface getrennt. „Dës Préifung huet versot“ ass nëtzlecher wéi no enger eenzeger Ufro de ganze Rechner als offline ze erklären.

Ähnlech Artikelen