単一の Electron セッション用に SOCKS5 プロキシを設定する
ウィンドウを作成する前に専用の 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 }
});アプリケーションの既存の import/ライフサイクルを使用してください。このウィンドウのリクエストは proxySession を使用します。任意の Node クライアントや他のパーティションはこれを継承しません。許可された公開ブラウジングには、SOCKS5 プロキシ一覧が候補エンドポイントを提供します。Chromium がサポートする経路で SOCKS アカウントを必要としないものを選んでください。
既に使用したセッションでは、プールされた接続をどうするか決めてください。Electron は closeAllConnections() を文書化しており、古い経路がそのまま残る可能性があります。これを呼び出すと進行中の作業が中断されることがあります。設定の更新は既存のソケットを移動しません。
実際の URL に対して resolveProxy を使用して選択を確認してください。接続/出口は別々に確認し、バイパスや独立して設定されたセッションも含めてください。
Chromium の SOCKS5 実装には SOCKS 認証方式のサポートがありません。HTTP ログインのコールバックや URL 内のパスワードはこれを追加しません。認証情報を必要とするサービスでは、共有リスナーから認証を外すのではなく、文書化された互換性のある構成を使用してください。