すべてのユーザーに代わってスタンザを送信するように設定Jabberの外付け部品[閉じました]
質問
私は1つが、任意のユーザーに代わってXMPPスタンザのを送信するために外部のジャバー部品(XEP-0114)を設定できることを少し前にどこかで読みました。例えば、私は(component.localhost)へのコンポーネントのバインドを持っていると言うと私はそれが属性セット「から」とのメッセージスタンザを送りたい「ユーザー@ localhost」を。
私はejabberdでこれを達成しようとしています。私はこの作業を取得するためにejabberd srcをダウンハックする必要があります場合は驚かれることはありません(すべての可能であれば)。
解決
は、属性「から」上の検証を無効にするために、あなたのサービス定義で{service_check_from, false}
オプションを使用することができます。
XEP 0114 にはたJIDの「ホスト」の部分が一致している必要があること、しかし、覚えておいてくださいコンポーネントの名前。
すべての血みどろの詳細についてはejabberdのドキュメントでの対応するセクションを参照してください。
他のヒント
技術的には、あなたが実際にコンポーネントを記述する必要がありますが、これは簡単に行うことができます。 それはあなたのコンポーネントの特定の接続を受け付けるようにするには、CompoNetをJIDとパスワードを与えられて、最初のconfugre ejabberdに持っています。デフォルトの設定ファイルは、例えば、ゲートウェイのためのいくつかの例を、持っています。
これが完了すると、このコンポーネントの資格でXMPPライブラリ/クライアントを接続して、あなたが行くには良いはずです!唯一の制約は、有効なXMLを送信することである。
あなたの成分は、典型的には、だけではなく、 @ の.domain.comよりも、*@component.domain.comからなるように見えるスタンザを送信することが許可されます。これは、セキュリティ機能です。
あなたはこの機能を使用する場合は、は、あなたが外付け部品ではなく、プラグインサーバーを記述する必要があります。