Настройка прокси SOCKS5 для одного сеанса Electron
Настройте выделенный сеанс Electron до создания его окна и учтите повторно используемые соединения и ограничения аутентификации SOCKS.
После этапа готовности приложения 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 этого не добавляют. Для службы, требующей учётных данных, используйте документированную совместимую схему вместо удаления аутентификации из общего прослушивателя.