文書化されている libtorrent 2.1 の設定インターフェースでは、複数の旧来の set_proxy メソッドを組み合わせるのではなく、settings_pack でセッションを構成します。

設定目的
proxy_typeサポートされているプロキシプロトコルを選択する
proxy_hostname, proxy_port仲介者を選択する
proxy_username, proxy_password必要に応じてそのアカウントを指定する
proxy_peer_connectionsWeb シードを含むピアのペイロード接続を経由させる
proxy_tracker_connectionsトラッカー接続を経由させる
proxy_hostnamesサポートされているプロキシで宛先名を解決する

パックを埋めて、セッションの apply_settings インターフェースから適用します。ホスト名プロキシについては、リファレンスに SOCKS5 と HTTP のサポートが記載されています。選択したプロトコルがアプリケーションに必要な通信に合うか確認します。公開 SOCKS5 エンドポイントを選ぶときは、SOCKS5 プロキシリストを出発点にし、そのエンドポイントが実際にどのピア接続とトラッカー接続を許可するかを把握します。

force_proxy に関する古い助言はバージョン固有です。プロジェクトの 1.2 変更履歴は、設定済みのプロキシが対象通信に常に使われるため、この設定を非推奨にしました。古いバインディング例に含まれていることは、現在の要件を裏付けません。

接続とトラッカーの失敗は、アプリケーションのアラート処理で監視します。ピア、トラッカー、DNS の挙動を別々に確認します。トラッカーの応答が成功しただけでは、ピアのペイロード経路の結果にはなりません。

関連記事