Kontrolu la observatan eliran IP el Chrome-etendaĵo
Sendu limigitan peton el la deveno de la etendaĵo al kontrolata finpunkto kaj raportu, kion la testo efektive pruvas.
Prokura testo en Chrome-etendaĵo bezonas celon kun antaŭvidebla respondo. Uzu HTTPS-finpunkton, kiun vi kontrolas, ekzemple tian, kiu redonas malgrandan JSON-objekton kun la adreso, kiun ĝi vidas.
Plenumu la peton el etendaĵa kunteksto, ekzemple ĝia service worker aŭ etendaĵa paĝo, kun la finpunkto en la host permissions de la manifest:
"host_permissions": ["https://probe.example/*"]
Gastiga permeso ne donas al content script la samajn transdevenajn rajtojn. Tenu la teston en la etendaĵa kunteksto anstataŭ supozi, ke enigita skripto povas fari la saman peton.
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);
}
}
La gastiga nomo estas anstataŭigilo. La servilo kaj la kliento devas interkonsenti pri la responda formato kaj la kaŝa politiko. Traktu rifuzitajn petojn kaj misformitajn respondojn en la alvokanto de la etendaĵo anstataŭ montri ilin kiel validan eliran adreson.
Nomu la observon precize
Sukcesa rezulto pruvas, ke ĉi tiu peto atingis la finpunkton kaj ricevis la atendatan formon de respondo. Komparu la observatan adreson kun la vojo, kiun vi intencis, tie kie tiu komparo havas sencon. La aŭskulta IP de la agordita prokurilo ne devas esti ĝia publika eliro.
PAC-regulo aŭ preterpasa listo povas sendi la teston rekte, dum alia celo uzas prokurilon. Legado de la prokuraj agordoj donas indicon pri la agordo; la peto donas indicon por ĉi tiu celo. Neniu sola pruvas, ke ĉiu langeto aŭ URL sekvas la saman vojon.
Tenu tempolimon, HTTP-eraron kaj neatenditan korpon aparte en la interfaco. „Ĉi tiu testo malsukcesis“ estas pli utila ol deklari la tutan maŝinon senkonekta post unu peto.