Configurar um proxy SOCKS5 para uma sessão do Electron
Configure uma sessão dedicada do Electron antes de criar a sua janela e considere as conexões reutilizadas e as limitações da autenticação SOCKS.
Depois da fase de prontidão da aplicação Electron, configure a sessão que a janela vai realmente usar:
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 }
});Use as importações/ciclo de vida existentes da aplicação. Os pedidos desta janela usam proxySession; clientes Node arbitrários e outras partições não a herdam. Para a navegação pública permitida, a lista de proxies SOCKS5 oferece pontos finais candidatos; escolha um que não exija uma conta SOCKS para o caminho suportado pelo Chromium.
Para uma sessão já usada, decida o que fazer com as conexões agrupadas. O Electron documenta closeAllConnections() onde uma rota antiga poderia permanecer; invocá-lo pode interromper trabalho em curso. Uma atualização de definições não move os soquetes existentes.
Use resolveProxy no URL real para inspecionar a seleção. Confirme a ligação/saída separadamente, incluindo desvios e sessões configuradas de forma independente.
A implementação SOCKS5 do Chromium não suporta o método de autenticação SOCKS. Callbacks de início de sessão HTTP e uma palavra-passe no URL não o acrescentam. Para um serviço que exija credenciais, use uma disposição compatível documentada em vez de remover a autenticação de um listener partilhado.