Paho の Python クライアントには、文書化された proxy_set メソッドがあります。MQTT ブローカーに接続する前に、そのクライアントを設定してください。

client.proxy_set(proxy_type=socks.SOCKS5,
                 proxy_addr='203.0.113.10',
                 proxy_port=1080)

これは、互換性のある Paho クライアントと必要な SOCKS サポートがすでに利用可能であることを前提としています。エンドポイントは例示です。許可されたパブリックプロキシ経路で公開到達可能なブローカーについては、SOCKS5 プロキシ一覧がホストとポートの候補を提供します。そのノードが実際のブローカーの宛先を許可していることを確認してください。このメソッドは対応するプロキシ種別を文書化し、プロキシ処理を PySocks 経由で行います。

ブローカーには依然として独自のホスト名、ポート、TLS 要件、MQTT 認証があります。プロキシのアカウントがブローカーに送信されるユーザー名になるわけではありません。同様に、ブローカーの資格情報を設定してもプロキシのホップは認証されません。

接続設定に失敗した場合は、接続のトランスポートとプロキシが許可する宛先を確認してください。Web ブラウジングを運ぶプロキシが、ブローカーの TCP ポートを自動的に許可するわけではありません。

接続設定後は、Paho API の要件どおりに MQTT のネットワークループを動かし続けてください。プロキシ経路の確立は 1 つの手順であり、それ自体が MQTT の keepalive、コールバック、確認応答を動かすわけではありません。

関連記事