Po Electron programos pasirengimo etapo sukonfigūruokite sesiją, kurią langas faktiškai naudos:

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

Naudokite esamus programos importus / gyvavimo ciklą. Šio lango užklausos naudoja proxySession; savavališki Node klientai ir kitos skaidinys jo nepaveldi. Leidžiamai viešajai naršymui SOCKS5 tarpinių serverių sąrašas siūlo kandidatinius galinius taškus; pasirinkite tokį, kuriam nereikia SOCKS paskyros Chromium palaikomam keliui.

Jau naudotai sesijai nuspręskite, ką daryti su sutelktomis jungtimis. Electron dokumentuoja closeAllConnections() ten, kur sena trasa kitu atveju galėtų likti; jo iškvietimas gali pertraukti vykdomą darbą. Nustatymų atnaujinimas neperkelia esamų lizdų.

Naudokite resolveProxy tikrajam URL, kad patikrintumėte pasirinkimą. Patvirtinkite ryšį / išėjimą atskirai, įskaitant apėjimus ir savarankiškai sukonfigūruotas sesijas.

Chromium SOCKS5 įgyvendinimas nepalaiko SOCKS autentifikavimo metodo. HTTP prisijungimo atgaliniai iškvietimai ir slaptažodis URL to neprideda. Paslaugai, kuriai reikia prisijungimo duomenų, naudokite dokumentuotą suderinamą išdėstymą, o ne pašalindami autentifikavimą iš bendro klausytuvo.

Susiję straipsniai