proxy-chain: hvør sín kontur og upstream fyri hvønn listener
Ger proxy-chain Server-tilførslur við listener-serligum Basic-kontum og upstream-rútum gjøgnum prepareRequestFunction.
proxy-chain kann køra eina Server-tilførslu fyri hvønn lurtaðarport. Goym politikkin hjá tí listenerinum í autentiseringar-callbackini:
import { Server } from 'proxy-chain';
const listeners = [
{ port: 8001, user: userA, password: passwordA, upstream: upstreamA },
{ port: 8002, user: userB, password: passwordB, upstream: upstreamB },
];
const servers = listeners.map(rule => new Server({
host: '127.0.0.1',
port: rule.port,
prepareRequestFunction: ({ username, password }) => ({
requestAuthentication:
username !== rule.user || password !== rule.password,
upstreamProxyUrl: rule.upstream,
}),
}));
await Promise.all(servers.map(server => server.listen()));
Forritið veitir kontuvirðini og upstream-URL'irnar gjøgnum vanligu uppseting sína. Hvør callback heldur sínum egna regli, so at góðtaka kontuna á porti 8001 góðtekur ikki ta kontuna á porti 8002.
requestAuthentication true gevur eina Basic-proxy avbjóðing aftur. Tá autentisering er kravd, verður upstreamProxyUrl ikki tikið við fyri ta beiðnina. Ein góðtikin innkomandi konto og upstream-kontan eru hvør sín samleiki.
Brúka eina stuðlaða URL fyri hvønn upstream, eisini rætt koddaðar samstavantur tá tað er kravt. Fyri ein almennan HTTP-upstream uttan autentisering, vel ein valmøguleika úr HTTP-proxy listanum og bygg hansara URL uttan samstavantur. Ein útgloymdur upstream velur beinleiðis framsending í staðin fyri annan sjálvvirkandi proxy.
Dømið bindur loopback fyri lokalar klientar. Bind ta ætlaðu grensesnið við vilja, tá ein onnur maskina skal seta samband, við samsvarandi atgongupolitikki.
Halt tænararnar livandi fyri arbeiðsbyrðuna hjá klientunum. Eigarin teirra eigur at lata hvønn tænara aftur við stuðlaða latiaðferðini, tá sløkt verður; dømið ásetur ikki fulla lívsferð hjá tí forritinum.