Konfigurowanie proxy SOCKS5 dla jednej sesji Electron
Skonfiguruj dedykowaną sesję Electron przed utworzeniem jej okna i uwzględnij ponownie używane połączenia oraz ograniczenia uwierzytelniania SOCKS.
Po etapie gotowości aplikacji Electron skonfiguruj sesję, której okno będzie faktycznie używać:
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 }
});Użyj istniejących importów/cyklu życia aplikacji. Żądania tego okna używają proxySession; dowolne klienty Node i inne partycje go nie dziedziczą. Do dozwolonego przeglądania publicznego lista proxy SOCKS5 oferuje kandydujące punkty końcowe; wybierz taki, który nie wymaga konta SOCKS dla obsługiwanej ścieżki Chromium.
W przypadku już używanej sesji zdecyduj, co zrobić z połączeniami w puli. Electron dokumentuje closeAllConnections() tam, gdzie stara trasa mogłaby w przeciwnym razie pozostać; jego wywołanie może przerwać bieżącą pracę. Aktualizacja ustawień nie przenosi istniejących gniazd.
Użyj resolveProxy dla rzeczywistego adresu URL, aby sprawdzić wybór. Potwierdź połączenie/wyjście osobno, w tym obejścia i niezależnie skonfigurowane sesje.
Implementacja SOCKS5 w Chromium nie obsługuje metody uwierzytelniania SOCKS. Wywołania zwrotne logowania HTTP i hasło w adresie URL tego nie dodają. W przypadku usługi wymagającej poświadczeń użyj udokumentowanego zgodnego układu, zamiast usuwać uwierzytelnianie ze współdzielonego nasłuchiwacza.