2010年のYAPCで映画にでてくるハッカーになりたい という発表をしましたが、なんとなく動かすには敷居が高く感じられるとともに、直接 stdin を読む仕様であったため使えないケースも多く、僕は殆ど使わなくなってしまいました。
先日 uutransfer という screen のログから出力を拾ってほげほげするみたいなツールを書いてから、そういう仕組みをもうちょい応用できないかと考えた結果上記のようなものができあがりました。
簡単にまとめると「tail -f してるアクセスログをリアルタイムで解析してなんかソレっぽく表示するツール」です。
ImHacker というふざけた名前ですが、それは置いといて、node で動くように全部 JavaScript で書いてあります。
基本的には GNU screen 上で動かすことを考えて作ってあります。screen 上で、まぁとにかく適当なサーバに ssh で入って (後述しますが mosh だとダメです) アクセスログを tail -f しときます。
ImHacker 自体は次のようにして起動します。
git clone git://github.com/cho45/imhacker.git npm install node app.js
起動して http://localhost:2012/ にアクセスすると、まず最初は設定ダイアログが開くので、アクセスログのフォーマットを指定します。Apache の LogFormat の行をそのままコピペしたら使える感じで作ってあります。設定したら Save を押してダイアログを閉じます (localStorage に設定を保存するので、次からは開きません)
アクセスログを tail -f しているウィンドウの番号に対応する数字のボタンを押します (右上の screen window と書いてあるやつ)。するとログの解析がはじまります。
とりあえず動かしてみたいなら、http://localhost:2012/#demo とするとデモモードで動きます。