Rokka System

Rokka System is the new method to get 2ch/bbspink archived dats.
http://stream.bbspink.com/update.txt

1. get SID from https://2chv.tora3.net/futen.cgi?ID=example@email.com&PW=password , not changed
2. request to Rokka with the SID
 URL http://rokka.<DOMAIN>/<SERVER>/<BOARD>/<THREAD>/[<OPTIONS>]?[raw=0.0&]sid=<SID>

 DOMAIN : 2ch.net or bbspink.com
 SERVER : name of the server, pele,kilauea,...(bbspink) anago,awabi,....(2ch)
 BOARD : name of the board, news,entrance,.....
 THREAD : thread key(=thread number)
 OPTIONS : 2ch standard url options, l50 , 25-35 , -45 , 13- , etc...
 [raw=0.0] : option to get dat with GZip compressed (recommended)
 <SID> : authentication SID, UrlEncoding is recommended

 Response : 1st line indicates processed status of the server.
  "Success"  - The process has successfuly done. Following lines are achieved message with dat format(name<>email<>datetime<>body<>[title]).
  "Error XXX" - The process has not succeeded. XXX is error code.
          Error codes:
          inputError = "Error 8008135"      invalid SERVER or BOARD or THREAD
          authenticationError = "Error 69"    invalid SID
          urlError = "Error 666"           invalid OPTIONS
          timeLimitError = "Error 420"       access too fast, interval between requests required


 exsamples
  http://rokka.bbspink.com/pele/erobbs/1285357421/?sid=Monazilla/2.00:4373....         get whole thread as plane text
  http://rokka.bbspink.com/pele/erobbs/1285357421/?raw=0.0&sid=Monazilla/2.00:4373....   get whole thread with gzipped
  http://rokka.bbspink.com/pele/erobbs/1285357421/l50?raw=0.0&sid=Monazilla/2.00:4373...  get 1 and last 50 posts

previous discussion http://qb5.2ch.net/test/read.cgi/operate/1366640919/87-

datファイルをどう読み込んでるのかはわからないけど、
読み込んだ後の処理はhttp://stream.bbspink.com/offlaw.txtのままでいいんじゃないかな

83C ◆Odemonkey. (プーアル茶)NGNG
>He suggests 'raw=' can be removed then Rokka will return entier dat only.
I think removing "raw" is a good idea. Rokka can already return partial dats by using the options "20-30", "l20", "15-" "-90". Why does Rokka need a byte offset?

>Can you touch HTTP request header and HTTP response header on Rokka?
Yes. Rokka replaces Apache. Rokka is a server. I wrote Rokka with the "Haskell" language. I have full customization about what Rokka does.

>Are you going to make Rokka return the dat in dat-ochi ?
Yes. I current do not understand the dat-ochi system. I am studying FOX's dat-ochi system. After I understand the dat-ochi system, then I will add dat-ochi to Rokka. Dat-ochi will probably be available on Rokka tonight or tomorrow.

dobattoだったかな?
削除ツールっぽいの弄る時にofflawの修正もしてたと思うのよね。
あれが順番に叩いてる場所をRokkaも真似すれば15分のタイムラグ埋められるんじゃない?

http://www.gedoh.org/aki/2ch/current/bbs/
結構昔、read.cgiを改良するときにソースをみんな見れるようにして改良したらしい。
ここのread.cの1444行〜1512までがほぼ一緒。


よく考えてみると、差分取得を考える必要は無い、すべて最初から全取得にすべき。
Rokkaの目的の日付を隠すことを確実にするには全取得が一番いい

仔花子もすべて最初から全取得なので今更気にする必要は無いかと

>>2のオプションは廃止しちゃう・・・?
レス番指定だけだと、削除されたかの確認が出来ない。
サーバからは消されているのに、クライアントには残ってるってのは避けたい

offlaw.txt見て合点が行ったけど、byte offset差分取得はかちゅ〜しゃ or それに準ずる専ブラ(Jane含む)にのみ
許可されている特別なメソッドという位置付けのようですね
zz_katjusha_raw はこれらの専ブラでのみ真になると(恐らくUAもしくはURI内の'sid=Monazilla...'部分から判定)

レス番指定と異なり、差分取得であっても "+PARTIAL" ではなく "+OK" を返したり、
liveなスレでは専ブラ側で行うLFチェックを鯖側で行っていたりと完全に固有の仕様と密な連携を想定しているっぽい

このソースで>>66の誤動作も説明がつくんじゃないかな?かちゅ〜しゃ系と判断されない (zz_katjusha_raw = 0) 専ブラが
byte offset差分取得を行おうとしたけれどそれは許可されない操作なので弾く、ただし弾いた先の遷移が全取得に流れており、
かつ全取得は "+OK" を返すので正常なbyte offset差分取得と見分けがつかないと

あとここにも初期の仕様の挙動が一部残ってました
ttp://age.s22.xrea.com/talk2ch/#rawmode

レス番指定の差分取得も本来既に指定フォーマットがあったのね →c)〜e)

■全件取得
a) /?raw=0.0&<*1>
→ +OK <all bytes>/<MAX_FILESIZE >> 10>K Location:temp/
  <body>

■バイトオフセットによる差分取得
b) /?raw=.<begin>&<*1>
→ +OK <partial bytes>/<MAX_FILESIZE >> 10>K Location:temp/
  <body>

■レス番指定による差分取得
c) /?raw=0.0&ls=<recent>&<*1>
d) /?raw=0.0&st=<first>&to=<last>&<*1>
e) /?raw=0.0&st=<first>&<*1>
→ +PARTIAL <partial bytes>/<MAX_FILESIZE >> 10>K Range:<begin>-<end -1>/<all bytes> Location:temp/
  <body>

<begin>/<end>: bytes offset of start/end (boundary, zero origin)
<first>/<last>: line number of start/end (one origin)
<recent>: recent lines count
MAX_FILESIZE: 0x100000..0x1FFC00 ?

<*1>: sid=Monazilla%2F<major>.<minor>%3A<sid>

byte offset差分取得をかちゅ〜しゃ系以外に許可しなかった理由は、
本来はレガシー仕様をよく知らない新しい専ブラにこのメソッドを許可したくなかった、という事情かなと解釈しました
このバージョンのofflaw.cgiがいつ稼動し始めたかは不明ですけれども・・・

とりあえず負荷よりも転送量を最優先に考慮しなければいけなかった頃からの歴史を見た気分ですね

>>83
> >He suggests 'raw=' can be removed then Rokka will return entier dat only.
> I think removing "raw" is a good idea. Rokka can already return partial dats by using the options "20-30", "l20", "15-" "-90". Why does Rokka need a byte offset?
Me too but nobody respond us.

> >Can you touch HTTP request header and HTTP response header on Rokka?
> Yes. Rokka replaces Apache. Rokka is a server. I wrote Rokka with the "Haskell" language. I have full customization about what Rokka does.
If so, I saw someone said
過去ログ&●(2chビューア)情報スレ 29 http://qb5.2ch.net/test/read.cgi/operate/1378646393/602
> 602 名前:動け動けウゴウゴ2ちゃんねる [sage] 2013/09/12(木) 04:12:47.87 ID:I81KKwaF0
> 今気づいたけど旧プロトコルと違ってrokkaだとLast-Modified:出ないんだな
> コード管理がTCPベースかHTTPベースかすら分からないし実害も薄いのでいいんだけど、
> 出来ればソース鯖のHTTPレスポンスからコピーして欲しかった
>
> 今後は最終行を覗いてそれをファイル日時に反映するか
translated
> I found rokka doesn't have Last-Modified: in HTTP response header.
> It is not so serious but the value should be copied from surce server.
I knew the header does not include Content-Type, Content-Type should be 'text/plain'.
Then I thought youcould not touch HTTP headers.


> >Are you going to make Rokka return the dat in dat-ochi ?
> Yes. I current do not understand the dat-ochi system. I am studying FOX's dat-ochi system. After I understand the dat-ochi system, then I will add dat-ochi to Rokka. Dat-ochi will probably be available on Rokka tonight or tomorrow.
I'm looking for.

>>82 said
> datファイルをどう読み込んでるのかはわからないけど、
> 読み込んだ後の処理はhttp://stream.bbspink.com/offlaw.txtのままでいいんじゃないかな
translated
> I'm not sure how Rokka reads dat file,
> I think it is better to process as same as http://stream.bbspink.com/offlaw.txt .

>>84 said
> dobattoだったかな?
> 削除ツールっぽいの弄る時にofflawの修正もしてたと思うのよね。
> あれが順番に叩いてる場所をRokkaも真似すれば15分のタイムラグ埋められるんじゃない?
translated
> That is 'dobatto', isn't it?
> (2chan UNEI) has chenged offlaw when they made a deleting (post) tool.
> Rokka should reference the way the tool accessed to the place as sequencially.
な… 何を言っているのか わからねーと思うが 
おれも 何を言ってるのか わからなかった…

>>85 said
> http://www.gedoh.org/aki/2ch/current/bbs/
> 結構昔、read.cgiを改良するときにソースをみんな見れるようにして改良したらしい。
> ここのread.cの1444行〜1512までがほぼ一緒。
> Many years ago, someone published to watch source code of read.cgi for everyone.
> Lines are same as 1444-1512 in read.c .
>
>
> よく考えてみると、差分取得を考える必要は無い、すべて最初から全取得にすべき。
> Rokkaの目的の日付を隠すことを確実にするには全取得が一番いい
> I was deeply thinking and I got a conclusion that it is not necessity to get patial, it should be entire.
> Only entire is the best to hide timestamps exaxtly.
イグザクトリイ。
>
> 仔花子もすべて最初から全取得なので今更気にする必要は無いかと
> You don't have to care about partial dat since Kohanako was only return entire dat until first release of Kohanako.
>
> >>2のオプションは廃止しちゃう・・・?
> レス番指定だけだと、削除されたかの確認が出来ない。
> サーバからは消されているのに、クライアントには残ってるってのは避けたい
> I think <OPTIONS> in >>1-2, could be obsolete.
> Because it could not confirm posts have been removed to specify post number.
> It have to avoide posts have been already rejected from the server but left in client.
な… 何を言っているのか わからねーと思うが 
おれも 何を言ってるのか わからなかった…

# ほ、翻訳が追いつかない…

>>86-88 said
> offlaw.txt見て合点が行ったけど、byte offset差分取得はかちゅ〜しゃ or それに準ずる専ブラ(Jane含む)にのみ
> 許可されている特別なメソッドという位置付けのようですね
> zz_katjusha_raw はこれらの専ブラでのみ真になると(恐らくUAもしくはURI内の'sid=Monazilla...'部分から判定)
> Patial method was only allowed to Katjusha and some browsers(include Jane) complied with Katjusha.
> zz_katjusha_raw become true if browsers comply Katjusha,
> or the server detected key string in User-Agent in the requestheader or URL(sid=Monazilla...)

  ommited some lines which are just report how it did
> byte offset差分取得をかちゅ〜しゃ系以外に許可しなかった理由は、
> 本来はレガシー仕様をよく知らない新しい専ブラにこのメソッドを許可したくなかった、という事情かなと解釈しました
> このバージョンのofflaw.cgiがいつ稼動し始めたかは不明ですけれども・・・
> The reason why partial method was not allowed any browsers except Katjusha complied,
> someone hated to allow all following browsers which don't know regacy specification, I guss.

# けど楽しい(´∀`)

とりま現状のAPIはままとして、ちょっと重要なことを流さないようにしなくちゃ。
>>
> dobattoだったかな?
> 削除ツールっぽいの弄る時にofflawの修正もしてたと思うのよね。
> あれが順番に叩いてる場所をRokkaも真似すれば15分のタイムラグ埋められるんじゃない?
これのソーススレッドURL知りたいです。

# う、交互にレスするようにしないとまたゴンタクレに引っかかっちゃうかなぁ…

忍法帖止まってても引っ掛かります?
とりま支援

>>93
ご支援ありがとうございます、桑原茂一でございます。

えー、、おっかながって引っかかるとこまで書いてなかったのでちょっと8つばかし連投。
30分以内にできていなければ涙目です。一応●をオンにしておこう、無駄だと思うけど。

支援を
長文で申し訳なかったです、kageの中の人ならもっと経緯にも詳しくて
要点も簡潔にまとめられたのかも知れませんー

たった今 http://dso.2ch.net/test/read.cgi/sakhalin/1294397915/ を見つけて読み始めたところですが
これがdobattoですね?

http://qb7.2ch.net/_tomato/dobatto/

使えなくなってるけどこれこれ

>>95
ありがとうございます
って1個回復しちゃった、済みません、30分ほど実験時間いただいて良いですか?
もしくは、ゴンタクレ機能してるかないか確実に分かる方のご報告があるまで。

ああっ、また1個回復してしまった…
てか、回数でないと何が何やら。 昨日の時点で2+5:8とかだったからいったいいくつ残ってるんだろう?

ゴンタクレは忍法帖関係なく機能する
忍法帖の機能で数字としてわかりやすくはなる

>>92
2011年1月のキャップ漏れ騒動のあと狐さんがいろいろ手直ししてくれたんですが、
3月以降は忍法帖をメインに弄ってたから以下スレの1月〜3月分あたりまでがヒントかも。

●過去ログよめない? どうしてだろう。
http://toro.2ch.net/test/read.cgi/sakhalin/1294750765/

■ 今日はtomatoツールの巻き
http://dso.2ch.net/test/read.cgi/sakhalin/1294814625/

102xerxes.maido3.net(プーアル茶)NGNG
>>91
これは、新たな始まりと新しい機会です。過去の遺産を覚えますが、将来のために、
より良いものを構築する必要はありませんすることができます。

>>101
過去ログ入り口用のcloudサーバを作ったりとか
> 削除は花子のデータを直接削除
> 削除した瞬間フロントにそのdatのキャッシュを破棄させれば
> ほーら すてきなシステム
のために準備したりとかは
↓にもそれらしい記述がある気がする(まだ過不足があるかも)

■ 仔花子を一台で、
http://toro.2ch.net/test/read.cgi/sakhalin/1294606282/13,23,103,115,220,268,381-385,394,402-404,406-411

支援

もう一つ支援

もっと支援

更に支援
テストスレにでもポストした方がいいですかね?

ご支援ありがとうございます。くわっ…

というわけでものの見事に引っかかって涙目で画面が良く見えませんが、もうやだこのスレ。
>>97
見ました。何か目がチカチカしますが、なんでしょう?
えーと、できれば開発議論しているスレURLが欲しいです。>>96 で当たりならとりあえず支援だけで。

あと、今多分3+5:8なので+5を(あ、さっき引っかかったから+6か?いやこのレスを投稿しようとしてまた引っかかったから+7?)
消すために16時間ここを離れていいですか?
Codemonkey氏には何か適当に返していただくことで凌ぐかそのまま議論していただくと言うことで。
ブラックリスト消さないと辛いですー

>>101
読んでみます。

>>102
Please post with in english. Automatic translater sometime translates as opposit meaning.

>>Codemonkey
I'm going to leave here to clear black list. I should stop posting arround 16hours.
Otherwise I could post only 1 post until someone post here, and the conditioin will be continued
until I stop posting arround 16 hours(it means after Rokka become finalized).

109C ◆Odemonkey. (プーアル茶)NGNG
>>108
How does the black list work? Why does it put you on a black list? Thats dumb.

So far from our discussions, I will be adding the dat-ochi function.

Janestyle seems to be the only browser that was using the "raw" parameter. They had some kind of special permission to use it.
I think having special permission to use features is not good. Lets remove the raw function, or make it available for everyone to use.

If you want, we can make a thread on bbspink. There are no post limits or black list on bbspink.

>>85 確かにオプションは廃止してもいいですよね。

Here is a dat file on the client.

1 post A
2 post B
3 post C: that contains inappropriate words
4 post D
5 post E

Here is an up-to-date file on the sever.

1 post A
2 post B
3 post D
4 post E
5 post F
6 post G
7 post H
8 post I

The post C has been deleted by the administrator.
The client requires "6-". And the server returns as below.

6 post G
7 post H
8 post I

Now the file on the client is as below.

1 post A
2 post B
3 post C: that contains inappropriate words
4 post D
5 post E
6 post G
7 post H
8 post I

The inappropriate POST C remains and POST F is missing.
This is the reason why <OPTIONS> should not be used.

>>109
> >>108
> How does the black list work? Why does it put you on a black list? Thats dumb.
I described in >>37. I'm not clearly understanding it.

> So far from our discussions, I will be adding the dat-ochi function.
\(^o^)/

> Janestyle seems to be the only browser that was using the "raw" parameter. They had some kind of special permission to use it.
> I think having special permission to use features is not good. Lets remove the raw function, or make it available for everyone to use.
I agree with you.


> If you want, we can make a thread on bbspink. There are no post limits or black list on bbspink.
Yes please.
てか、最初からそうしてくれればいいのにー

昔は転送量削減を重視して差分取得・gzip使用を組み込んでいたけど、
今は●流出分のレス削除とか時刻改竄・隠蔽重視で
有無を言わさずレス全取得が必須なのか

>>112
byte offse指定した差分取得でもあぼーんがあれば全取得されてたんだから
大して変わらんでしょ

>>112
そこを議論していただきたいです。
twintailとしては全取得しかしないので蚊帳の外ですが。
いずれにせよCodemonkey氏(と私)との間では技術的観点より実装議論をしてテストするだけなので
直接Codemonkey氏に伝えていただくあるいは決議案をお知らせいただく(て私が伝える)なければ
http://stream.bbspink.com/update.txthttp://2ch.tora3.net/about.html を満たしたと(私が満足した)ところまでで終了です、たぶん。

>>112
Rokkaというより、転送量が経費に直結かつ回収手段が十分でなかった頃からの歴史、
当時のネットワーク帯域、利用者数≒アクセス頻度等が絡んで優先度が転送量>鯖負荷だった経緯があるのかと
今は利用者数が桁違いに増えているせいで利用者一人辺りの鯖負荷を軽減する事が
最優先なんだと思われ、専ブラ使わずにアクセスした際のウェイトとか見てもそんな気がする

かちゅ〜しゃの事情で言うと、差分取得を排除した場合でもkageがRokka→旧プロトコルの変換を
行えば(つまりkage内で全取得を行ってかちゅ〜しゃには部分取得分を伝える)一応動作を維持する事が可能
これはkageの中の人の作業負担の話になるので自分にはコメント出来ない

個人的には>>64のシステムを構築してる都合上どちらでも構わないんだけど、これはかちゅ利用者としては
特殊過ぎる事例だと思うのでかちゅの挙動をある程度調べた経験のある一個人以上のコメントはやっぱり無理だ

116C ◆Odemonkey. (プーアル茶)NGNG
Lets continue our discussion in this thread:
http://pele.bbspink.com/test/read.cgi/erobbs/1379086553/

Bbspink does not have black list, and it is easier to make posts behind proxy.

117C(プーアル茶)NGNG
Hello everyone.

Here is the source code for Rokka. Please have a look. You are all welcome to send pull requests!

https://github.com/Cipherwraith/Rokka

 URL http://rokka.<DOMAIN>/<SERVER>/<BOARD>/<THREAD>/[<OPTIONS>]?[raw=0.0&amp;]sid=<SID>
 SERVER : name of the server, pele,kilauea,...(bbspink) anago,awabi,....(2ch)

これさあ、サーバー名は2ch側で紐付けしてくれるようには出来ん?
現行スレの1つ前のスレを取得するならいいけど
数年前のスレを取得しようと思うと、板移転やらで正式な(?)サーバー名が分からない事があるんだよね

それか、正式な板移転の全ログを提供して頂けませんか
2000年くらいの鯖名がうまい棒のそれだった頃から。●で取得できる最古の時代から。

現行の●は対象のスレの鯖名含めた完全なurlが分からないと取得出来ないし
鯖名を2ch側で紐付けしてもらうにしても、スレッドキーがわからないと取得出来ない。
だから、誰かがurlを貼るか、各スレの前スレ経由でしか●が使えない。

サーバー名のログを提供してくれれば、各鯖のkako/subject.txtを表示する事が出来るから
自分で、昔のスレ一覧を見て、気になったスレを取得する事が出来る。
●を売る側からしても、ウリの一つに出来ると思うし。お願い><

>>118
ここはゴンタクレなどの規制がきつくて迅速な議論に向かないのでCodemonkey氏の管理下でもあるbbspinkへ移動しました。
Rokka System
http://pele.bbspink.com/test/read.cgi/erobbs/1379086553/
2つ上のレス >>116 にも書いてありますが

一応レスは転載して、可能性をCodemonkey氏に投げときますけど今それど頃じゃない事態になっているので回答には少し時間が掛かるかもしれません。

あと Rokka System http://pele.bbspink.com/test/read.cgi/erobbs/1379086553/46 をお読みいただいてあらすじ理解していただけると幸いです。

何のために新しいものを作っているの?
新しいシステムでは何が解決されているの?

結局仕様がどうなったのかいまいち分からないんだが、
最終的に仕様が確定して、システムが安定的に動くようになったら
きちんと告知してくれるのかね

頼むから個人情報は紐付けするなよ。カード会社には迷惑かけただろ
3枚全部交換になったし変更届け大変だったんだぞ。請求したいわ

123名無しさん@お腹いっぱい。(西日本)NGNG
そうかそうか

assent

いつになったら2ちゃんねるに対応するんだよ
過去ログ見せろ、クズが!

test

うふ〜ん

SETTING.TXTの奴と違う削除痕だけど誰だろ
> BBS_DELETE_NAME=あぼーん!

>>128
Pinkちゃんねるの削除システムが2chにも導入されたらしいからそのせいだろう

457 xerxes.maido3.net@Apparently admin ★ 2014/02/21(金) 11:31:38.89 ID:???
>>447
We are installing Pink Channel deletion
software on 2ch. That will be a little
change, but safer for the deleters.

過去ログ見れる機能ってもう回復したの?

.


新着レスの表示
レスを投稿する