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

アプリケーションの既存の import/ライフサイクルを使用してください。このウィンドウのリクエストは proxySession を使用します。任意の Node クライアントや他のパーティションはこれを継承しません。許可された公開ブラウジングには、SOCKS5 プロキシ一覧が候補エンドポイントを提供します。Chromium がサポートする経路で SOCKS アカウントを必要としないものを選んでください。

既に使用したセッションでは、プールされた接続をどうするか決めてください。Electron は closeAllConnections() を文書化しており、古い経路がそのまま残る可能性があります。これを呼び出すと進行中の作業が中断されることがあります。設定の更新は既存のソケットを移動しません。

実際の URL に対して resolveProxy を使用して選択を確認してください。接続/出口は別々に確認し、バイパスや独立して設定されたセッションも含めてください。

Chromium の SOCKS5 実装には SOCKS 認証方式のサポートがありません。HTTP ログインのコールバックや URL 内のパスワードはこれを追加しません。認証情報を必要とするサービスでは、共有リスナーから認証を外すのではなく、文書化された互換性のある構成を使用してください。

関連記事