o2on v0.01α (build 0017) 用
現時点で o2on はまだαリリースということもあり、その機能の拡張や仕様の変更が今後も頻繁にあるものと思われます。 従って、設定に関する公式のアナウンスはまだ先になると予想されることから、このページの解説は本頁冒頭にあるバージョンのみを対象とした非公式ドキュメントであることを念頭に置いて下さい。
危険! 書き起こしの人はソースが読めないので"妄想炸裂"です。 「間違い・わかりにくい部分」 がありましたら適宜 「加筆・修正」 願います。
★★★ 設定の変更が反映されない、設定の変更が保持されないとお嘆きの方へ。 一度お試し下さいな… ★★★
- オプションダイアログで設定を変更した場合は、変更後に:
o2on を "一旦終了" → "起動"
- また、ファイルの直接編集により設定の変更を行う場合は:
o2on を "一旦終了" → "ファイル編集" → "起動"
設定 †
o2on にはユーザが変更可能な "o2on の挙動" に関わるいくつかの設定項目が設けられている。 項目はいくつかあるが、大きく分けて 3 つの設定を変更することができる。
- セッション関連
- アクセス制御
- ディレクトリ管理
o2on の挙動は "各 XML ファイル" を書き換えることで変更できる。
この XML ファイルは、インストールディレクトリ直下の conf ディレクトリ下に存在する。
"conf ディレクトリ" は o2on 導入直後の初回起動時に "dat ディレクトリ" と共に自動生成され、"各設定ファイル" は o2on の終了時に自動的に生成される。(※1)
- o2on 初回起動時に生成されるディレクトリとファイル
- ./conf
- ./dat
- ./dat/.index
- o2on 初回起動&終了時に生成されるファイル
- ./conf/IPFilter_Admin.xml _____ IP フィルタ: 管理画面へのアクセス制御
- ./conf/IPFilter_P2P.xml ________ IP フィルタ: 外部ノードのアクセス制御
- ./conf/IPFilter_Proxy.xml ______ IP フィルタ: クライアント (専ブラ) のアクセス制御
- ./conf/Node.xml ______________ 外部ノードの情報を格納 (※3)
- ./conf/Profile.xml _____________ 自ノードの設定情報を格納 (※2)
- ./conf/Query.xml ______________ 自ノードが発行した検索クエリ情報を格納 (※3)
※1. タスクトレイのアイコンから終了しなかった場合は、これらの設定ファイルは生成されない。 例えば、OS やアプリケーションの異常終了やユーザによるタスクマネージャからの強制終了など。
※2. 公開鍵、秘密鍵がこの時点で生成され Profile.xml に格納される。 鍵生成はこの一度だけで、以降はこの鍵情報を保持したまま o2on が起動することになる。
※3. Node.xml, Query.xml に関してはユーザが触れる必要は一切無い。
設定変更の手段 †
o2on の挙動に関わる設定の変更は 2 通りある。
両者の違いはいくつかあるが、1つは設定可能な項目の数であり "設定ファイル" を直接編集する方がきめ細かく設定が可能である。 また、それぞれ設定の変更 "手順" が大きく異なるので注意すること。
オプションダイアログから設定を変更 †
基本設定
├P2Pポート番号
├専ブラ用Proxyポート (Default=8000)
└Web管理画面ポート (Default=9999)
高度な設定
├P2P受信側
│ └同時接続数リミット (Default=16)
└P2P送信側
├収集間隔 (Default=10000)ミリ秒 (=10秒)
│
├最大起動数 ノード収集 (Default=5)
├最大起動数 キー収集 (Default=5)
├最大起動数 クエリ収集 (Default=5)
└最大起動数 dat収集 (Default=5)
- o2on を起動
- タスクトレイのアイコンをから 「P2P 停止」 で一旦接続を中断
- 「オプション」 を選択
- 現れたダイアログ内で値を変更し 「OK」 ボタンをおもいっきりクリック
- 再びタスクトレイのアイコンから 「P2P 起動」
- 設定完了 (変更は即時反映される)
- この方法で変更は即時反映されるが、この時点では設定ファイルへの書き換えは行われず、o2on の正常な終了時に "変更した値" が書き換えられる。
- 設定ダイアログから値を変更してそのまま o2on を運用した場合、何らかのトラブルで o2on が異常終了すると設定ファイルの値は前回起動時のままとなる。
- 変更した値を恒久的に保持するためには、変更後に一度 o2on を正常終了させることをお勧めする。
設定ファイル (XML ファイル) を直接編集 †
- このため、o2on 起動中に xml ファイルを直接編集した変更は反映されない。 これらのファイルを起動中に編集したとしても o2on 終了時には起動時の状態に書き戻されてしまう。
- 設定ファイルを直接編集して o2on の挙動を変更をする場合には "一旦 o2on を終了してから" 設定ファイルを編集し、その後 o2on を起動する必要がある。
o2on の挙動にかかわる設定ファイル †
- o2on にアクセスするホストを制御する設定ファイル:
- 通信に使うポート、セッションの制限、ディレクトリの管理を設定するファイル:
IPFilter_Admin.xml †
管理画面へアクセスできるホストを制御する (デフォルト = 拒否: deny)
- 初期値ではループバック (127.0.0.1)、プライベートアドレス (192.168.*.*) しか許可されていない。
- デフォルトで 「拒否: deny」 となるので、任意に 「許可: allow」 したアドレス以外はコネクションが成立しない。
<?xml version="1.0" encoding="utf-8"?>
<filters>
<default>deny</default>
<filter>
<enable>true</enable>
<flag>allow</flag>
<cond>127.0.0.1/255.255.255.255</cond>
</filter>
<filter>
<enable>true</enable>
<flag>allow</flag>
<cond>192.168.0.0/255.255.0.0</cond>
</filter>
</filters>
- この制限を更に厳しくすることも可能である。
例えば、ノードが起動しているマシンからのみ管理画面にアクセスする場合には、ループパック以外の <filter> コンテナを削除することも可能。
IPFilter_P2P.xml †
外部ノードから自ノードへのアクセス制御。 (デフォルト = 許可: allow)
<?xml version="1.0" encoding="utf-8"?>
<filters>
<default>allow</default>
</filters>
IPFilter_Proxy.xml †
o2on へ接続する ("クライアント=専ブラ" が稼働する) ホストを制御。 (デフォルト = 拒否: deny)
- 初期値では、ループバック (127.0.0.1)、プライベートアドレス (192.168.*.*) しか許可されていない。
- デフォルトでは 「拒否: deny」 となるので、任意に 「許可: allow」 したアドレス以外はコネクションが成立しない。
<?xml version="1.0" encoding="utf-8"?>
<filters>
<default>deny</default>
<filter>
<enable>true</enable>
<flag>allow</flag>
<cond>127.0.0.1/255.255.255.255</cond>
</filter>
<filter>
<enable>true</enable>
<flag>allow</flag>
<cond>192.168.0.0/255.255.0.0</cond>
</filter>
</filters>
- この制限を更に厳しくすることも可能である。
例えば、ノードが起動しているマシンからのみ管理画面にアクセスする場合には、ループパック以外の <filter> コンテナを削除することも可能。
Profile.xml †
自ノードの各種情報が格納されるファイル。
- ノード情報には以下の要素が含まれる
- 名前? <name>
- P2P 通信ポート (外部ノード用) <port>
- プロトコルバージョン <o2ver>
- 専ブラ用 Proxy ポート (Default=8000) <proxyport>
- Web管理画面ポート (Default=9999) <adminport>
- 秘密鍵 <privkey>
- 公開鍵 <pubkey>
- dat ディレクトリの場所 <cacheroot>
- admin ディレクトリの場所 <adminroot>
- 同時接続数リミット (Default=16) <p2psessionlimit>
- 収集間隔 (Default=10000)ミリ秒 (=10秒) <agentinterval>
- ノード収集 最大起動数 (Default=5) <nodecollectorlimit>
- キー収集 最大起動数 (Default=5) <keycollectorlimit>
- クエリ収集 最大起動数 (Default=5) <querycollectorlimit>
- dat収集 最大起動数 (Default=5) <datcollectorlimit>
緑文字: オプションダイアログから変更可能。
赤文字: 各ユーザの環境に合わせて任意に変更することが可能。
灰色: o2on が自動生成するものでユーザが直接編集する必要はない。
- 設定項目の中には "admin ディレクトリ(※6)" と "dat ディレクトリ(※7)" を任意のディレクトリに指定する項目がある。 ディレクトリの変更方法はこちらを参照のこと。
※6. 管理画面の表示に関連したファイル群が含まれているディレクトリ
※7. 2ちゃんねるのログファイル (*.dat) が格納されるディレクトリ
任意のディレクトリを指定 (admin, dat) †
- admin, dat ディレクトリは、その名前・場所を任意のものへ変更することができる。
- 編集対象のファイル => Profile.xml
注意! 基本的に手動による設定ファイルの直接編集は o2on が終了している状態で行うこと。
注意! admin ディレクトリ内にある中身は、任意に指定するディレクトリにすべてそのままコピー (or移動) しなければならない。
もしこれを変更しる場合は [.¥dat], [.¥admin] 部分に任意のディレクトリまでの "(相対・絶対) パス" を指定する。(注)
変更例:
C ドライブ直下の o2on ディレクトリ下に
- dat 用ディレクトリとして "2chdat"
- admin ディレクトリとして "o2on_admin"
をそれぞれ指定する場合:
<cacheroot><![CDATA[C:\o2on\2chdat]]></cacheroot>
<adminroot><![CDATA[C:\o2on\o2on_admin]]></adminroot>
またネットワーク上のディレクトリを指定することも可能
<cacheroot><![CDATA[\\hoge\o2on\2chdat]]></cacheroot>
<adminroot><![CDATA[\\hoge\o2on\o2on_admin]]></adminroot>
メモ: o2on の起動後、指定したディレクトリに .index ファイルが生成されているか、あるいは 2ch のログデータが格納されていればディレクトリの指定がうまくいったことになる。
メモ: 設定がすべて正しくても dat ディレクトリが o2on のインストールディレクトリに自動的に生成されるが、あまり気にせずそのままにしておく方が精神的によい。
dat, admin 用のディレクトリを任意の場所 (or 名前) へ変更する際の注意 †
- 指定するパスに 2 バイト文字を含めてはならない。
もし 2 バイト文字がパス内に含まれていると o2on 起動後にタスクトレイのアイコンから "index処理中… しばらくお待ちください" のポップアップがしばらく表示され、その後 o2on はフリーズする。 このような悪夢を見たら素直にタスクマネージャから o2on を終了し、適切なディレクトリ構成に変更しましょう。 ちなみに半角スペースは問題なし。
dat ディレクトリの場所を誤って指定した場合 †
- dat 用ディレクトリが指定した場所に存在しなかった場合:
- 1階層だけであれば o2on が Profile.xml の値を元に適切なディレクトリを生成する。
- 2階層以上ディレクトリが欠落していれば再帰的にディレクトリが生成されることはなく、o2on 起動時に o2on のインストールディレクトリ直下に生成された dat ディレクトリが利用される。
例えば:
D:¥o2on¥data と指定した場合で、D:¥o2on ディレクトリが存在し data ディレクトリのみが存在しなかった場合には、D:¥o2on 下に data ディレクトリが自動生成される。
o2on¥data のディレクトリが2つとも存在しなければ、o2on のインストールディレクトリの dat ディレクトリが利用される。
また o2on 終了後には、Profile.xml 内の
<adminroot><![CDATA[D:\o2on\data]]></adminroot>
は
<adminroot><![CDATA[.\dat]]></adminroot>
として o2on デフォルトの値が自動的に置き換えられる。
メモ: 設定がすべて正しくても dat ディレクトリは o2on のインストールディレクトリに自動的に生成される。 これは削除も可能だが起動時に再度生成されるので、そのままにしておく方が精神的にはよい。
admin ディレクトリの場所を誤って指定した場合 †
- admin 用ディレクトリが指定した場所に存在しなかった場合:
- dat ディレクトリの場合とは異なり、指定した場所に admin ディレクトリおよびその内容ブツが存在しない場合には、ディレクトリおよびファイル群は決して自動的に生成されることはない。
IP フィルタ設定上の注意 †
ホスト名による制御 †
- ホスト名で記載する際、ワイルドカードを使ってドメイン指定はできる?
- 1 つの <filter> コンテナ内で複数ホストを列挙できる?
※ 筆者ではうまく検証できなかったので、わかる人いたら加筆お願いします。
賞味期限: 001_0018 リリースまで でしょうか…