<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Carpe Diem &#187; freebsd net-irc tiarra</title>
	<atom:link href="http://www.sssg.org/blogs/naoya/archives/tag/freebsd-net-irc-tiarra/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sssg.org/blogs/naoya</link>
	<description>Who knows hacker is?</description>
	<lastBuildDate>Sun, 25 Jul 2010 23:18:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>tiarra を導入してみた</title>
		<link>http://www.sssg.org/blogs/naoya/archives/863</link>
		<comments>http://www.sssg.org/blogs/naoya/archives/863#comments</comments>
		<pubDate>Fri, 22 Aug 2008 15:53:50 +0000</pubDate>
		<dc:creator>naoya</dc:creator>
				<category><![CDATA[day]]></category>
		<category><![CDATA[freebsd net-irc tiarra]]></category>

		<guid isPermaLink="false">http://www.sssg.org/blogs/naoya/?p=863</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>最近、社内で IRC がはやっていることもあって、IRC をよく使っている。</p>
<p>twitter や wassr の情報も IRC で集められる <a href="http://coderepos.org/share/browser/lang/ruby/net-irc/trunk">net-irc</a> という <a href="http://subtech.g.hatena.ne.jp/cho45/">id:cho45</a> さんの <a href="http://coderepos.org/share/browser/lang/ruby/net-irc/trunk/examples/tig.rb">tig.rb</a> と <a href="http://coderepos.org/share/browser/lang/ruby/net-irc/trunk/examples/wig.rb">wig.rb</a> があることを知った。これを使えば、すべて IRC にまとめらると思って、さっそく導入してみた。</p>
<p>環境は、FreeBSD 7.0-RELEASE。</p>
<p> </p>
<p>0. ruby-gems や ruby gem の json がインストールされていない場合は、インストールする</p>
<p>  $ sudo portinstall devel/ruby-gems</p>
<p>  $ sudo gem install json</p>
<p>1. coderepos から net-irc/trunk を checkout する</p>
<p>   $ svn co http://svn.coderepos.org/share/lang/ruby/net-irc/trunk net-irc</p>
<p>2. net-irc は gem でもインストールできるが、更新頻度が高いのでその場所で実行する方法を選んだ、まずは twitter の tig.rb、使い方は &#8211;help オプションをつけると分かる</p>
<p>  $ cd net-irc</p>
<p>  $ ruby ./examples/tig.rb &#8211;help</p>
<p>3. 自分のサーバで常駐させたいため、他のコンピュータからも接続する可能性があるので、&#8211;host オプションをサーバのホスト名を指定する、&#8211;host オプションをつけないと他のコンピュータからは接続できなかった</p>
<p>  $ ruby ./examples/tig.rb &#8211;host hogehoge</p>
<p>4. あとは、IRC クライアント（僕は LimeChat for OSX を愛用しています）で、サーバ名に hogehoge、ポート番号に 16668 を指定、<a href="http://subtech.g.hatena.ne.jp/mayuki/20070408/1175994705http://subtech.g.hatena.ne.jp/mayuki/20070408/1175994705">TwitterIrcGateway</a> を参照しながらニックネームやパスワードを設定して、IRC クライアントで自分が follow しているユーザのタイムラインが流れていること、ステータスをアップデートできることは確認する</p>
<p>5. wassr 版の wig.rb も同じ要領で設定する</p>
<p> </p>
<p>ここで、tig.rb と wig.rb は、とても便利なんだけれど、tig.rb と wig.rb の接続するポートが違うので IRC クライアントからそれぞれのサーバを追加するのがめんどう。どうせなら、一つずつチャンネルにしてほしい。これを実現するのが、IRC Proxy ソフトウェアの <a href="http://coderepos.org/share/wiki/Tiarra">tiarra</a>。tiarra の公式ホームページは、<a href="http://www.clovery.jp/tiarra/">こちら</a>。</p>
<p>さっそく、tiarra も導入してみる。</p>
<p>1. coderepos から tiarra を checkout する</p>
<p>  $ svn co http://svn.coderepos.org/share/lang/perl/<span class="searchword0">tiarra</span>/trunk/ tiarra</p>
<p>2. tiarra のサンプル設定ファイル sample.conf を tiarra.conf としてコピーする</p>
<p>  $ cp sample.conf tiarra.conf</p>
<p>3. tiarra.conf で、tig.rb と wig.rb を使えるように設定する、具体的な設定方法は tig.rb、wig.rb のコメントに書いてある</p>
<p>僕は、次のような感じで設定した。general の encoding の設定はしておかないと、tig.rb とかで文字化けするので注意。ホスト名には、&#8211;host オプションで指定したホスト名を設定する。</p>
<p><code><br />
general {<br />
nick: 共通のニックネーム<br />
user: 共通のユーザ名<br />
name: 共通の名前<br />
tiarra-password: tiarra に接続するときのパスワード<br />
client-allowed: *<br />
tiarra-port: 16667<br />
notice-error-messages: 1<br />
conf-encoding: utf8<br />
server-in-encoding: utf8<br />
server-out-encoding: utf8<br />
client-in-encoding: utf8<br />
client-out-encoding: utf8<br />
}</code></p>
<p><code>networks {<br />
multi-server-mode: 1<br />
name: twitter<br />
name: wassr<br />
}</code></p>
<p><code>twitter {<br />
host: ホスト名<br />
port: 16668<br />
name:  athack tid ratio=32:1 replies=6<br />
password:<br />
in-encoding: utf8<br />
out-encoding: utf8<br />
}</code></p>
<p><code> </code></p>
<p> </p>
<p><code>wassr {<br />
host: ホスト名<br />
port: 16670<br />
name:  athack tid=10 ratio=10:3:5<br />
password:<br />
in-encoding: utf8<br />
out-encoding: utf8<br />
}</code></p>
<p> </p>
<p>4. あとは、tiarra を起動して、IRC クライアントソフトで接続して、#twitter@twitter チャンネルと #wassr@wassr チャンネルに接続できることを確認する</p>
<p>  $ tiarra/tiarra &#8211;config=設定ファイル名</p>
<p> </p>
<p>これでかなりに便利になった。しかし、tiarra を起動する前に tig.rb と wig.rb を起動しておかないといけない。サーバを再起動したときなんかに毎回手動で起動するのはかなり面倒なので、freebsd の rc スクリプトを書いて一発でまとめて起動するようにして、 coderepos に <a href="http://coderepos.org/share/browser/config/freebsd-rc/tiarra_with_net-irc?rev=18078">tiarra_with_net-irc</a> としてコミットした。</p>
<p>freebsd の rc スクリプトは、初めてまともに書いたが、とても簡単に書けて、なかなか楽しかった。</p>
<p>tiarra_with_net_irc の使い方は、次のとおり。</p>
<p>1. tiarra_with_net_irc を checkout する</p>
<p>  $ svn co http://svn.coderepos.org/share/config</p>
<p>2. tiarra_with_net-irc を /usr/local/etc/rc.d へコピーする</p>
<p>3. tiarra_with_net-irc スクリプトの最初にある3つの変数を設定する</p>
<p>  USER=&lt;tiarra を実行するユーザ、通常ユーザで充分です&gt;</p>
<p>  ROOTDIR=&lt;CodeRepos を checkout してあるルーとディレクトリ、このディレクトリに net-irc と tiarra が checkout されていることを前提としています&gt;</p>
<p>  CONFIG=&lt;tiarra の設定ファイルの場所&gt;</p>
<p>4. 起動できるように /etc/rc.conf に、次の設定を追加する</p>
<p>  tiarra_enable=&#8221;YES&#8221;</p>
<p>5. オプションとして、tig.rb、wig.rb、の制御も可能になっているので、必要なら /etc/rc.conf へ設定す、デフォルトは全部起動するようになっている</p>
<p>6. あとは、起動するだけ</p>
<p>  $ sudo /usr/local/etc/rc.d/tiarra_with_net-irc start</p>
<p>sudo する理由は、tig.rb や tiarra をデーモンとして起動させるために、FreeBSD の daemon コマンドを使って実行ユーザを指定しているため。</p>
<p> </p>
<p>さらに、今日<a href="http://hatena.g.hatena.ne.jp/hatenapress/20080822/1219385676">はてなハイクAPI</a>が公開されたわけですが、この API を作った id:cho45 さんが <a href="http://coderepos.org/share/browser/lang/ruby/net-irc/trunk/examples/hig.rb">hig.rb</a> をもう作ってくれました！すげぇー、スピードで驚いた。というか、API を作っていたとは&#8230;。</p>
<p>そこで、さっそく hig.rb も導入してみた。はてなハイクの場合<a href="http://h.hatena.ne.jp/settings">投稿専用のメールアドレス</a>を登録しないと使えないので注意。</p>
<p>tiarra.conf には、次のように設定する。<br />
<code>haiku {<br />
host: ホスト名<br />
port: 16679<br />
name: はてなID athack tid=10 ratio=10:3:5<br />
password: はてなハイク専用のパスワード<br />
in-encoding: utf8<br />
out-encoding: utf8<br />
}</code><br />
これで、はてなハイクも IRC クライアントから追えるようになった。</p>
<p>net-irc 作者の id:cho45 さんと、tiarra 作者の Topia さんに感謝。</p>
<p> </p>
<p>tirra の freebsd ports はとても古いので、tiarra と net-irc をまとめた FreeBSD ports を作ると ports の勉強になっていいかもしれないが、マニアックすぎて誰も使ってくれないかも。</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sssg.org/blogs/naoya/archives/863/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
