Configurer un proxy SOCKS5 pour une session Electron
Configurez une session Electron dédiée avant de créer sa fenêtre et tenez compte des connexions réutilisées et des limites de l'authentification SOCKS.
Après l'étape de préparation de l'application Electron, configurez la session que la fenêtre utilisera réellement :
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 }
});Utilisez les imports et le cycle de vie existants de l'application. Les requêtes de cette fenêtre utilisent proxySession ; les clients Node arbitraires et les autres partitions n'en héritent pas. Pour une navigation publique autorisée, la liste de proxys SOCKS5 propose des points de terminaison candidats ; choisissez-en un ne nécessitant aucun compte SOCKS pour le chemin pris en charge par Chromium.
Pour une session déjà utilisée, décidez du sort des connexions mutualisées. Electron documente closeAllConnections() là où une ancienne route pourrait sinon subsister ; l'appeler peut interrompre un travail en cours. Une mise à jour des paramètres ne déplace pas les sockets existantes.
Utilisez resolveProxy pour l'URL réelle afin d'inspecter la sélection. Confirmez séparément la connexion et la sortie, y compris les contournements et les sessions configurées indépendamment.
L'implémentation SOCKS5 de Chromium ne prend pas en charge la méthode d'authentification SOCKS. Les rappels de connexion HTTP et un mot de passe dans l'URL ne l'ajoutent pas. Pour un service exigeant des identifiants, utilisez un agencement compatible documenté plutôt que de retirer l'authentification d'un écouteur partagé.