После этапа готовности приложения Electron настройте сеанс, который окно будет действительно использовать:

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 }
});

Используйте существующие импорты и жизненный цикл приложения. Запросы этого окна используют proxySession; произвольные клиенты Node и другие разделы его не наследуют. Для разрешённого публичного просмотра список прокси SOCKS5 предлагает кандидатов в конечные точки; выберите тот, которому не нужна учётная запись SOCKS для поддерживаемого Chromium пути.

Для уже использованного сеанса решите, что делать с объединёнными соединениями. Electron документирует closeAllConnections() там, где старый маршрут иначе мог бы остаться; его вызов может прервать текущую работу. Обновление настроек не перемещает существующие сокеты.

Используйте resolveProxy для фактического URL, чтобы проверить выбор. Подтвердите подключение и выход отдельно, включая обходы и независимо настроенные сеансы.

Реализация SOCKS5 в Chromium не поддерживает метод аутентификации SOCKS. Обратные вызовы входа HTTP и пароль в URL этого не добавляют. Для службы, требующей учётных данных, используйте документированную совместимую схему вместо удаления аутентификации из общего прослушивателя.

Похожие статьи