Ein proxy-test i ei Chrome-utviding treng eit mål med eit føreseieleg svar. Bruk eit HTTPS-endepunkt du kontrollerer, til dømes eitt som returnerer eit lite JSON-objekt med adressa det ser.

Køyr førespurnaden frå ein utvidingskontekst, til dømes service worker-en eller ei utvidingsside, med endepunktet i host permissions i manifestet:

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

Ei vertsløyve gir ikkje eit content script dei same rettane på tvers av opphav. Hald testen i utvidingskonteksten i staden for å gå ut frå at eit injisert skript kan senda den same førespurnaden.

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

Vertnamnet er ein plasshaldar. Tenaren og klienten må bli samde om svarformatet og hurtigbufferpolitikken. Handsame avviste førespurnader og feilaktige svar i kallaren til utvidinga i staden for å visa dei som ei gyldig utgåande adresse.

Namngi observasjonen presist

Eit vellukka resultat provar at denne førespurnaden nådde endepunktet og fekk den venta forma for svar. Samanlikn den observerte adressa med ruta du hadde til hensikt, der samanlikninga er meiningsfull. Lyttar-IP-en til den konfigurerte proxyen treng ikkje vera den offentlege utgangen hans.

Ein PAC-regel eller ei unntaksliste kan senda testen direkte medan eit anna mål brukar ein proxy. Å lesa proxyinnstillingane gir konfigurasjonsprov; førespurnaden gir prov for dette målet. Ingen av dei åleine provar at kvar fane eller URL følgjer same rute.

Hald tidsavbrot, HTTP-feil og ein uventa kropp skilde i grensesnittet. «Denne testen mislukkast» er nyttigare enn å erklæra heile maskina fråkopla etter éin førespurnad.

Relaterte artiklar