公開 Jabber/XMPP サーバー

半年ほど前から、Jabber/XMPP サーバー STEP.imを公開しています。

Jabber/XMPP については、しばらく前に記事にしました。Jabber/XMPP をはじめるには、アカウント (JID) が必要です (ちょうどメールを使う際にメールアドレスが必要なように)。もし GMail のアカウントや WordPress.com のアカウントをお持ちであれば、それらを JID として使うことができます。これらのアカウントを持っていない、または使いたくない場合はこの STEP.im でアカウントを作ることができます。

また、グループチャット(Multi-user chat, MUC) の談話室をこの STEP.im に開設することができます (STEP.im のアカウントを持っていなくても開設・参加できます)。IRC によく似ていますが、後発なだけに、IRC の欠点を補って使い勝手のいいものです。

数年前から、自分のごく近傍で Jabber/XMPP を利用してきました。なかなか優れていると思うのですが、あまり話題になることがありません (Google トークや Facebook チャットなど、ユーザーに意識させないところで浸透しているようですが)。クライアント Gajimの日本語訳、サーバー ejabberd の日本語訳のお手伝いなども行ってきました。そしてとうとう公開サーバーを運用することにしたのです。

どうぞよろしくお願いいたします。

Jabber と WordPress (補遺)

もたもたしている間に年が変わってしまいました。先日の記事に、これまで Jabber/XMPP と WordPress の連関について触れているところは少ない、というようなことを書いたのですが、前の記事を書く際に「WordPress勉強会「Automatticのワークスタイル」に参加しました」を見落としていました。

2009年8月とさらに1年遡って、その時点では Automattic 社内の事例として、P2im.wordpress.com のことに触れられています。その頃にはまったく気づいていませんでしたが。

P2 テーマと Jabber/XMPP

たとえば WordPress の翻訳に関わる人たちの情報交換の場が、昨年(2010年)9月末にメーリングリストから、この P2 を使った WP Polyglots に移行しました。私はもっぱら眺めているだけなのですが、私にとって P2 は非常に読みにくくて、移行後はもう読むこと自体をやめてしまっていました。

前の記事で触れた「ブログ投稿やコメントの即時配信」の記事を読んで、ようやく Jabber 通知を使えることを知り、さっそく継読するようにしました。コメントが投稿されるたびに通知されるので、以後はさっと流し読みだけでもできるようになりました。個人的には、Jabber/XMPP と組み合わせてはじめて P2 の力を見ることができました。

1年前や2年前の記事を見て何を今さら、と言われそうですが、私の検索能力が低いのか、やはり P2 を取り上げながら Jabber/XMPP に触れているのは、特に日本語では、上記の2009年の Automattic 社内の話以外には見つけることができません(このスライドも同じ時期のようです)。どうも Jabber/XMPP はあまり関心を持たれていないようです。

Jabber と WordPress (後編)

XMPP PubSub

Jabber / XMPP には PubSub という機能があります。Publish-Subscribe の意味です。

まず、Jabber サーバー上に「ノード node」と呼ばれるポイントを (たいていの場合、発信者が) 作成します。「発信者 publisher」と「継読者 subscriber」を文字どおり結びつける場所です。継読者は、このノードに対して継読を申し込みます(subscribe)。なお日本語では「購読」と訳されることが多いのですが、ここでは「継読」という語を当てます。そして、発信者がノードに対して情報を送るたびに、登録されている継読者にそのことが通知されます。

配信サービスという意味では、RSS/Atom フィードによく似ています。フィードは、更新があるかどうかを受信者側から (フィードリーダーの設定などにより定期的に) 情報を読みにいきます。このブログのように月に一度ほどしか更新がないのに受信者側がフィードリーダーに「60分」などと設定していると、受信者側からのアクセスに対する返答の十中八九は「更新情報なし」で、無駄足だったということになります。だからと言ってあまり長い時間間隔に設定していると、新しい情報が出た際には受信者がそれを読みにいく時刻までに大きなラグが生じます。

それに対して PubSub は、発信者が情報を出すたびに、「電光石火の速さ」で継読者に通知されます。

WordPress と PubSub

WordPress.com のブログ記事「ブログ投稿やコメントの即時配信」 (この日本語訳は2010年9月24日付ですが、元の英文記事は2010年8月25日付)は、WordPress.com のブログサービスにこの Jabber の PubSub 機能を連動させたことを伝えています。WordPress.com のサポートのページ (英語)の後半の解説によると、継読の申し込みや解除などの操作は bot を介して行うようです。

WordPress.com ではなく、WordPress.org で配布されているインストール型の WordPress には、この機能はないのでしょうか? プラグイン Jabber Feed を使えば実現できそうです。しかし、ノードを作成する権限のある Jabber サーバーがあるかどうか、など環境が整わないと難しそうです。自前で Jabber サーバーを設置できれば自由がききます。このブログにも設定してみました (サイドバーにリンクがあります)。

多くのホスティングサービスでは Web サーバー と Mail サーバーを使わせてくれますが、Jabber サーバーを使わせてくれるところというのは聞いたことがありません。素人考えでは Web サーバー や Mail サーバーに比べて難しいことはないと思うのですが。これが一般的になれば、Jabber の利用が拡がり、インストール型の WordPress でも PubSub を簡単に使えるようになるかもしれません。

【跋】 今頃(2010年11月末)になって、数カ月前の WordPress.com のブログ記事に気づきました。しかし検索してみると、この間にこれに注目しているような日本語の情報はごくわずかの例を除いて見つかりませんでした。また、WordPress.com のブログ記事も PubSub の機能を主に紹介するもので、Jabber のもっとも一般的な面であるインスタントメッセージングについての解説がなかった (そもそも Jabber に関する情報は日本語ではとても少ない) ので、ここに書いてみることにしました。

Jabber と WordPress (前編)

Jabber / XMPP とは

Jabber とはインスタントメッセージングサービスのひとつです。XMPP はそのプロトコルです。Web に対する HTTP と同じ対応で、Jabber に対する XMPP ということになります。

インスタントメッセージングサービスというと、「Yahoo!メッセンジャー」とか「Windows Live メッセンジャー」などと同系統のものですが、仕様がオープンなので、多くのサーバーやクライアントのソフトが存在します。好きなクライアントを選んで使うことができますし、また、Web サーバーや Mail サーバーを設置・運用するのと同じように、自分でサーバーを設置して運用することもできます。XMPP どうしならサーバーを越えて通信できます。たとえば、Google トークは XMPP 準拠なので、ほかの XMPP のサーバー、ネットワークと通信できます。

Jabber / XMPP1対1のチャットは、あまり説明の必要はありませんが、ちょうどメール、その返事、その返事……の連続といったものととらえることもできます。

多人数のチャット (Muiti-User Chat (MUC))もあります。ユーザーからの見た目や操作は IRC によく似ています。

クライアントとアカウント

Jabber を始めるのに必要なものは、まず Jabber クライアントです。Web を利用するのにブラウザが、Mail を利用するのにメールソフトが必要なのと同じです。

クライアントの

などは日本語化されていています。Web ブラウザ上で動くもの、モバイル向けなど、ほかにもたくさんあります

もう一つ、欠かせないのがアカウントです。メールを使う際にはメールアドレスが必要なのと同じことです。Jabber のアカウントは Jabber ID、略して JID と呼ばれ、形はメールアドレスにそっくりで、

name@example.com

アットマークの前はユーザー名、後ろはそのユーザーの属するサーバー名です。

自分で XMPP サーバーを設置できれば簡単に (そして自由に) JID を得られるのですが、そうでない場合はどうすればいいのでしょうか? ひとつの方法は公開 XMPP サーバーで JID を作ることができます。日本語では XMPP.JP というところがあります。

しかし、Jabber をいままで知らなかった人でも実は既に JID を持っている可能性があります。

のいずれかであれば、既に JID を持っています。

GMail の場合、メールアドレスとまったく同じで、たとえば name というアカウントを持っていれば、JID は name@gmail.com です。GMail にはチャット機能が含まれており、これが Google トーク、すなわち XMPP のメッセージングなのです。この Google の JID を別のクライアントで使用することも可能です。

WordPress.com (WordPress.com であって WordPress.org ではありません) の場合、たとえば name というアカウントを持っていれば、JID は name@im.wordpress.comになります。WordPress.com のサポートのページ (英語)に解説があり、そのページのリンクには主なクライアントの設定方法もあります。

前置きのような内容だけでも長くなったので、ここで区切って続きは後編で。

Gajim 0.13.4

XMPPクライアント Gajim の0.13.4 が公開されました。今回から日本語化ファイルが含まれました。 大胆に訳したところ、自信の持てなかったところ、そして手をつけられなかったところが多々あります。お気づきの点がありましたら、メール mako(あっと)pasero.net または XMPP でも同じ形の mako(あっと)pasero.net までお知らせください。

迂濶にドメイン名を手放すのはよくない

twitter アカウントの復活

試しに作って削除した twitter アカウントを復活させようと思ったのがはじまりでした。

ここに「半年以内であれば復活できます。」と書かれていますが、1年ほど前に削除したものでもできそうな雰囲気でした。そこに書かれているようにアカウントとパスワードを入力すると、「メールを送ったので手続きせよ」のようなメッセージが表示されます。

しかしメールは届きません。そこで思い出したのですが、登録していたメールアドレスは当時契約していたレンタルサーバのドメイン名を用いたもので、現在は既に解約してしまっていたのでした。そこのレンタルサーバは多くのドメイン名を所有していて、そのサブドメイン名を利用できるというものでした。そこで △△△.halfmoon.jp を登録して □□□@△△△.halfmoon.jp をメールアドレスとして使用していたのでした。

既に他人のものに

ブラウザで △△△.halfmoon.jp を見てみると見知らぬページが表示され、既に他の人に取得されているようです。先ほど試した twitter のアカウント復活のメールもそちらに行ってしまったのでしょう。そのレンタルサーバではいわゆる chatch all はできないようなので、メールアカウント □□□ を設定されていない限り誰にも届かないとは思うのですが(あれ、postmaster にエラーメールが届くのかな、もう忘れてしまった)。

もし、新たにこのサブドメイン名を使っている人が偶然または故意に □□□ 宛のメールを読めていたら、ちょっと嫌な気分です。もし catch all ができるようなところだったら、それは簡単に起こり得ます。

迂濶にドメイン名を手放すのはよくない

さて、もし冒頭の手続きメールがその他人に届いていて、そのメールにあるリンクをクリックするだけで手続きが完了するのなら(検索してみると、どうやら単にクリックするだけのようです)、twitter アカウントを「乗っ取られる」(こちらにも落ち度があるのでそう言うのも憚られますが)ことになります。誰もそこまで考えていなかったのでしょうね。

いったんメールを送ってそこにある URL で確認、という手順は会員登録手続きなどでよく見かけます。その場合は最初の手続きとメールでの確認の間にそう時間が経っていないという前提があるのであまり問題はないのでしょうが、今回の twitter アカウント復活のような場合は相当な時間的隔たりがあるので、単にメールアドレスだけに頼るのはよくないと思います。

最近はメールアドレスを ID に使うサイトもよくあります。レンタルサーバの解約に当たって、不都合がないようにあちこち変更したのですが、既に削除して不要と思っていたものに残っていてそれが再び顔を出すことがあるとは不覚でした。それに、そのメールアドレス □□□@△△△.halfmoon.jp で検索してみると、ごくわずかですが、何かに投稿した跡が見つかります。こちらのほうはもう仕方のないことですが。

教訓

  • さくらインターネットのサブドメイン名の再取得には十分なロック期間があり、
  • twitter のアカウント復活の期限は逆に短く、
  • twitter のアカウント復活の手続きはメールの後にも再度パスワードの入力を求める

であればよかったと思います。

そして最大のポイントは

  • 一度使い始めたドメイン名(メールアドレス)は手放さないにこしたことはない

ということを、身を以て知ることになりました。