# keitairc: マニュアル

はじめに | ライセンス | 動作環境 | スクリーンショット | インストール | 使い方 | マニュアル | 開発 | セキュリティ | FAQ | 変更履歴

## keitairc 設定の指定方法

このページの記述は keitairc 2.0 系を対象としています。

keitairc にはいろいろな設定項目があります。 これらの設定項目は、設定ファイルで指定しておくこともできますし、 keitairc の起動時引数で指定することもできます。

## 設定ファイルと起動時引数の評価順

keitairc は、起動時に、 `/etc/keitairc` が存在するなら最初にこれを読み込みます。 ユーザ共通のサイト・ローカルな設定はここに記述するとよいでしょう。

次に、ユーザのホーム・ディレクトリ直下に `.keitairc` が存在するならこれを読み込みます。 ユーザごとの設定はここに記述するとよいでしょう。

次に、ユーザのホーム・ディレクトリ直下にある .keitairc.d ディレクトリの `config.dump` が存在するならこれを読み込みます。 このファイルは keitairc の Web UI から変更を行った設定が保存されています。 このファイルでの設定は $HOME/.keitairc より優先されることに気をつけてください。

次に、keitairc の第一引数が存在するファイル名であった場合、 これを読み込みます。

最後に、起動時引数で指定されたパラメータを 評価します。一時的な設定を行う際に用いるとよいでしょう。

いずれの設定方法でも、後で評価された設定の方が優先されます。

## 設定ファイルの書式

設定ファイルで指定する場合は、項目名の後にイコール、 その後に値を記述してください。

例: 設定ファイルにおける cookie_ttl の設定

> cookie_ttl = 14400

設定ファイルでは、行頭の空白は無視されます。
# 以降の記述は無視されます。
空白のみの行、空行は無視されます。
日本語文字列を値に指定する場合、設定ファイルのキャラクタセットは utf-8でなければなりません。

## 起動時引数の書式

いずれの設定項目も、起動時引数で指定することもできます。 起動時引数で指定する場合は、項目名の先頭にハイフンをつけ、 項目名と値の間のイコールは省略してください。

例: 起動時引数ファイルにおける cookie_ttl の設定

> -cookie_ttl 14400

起動時引数による設定は、プロセス情報を介して、 同じホストにいる別のユーザから見ることができます。 保護したい情報は起動時引数で指定しないようにしましょう。

## 設定項目の一覧: 基本編

以下に、keitairc の設定項目の一覧を示します。
[必須] と書かれた項目は、なんらかの方法で設定を行わないと keitairc が起動しません。

irc_nick
  [必須] irc の nick を指定します。
irc_username
  [必須] irc 上のユーザ名を指定します。
irc_desc
  irc クライアントとしての description を指定します。 デフォルトは文字列 keitairc です。通常は変更する必要はありません。
irc_server
  [必須] irc server を指定します。
irc_port
  接続すべき irc port を指定します。 デフォルトは 6667 です。
irc_password
  irc server に接続する際にサーバパスワードが必要であれば指定します。 デフォルトは無しです。
irc_keyword
  指定した文字列(群)が発言中にあった場合、キーワードハイライトします。 文字列を複数指定する場合は、空白をはさまずカンマで区切って羅列してください。
  設定例:

  > irc_keyword = ASAP,緊急,急募,飲み会

irc_charset
  接続するirc server/channelで用いられているキャラクタセットを指定します。 デフォルトはiso-2022-jp-1です。
  (iso-2022-jp/utf8 でのみ動作を確認しています)
  指定には、Perlの `Encode::JP`で定義されているエンコーディング指定文字列を 使うことができます。
web_port
  keitairc にアクセスするときのポート番号を指定します。
  (keitairc 自体が listen する port を指定したい場合は `web_listen_port` で指定してください)
  デフォルトは tcp/8080 です。
web_lines
  keitairc が各チャンネルごとに記憶する発言行数を指定します。 デフォルトは100行です。
web_password
  [必須] keitairc にログインする際のパスワード文字列を指定します。
  平文で指定しますので、設定ファイルが漏洩するとパスワードも漏洩します。 また起動時引数で指定すると、プロセス情報を見るだけで パスワードも漏洩します。
web_host
  [必須] keitairc は http server として立ち上がりますが、 その http server のホスト名を指定します。

## 機種・携帯キャリアごとの設定項目

### NTT DoCoMo

docomo_foma_icc
  NTT DoCoMo FOMA端末のICC番号を指定すると、 該当する端末はこれを用いて認証できます。 設定例:

  > docomo_foma_icc = icc99998888777766665555

docomo_imodeid
  NTT DoCoMo FOMA端末のiモードIDを指定すると、 該当する端末はこれを用いて認証できます。 設定例:

  > docomo_imodeid = AAbb123

### KDDI au

au_subscriber_id
  au携帯端末のEZ番号 (サブスクライバID) を指定すると、 該当する端末はこれを用いて認証できます。 設定例:

  > au_subscriber_id = 01099887766554_xx.ezweb.ne.jp

### Softbank mobile

softbank_serial_key
  au携帯端末のEZ番号 (サブスクライバID) を指定すると、 該当する端末はこれを用いて認証できます。 設定例:

  > softbank_serial_key = SN112233445566778

### emobile

emobile_userid
  emobile端末のuseridを指定すると、 該当する端末はこれを用いて認証できます。

## 設定項目の一覧: 上級編

cookie_ttl
  Cookieの生存時間を指定します。 デフォルトは3日間です。
session_ttl
  セッション情報の生存時間を指定します。 デフォルトは30分です。
web_listen_port
  keitairc が web 接続を待ち受ける port を指定します。 reverse proxy 環境などで、 keitairc が listen する port と、 クライアントがアクセスする port を別に指定したい場合等に用います。 デフォルトは `web_port` で指定されているポートと同じです。
web_title
  keitairc の web アクセス画面のタイトルの基本名を指定します。 デフォルトは keitairc です。
web_root
  keitairc が web server として動作するときの、 URI上のkeitaircのトップディレクトリを指定します。
  たとえば `example.com` というサーバで

  > web_host = example.com
  > web_port = 8080
  > web_root = /irc/

  と指定してkeitaircを立ち上げた場合、 そのkeitaircのトップページは `http://example.com:8080/irc/` として動作します。末尾には必ず `/` を付けてください。
web_charset
  keitaircにhttpアクセスする際のキャラクタセットを指定します。 デフォルトは shiftjis です。
  指定には、Perlの `Encode::JP`で定義されているエンコーディング指定文字列を 使うことができます。
web_schema
  keitaircにwebアクセスする際のスキーマを指定します。 デフォルトはhttpです。 https経由でkeitaircを使いたい場合はhttpsと指定してください。
  ただしkeitairc自体はhttpsを提供しておりません。 web_schemaにhttpsを指定しても、keitaircが提供するのはhttpサービスのみです。実際には、keitaircの前段にapacheのmod_proxyやmod_sslなどをかませてお使いいただくことになるでしょう。
  また、日本の携帯端末に対しhttpsでサービスを提供する際には、 SSL証明書や認証文字列の取得、位置情報の取得などにいろいろな制限があります。 注意して使用してください。
extra_header
  表示内容にヘッダを追加したいときに指定します。 デフォルトは未定義です。
  CSS のスタイルファイルを指定したい場合等に使用します。
  たとえば `http://example.com/style.css` をスタイルファイルとして利用したい場合は以下のように、

  > extra_header = '<link rel="stylesheet" type="text/css" href="http://example.com/style.css">'

  keitairc 設置ディレクトリ以下の `lib/public` に設置した `my.css` をスタイルファイルとして利用したい場合は以下のように設定します。

  > extra_header = '<link rel="stylesheet" type="text/css" href="/my.css">'

fontsize
  keitaircに携帯機器以外からアクセスした際の、 webページの基本的なフォントサイズを指定します。
  これは `<font size="">` エレメントの引数になる文字列です。 デフォルトは `+0` です。
mobile_fontsize
  keitaircに携帯機器からアクセスした際の、 webページの基本的なフォントサイズを指定します。
  これは `<font size="">` エレメントの引数になる文字列です。 デフォルトは `-1` です。
silent_config
  keitairc 起動時のプラグイン読み込み表示を抑制します。 抑制する場合は yes や 1, 抑制しない場合は no や 0 を指定してください。 デフォルトは no です。
show_joinleave
  他ユーザの join や leave も表示します。 デフォルトは yes です。
show_console
  チャネルの発言同様に irc console も表示します。 デフォルトは no です。
ping_delay
  keitairc は一定間隔で irc server への接続を確認します。 その間隔時間を指定します。 デフォルトは30秒です。
reconnect_delay
  keitaircは、irc serverからの切断を認識すると、 一定時間後に再接続を試みます。 その待ち時間を指定します。 デフォルトは10秒です。
follow_nick
  他のユーザのnick, ユーザ名を把握し、変化に追従するようにします。 デフォルトは yes です。
  情報を把握するため keitairc の立ち上がり時/チャネルへのユーザの join 時に irc メッセージが流れます。keitairc が接続している pirc に 他の irc クライアントも接続している場合は、そのクライアントに意図しない タイミングで大量のメッセージが流れてしまうような挙動になることがあります。 その場合は、別の pirc に接続するようにするか、follow_nick を no にしてください。
smtp_server
  メール送信機能を使う場合、smtp server を指定します。 デフォルトは未定義です。 smtp auth には非対応です。
smtp_from
  メール送信機能を使う場合、smtp における FROM を指定します。 デフォルトは未定義です。
smtp_to
  メール送信機能を使う場合、宛先メールアドレスを指定します。 デフォルトは未定義です。
debug
  より詳細なログを表示します。 デフォルトは off です。
daemonize
  起動時に daemon 化します。 デフォルトは off です。
pid_dir
  daemonize = yes で keitairc が daemon として起動した場合、 `pid_dir` で指定したディレクトリ以下の `pid_file` ファイルに PID を保存します。 デフォルトは `$HOME/.keitairc.d` です。
pid_file
  daemonize = yes で keitairc が daemon として起動した場合、 `pid_dir` で指定したディレクトリ以下の `pid_file` ファイルに PID を保存します。 デフォルトは `keitairc.pid` です。
log
  ログの出力先を指定します。現在指定できるのは、以下の出力先です。ディフォルトではstdioを利用します。
  - stdio
    STDOUT/STDERRにログを出力します
  - file[:directory]
    ファイルにログを出力します。{info,error,debug}_YYYYMMDD.log の3つのファイルが作成され、種類毎に そのファイルに書き出されます(ファイル名は現状変更できません)。ログの出力先のディレクトリは $HOME/.keitairc.d/log です。出力先のディレクトリを変更したい場合は、:に続けてパスを記述して ください。
  - syslog[:facility]
    syslogにログを出力します。ディフォルトのファシリティは local0 です。ファシリティを変更 したい場合には、:に続けてファシリティ名を記述してください。
template_dir
  keitairc が使うテンプレートファイルの検索パスを指定します。
  複数のパスをコロンで連結して指定できます。
  デフォルトは `カレントディレクトリ/lib/templates:PREFIX/share/keitairc/templates` で、 すなわちまず `カレントディレクトリ/lib/templates`, 見つからなければ `PREFIX/share/keitairc/lib/templates` を検索します(PREFIX はインストール時に指定した PREFIX になります。通常 /usr もしくは /usr/local の場合が多いでしょう)
plugin_dir
  keitairc が使うプラグインファイルの検索パスを指定します。
  複数のパスをコロンで連結して指定できます。
  デフォルトは `カレントディレクトリ/lib/plugins:PREFIX/share/keitairc/plugins` で、 すなわちまず `カレントディレクトリ/lib/plugins`, 見つからなければ `/usr/share/keitairc/plugins` を検索します(PREFIX はインストール時に指定した PREFIX になります。通常 /usr もしくは /usr/local の場合が多いでしょう)
public_dir
  keitairc が使う静的ファイルの検索パスを指定します。
  複数のパスをコロンで連結して指定できます。
  デフォルトは `カレントディレクトリ/lib/public:PREFIX/share/keitairc/public` で、 すなわちまず `カレントディレクトリ/lib/public`, 見つからなければ `PREFIX/share/keitairc/public` を検索します(PREFIX はインストール時に指定した PREFIX になります。通常 /usr もしくは /usr/local の場合が多いでしょう)
rgeocode_server
  携帯端末の位置情報取得機能をもとに、 現在位置の住所文字列を取得する際、 どの逆ジオコードサーバを利用するか指定します。
  finds を指定すると http://www.finds.jp/wsdocs/rgeocode/ で提供されているサービスを使用します。
  google を指定すると http://maps.google.com で提供されているサービスを使用します。
  デフォルトは finds です。
  (なお、 http://www.finds.jp/wsdocs/rgeocode/ は以前は http://refits.cgk.affrc.go.jp/tsrv/jp/rgeocode.html で提供されておりました。当時の設定との互換性のため、 refits と指定した場合は finds と同じ意味になります)
reverse_message
  全発言画面で、新しい発言ほど上に表示します。 デフォルトはonです。
reverse_recent
  未読発言一覧画面で、新しい発言ほど上に表示します。 デフォルトはonです。
reverse_unread
  未読発言画面で、新しい発言ほど上に表示します。 デフォルトはonです。
url_target
  URLリンクでウィンドウのターゲットを指定します。 デフォルトは _self です(WebKit UI ではこの値は無視され、常に target=_blank で になります)
url_redirect
  URLリンクでリダイレクタを指定するときに使用します。 デフォルトは未定義です。

## keitairc 2.0 で廃止された設定項目

以下は、かつて keitairc 1.x で存在し、 keitairc 2.0 で廃止された設定項目です。 keitairc 2.0 は、これら設定が残っている場合、起動時に警告を表示します。

show_newmsgonly
  新着メッセージのみを表示するようにする指定でしたが、 廃止されました。keitairc 2.0 以降では指定しても無視されます。
web_username
  webアクセス時の認証のユーザ名の指定でしたが、 廃止されました。keitairc 2.0 以降では指定しても無視されます。
use_cookie
  Cookieを利用するかどうかの指定でしたが、 廃止されました。keitairc 2.0 以降では指定しても無視され、 常にCookieを利用しようとします。
au_pcsv
  au端末の場合に、外部リンクに対してPCサイトビューアー用の リンクも出すかどうかの指定でしたが、 廃止されました。keitairc 2.0 以降では指定しても無視され、 au端末からのアクセスの場合は、外部リンクに対してPCサイトビューアー用の リンクも常に案内します。

## keitairc で使われる環境変数

HOME
  ユーザごとの設定ファイル .keitairc を探すのに使われます。
IS_WEBKIT(2.1以降のみ)
  1 に設定すると、すべてのクライアントを強制的に iPhone/iPod touch/Android端末と見なしWebKit UIを表示します。
  0 に設定すると、逆に iPhone/iPod touch/Android からのアクセスの場合でも、 強制的に iPhone/iPod touch/Android からのアクセスとは認識しなくなります。 主にデバグ目的の設定ですが、WebKit UI をPC のWebブラウザから利用するような 場合、あるいは WebKit mobile ブラウザから通常 UI を利用したような場合などに 利用することもできます。
IS_IPOD(2.1以降では使われません)
  上記の IS_WEBKIT と同じものです(2.1で名称が変更されました)