I-configure ang SOCKS5 Proxy para sa Isang Session ng Electron
I-configure ang dedikadong session ng Electron bago gawin ang window nito at isaalang-alang ang mga muling ginamit na koneksyon at limitasyon ng pagpapatotoo ng SOCKS.
Pagkatapos ng yugto ng pagiging handa ng aplikasyong Electron, i-configure ang session na aktwal na gagamitin ng window:
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 }
});Gamitin ang umiiral na import/cycle ng buhay ng aplikasyon. Ginagamit ng mga kahilingan ng window na ito ang proxySession; hindi ito namamana ng mga arbitraryong kliyenteng Node at iba pang partisyon. Para sa pinapayagang pampublikong pag-browse, nag-aalok ang listahan ng proxy ng SOCKS5 ng mga kandidatong endpoint; pumili ng isa na hindi nangangailangan ng account sa SOCKS para sa sinusuportahang landas ng Chromium.
Para sa session na nagamit na, magpasya kung ano ang gagawin sa mga pinagsama-samang koneksyon. Idinodokumento ng Electron ang closeAllConnections() kung saan maaaring manatili ang lumang ruta kung hindi; ang pagtawag dito ay maaaring makagambala sa kasalukuyang gawain. Hindi ginagalaw ng update ng mga setting ang mga umiiral na socket.
Gamitin ang resolveProxy sa aktwal na URL upang suriin ang pagpili. Kumpirmahin nang hiwalay ang koneksyon/paglabas, kabilang ang mga bypass at mga session na naka-configure nang independiyente.
Ang implementasyon ng SOCKS5 ng Chromium ay walang suporta sa paraan ng pagpapatotoo ng SOCKS. Ang mga callback ng pag-login sa HTTP at ang password sa URL ay hindi ito nagdaragdag. Para sa serbisyong nangangailangan ng kredensyal, gumamit ng dokumentadong tugmang kaayusan sa halip na alisin ang pagpapatotoo mula sa pinagsasaluhang listener.