Después de la etapa de preparación de la aplicación de Electron, configure la sesión que la ventana usará realmente:

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 las importaciones y el ciclo de vida existentes de la aplicación. Las solicitudes de esta ventana usan proxySession; los clientes Node arbitrarios y otras particiones no lo heredan. Para la navegación pública permitida, la lista de proxies SOCKS5 ofrece puntos de conexión candidatos; elija uno que no requiera una cuenta SOCKS para la ruta compatible de Chromium.

Para una sesión ya usada, decida qué hacer con las conexiones agrupadas. Electron documenta closeAllConnections() donde de otro modo podría permanecer una ruta antigua; invocarlo puede interrumpir trabajo en curso. Una actualización de ajustes no mueve los sockets existentes.

Use resolveProxy para la URL real para inspeccionar la selección. Confirme la conexión/salida por separado, incluidas las omisiones y las sesiones configuradas de forma independiente.

La implementación de SOCKS5 de Chromium carece de soporte para el método de autenticación SOCKS. Las devoluciones de llamada de inicio de sesión HTTP y una contraseña en la URL no lo añaden. Para un servicio que requiera credenciales, use una disposición compatible documentada en lugar de quitar la autenticación de un escucha compartido.

Artículos relacionados