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