Konfigurer en SOCKS5-proxy til én Electron-session
Konfigurer en dedikeret Electron-session, før du opretter dens vindue, og tag højde for genbrugte forbindelser og begrænsninger i SOCKS-godkendelse.
Efter Electrons applikationsklar-fase konfigurerer du den session, som vinduet faktisk skal bruge:
const proxySession = session.fromPartition('persist:proxy-work');
await proxySession.setProxy({
mode: 'fixed_servers',
proxyRules: 'socks5://127.0.0.1:1080'
});
const window = new BrowserWindow({
webPreferences: { session: proxySession }
});Brug applikationens eksisterende imports/livscyklus. Dette vindues anmodninger bruger proxySession; vilkårlige Node-klienter og andre partitioner arver den ikke. Til tilladt offentlig browsing tilbyder SOCKS5-proxylisten kandidat-endpoints; vælg en, der ikke kræver en SOCKS-konto til Chromiums understøttede vej.
For en allerede brugt session skal du beslutte, hvad der skal ske med puljede forbindelser. Electron dokumenterer closeAllConnections(), hvor en gammel rute ellers kunne blive hængende; kald af den kan afbryde igangværende arbejde. En opdatering af indstillinger flytter ikke eksisterende sockets.
Brug resolveProxy på den faktiske URL for at undersøge valget. Bekræft forbindelse/udgang separat, inklusive bypasses og uafhængigt konfigurerede sessioner.
Chromiums SOCKS5-implementering mangler understøttelse af SOCKS-godkendelsesmetode. HTTP-login-callbacks og en adgangskode i URL'en tilføjer det ikke. Til en tjeneste, der kræver legitimationsoplysninger, skal du bruge en dokumenteret kompatibel ordning i stedet for at fjerne godkendelse fra en delt listener.