Dopo la fase di prontezza dell'applicazione Electron, configura la sessione che la finestra userà 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 }
});

Usa gli import e il ciclo di vita esistenti dell'applicazione. Le richieste di questa finestra usano proxySession; i client Node arbitrari e le altre partizioni non la ereditano. Per la navigazione pubblica consentita, l'elenco di proxy SOCKS5 offre endpoint candidati; scegline uno che non richieda un account SOCKS per il percorso supportato da Chromium.

Per una sessione già usata, decidi cosa fare con le connessioni raggruppate. Electron documenta closeAllConnections() dove altrimenti potrebbe restare una vecchia rotta; richiamarlo può interrompere il lavoro in corso. Un aggiornamento delle impostazioni non sposta i socket esistenti.

Usa resolveProxy sull'URL reale per ispezionare la selezione. Conferma connessione/uscita separatamente, incluse le esclusioni e le sessioni configurate in modo indipendente.

L'implementazione SOCKS5 di Chromium non supporta il metodo di autenticazione SOCKS. I callback di accesso HTTP e una password nell'URL non lo aggiungono. Per un servizio che richiede credenziali, usa una disposizione compatibile documentata invece di rimuovere l'autenticazione da un listener condiviso.

Articoli correlati