SOCKS5-Proxy für eine Electron-Sitzung konfigurieren
Konfigurieren Sie eine dedizierte Electron-Sitzung, bevor Sie ihr Fenster erstellen, und berücksichtigen Sie wiederverwendete Verbindungen sowie Einschränkungen der SOCKS-Authentifizierung.
Konfigurieren Sie nach der Anwendungsbereitschaftsphase von Electron die Sitzung, die das Fenster tatsächlich verwendet:
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 }
});Nutzen Sie die vorhandenen Imports und den Lebenszyklus der Anwendung. Die Anfragen dieses Fensters verwenden proxySession; beliebige Node-Clients und andere Partitionen erben sie nicht. Für erlaubtes öffentliches Surfen bietet die SOCKS5-Proxy-Liste Kandidaten-Endpunkte; wählen Sie einen, der kein SOCKS-Konto für den von Chromium unterstützten Weg erfordert.
Bei einer bereits verwendeten Sitzung entscheiden Sie, was mit gepoolten Verbindungen geschehen soll. Electron dokumentiert closeAllConnections() dort, wo eine alte Route sonst bestehen bleiben könnte; der Aufruf kann laufende Arbeit unterbrechen. Eine Einstellungsaktualisierung verschiebt bestehende Sockets nicht.
Verwenden Sie resolveProxy für die tatsächliche URL, um die Auswahl zu prüfen. Bestätigen Sie Verbindung/Austritt getrennt, einschließlich Umgehungen und unabhängig konfigurierter Sitzungen.
Chromiums SOCKS5-Implementierung unterstützt keine SOCKS-Authentifizierungsmethode. HTTP-Login-Callbacks und ein Passwort in der URL ergänzen das nicht. Für einen Dienst, der Anmeldedaten verlangt, nutzen Sie eine dokumentierte kompatible Anordnung, statt die Authentifizierung von einem gemeinsam genutzten Listener zu entfernen.