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.

Powiązane artykuły