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

Падобныя артыкулы