Spec2ch
出典: やる気向上作戦
2ch仕様整理
目次 |
主要なパス
主要なURIは、以下の4つである。
- http://サーバ/板名/subject.txt
- http://サーバ/板名/dat/xxx.dat
- http://サーバ/test/read.cgi
- http://サーバ/test/bbs.cgi
subject.txtの仕様
以下の形式の情報が任意の個数入る。
[datファイル名]<>[タイトル][sp]([レス数])[LF]
エンコーディングはShift_JIS
datファイルの仕様
datファイルは、以下の書式を持つ。
[datfile] := [datrecord]* [datrecord] := [name]<>[mail]<>[timestamp and ID]<>[sp][post][sp]<>[title][LF]
[name]は、名前。「<」「>」「&」等の文字は、すべてエスケープ済みである。 トリップが含まれる場合、「[sp]</b>トリップ[sp]<b>」に置換される。
[mail]は、メールアドレス。空の場合もある。
[timestamp and ID]は、ローカル時刻。ID付きの板の場合、時刻の後ろに「[sp]ID:XXXXXXX」が追加される。
[post]は、書き込み本文。改行は
に、URI文字列はリンクに置換済みである。
それ以外の「<」「>」「&」等の文字はすべてエスケープ済みである。
>>1等のレス参照は、書き込み時点ではリンクに置換されない。read.cgiによって、表示時に置換される。
[title]は、スレのタイトル。改行は空白に置換?\0も置換される? [title]は、最初の行にのみ存在する。
あぼーんされたレスは、[name],[mail],[timestamp and ID],[post]が「あぼーん」に置換される。 [title]のみ空白になる?
エンコーディングはShift_JIS
read.cgiの仕様
以下の形式でアクセスされる。
/test/read.cgi/板名/キー/スレ範囲
キーは、datファイルの名前の、拡張子(.dat)を除いた部分に相当。
スレ範囲指定は以下の書式により記述する。 [l][num1][n][-[num2]]
- num1のみが指定された場合、num1番のレスのみが返される。
- num1- の形式の場合、レス1およびnum1番のレス~最後のレスまでが返される。
- 先頭に「l」が存在する場合、レス1および最後からnum1個のレスが返される。
- オプション「n」が存在する場合、レス1は返されない。
上記以外が指定された場合、すべてのレスが返される。
bbs.cgiの仕様
書き込みはPOSTリクエストにより行う。 MIMEタイプはapplication/x-www-form-urlencodedであろう。 エンコーディングはShift_JISである。なお、REFERERが適切に設定されていないとアクセス拒否されるようである。
パラメータは以下のとおり
- スレッド作成の場合
- subject (スレッドタイトル)
- FROM (名前)
- mail (メールアドレス)
- MESSAGE (書き込み内容)
- bbs (板名)
- time (フォームを含むHTMLが生成された時刻? time_tの値。用途不明。)
- レスの場合
- FROM (名前)
- mail (メールアドレス)
- MESSAGE (書き込み内容)
- bbs (板名)
- key (キー)
- time (時刻)
スレ作成とレスの違いは、
- スレ作成にはsubjectがあるが、レスにはない。
- レスにはkeyがあるが、スレ作成にはない。
