>>http://toro.2ch.net/test/read.cgi/sakhalin/1378893022/110 It is not difficult to strip options from a link before retrieving a dat file. I think leaving the options feature is good for the people who have a reason to use it. If your app doesnt need to use options, then you can easily strip them before retrieving the dat file.
I considered why time difference would occur for 15 minutes. When there is probably a directory where it was overlooked depending on F15 o rF22 system. It becomes the time difference of 15 minutes in F15, and becomes the time difference of 1 hour in F22. Possibly Rokka overlooked /pool/ directory?
>>12 > >>10 > I dont think the source code is public. I am reading the code on the server. > > The file names are f22.cgi and f15.cgi. Maybe you can find a copy of them on google.co.jp? I'll try. And if you want me help, please do not hesitate to tell.
> By the way, you have excellent English. Where did you study English? I've lived in N.Y. about 9 month to develop embeded software with US people many years ago.
>>8 F22 runs for every hour. F15 runs every 15 minutes. The thread which disappeared from subject.txt is moved to /pool/ by F15. It is arranged by F22 after that to /oyster/.
>>20 said SID in request URL is not sent on HTTPS but HTTP so SID can be stolen. Is it possible to access with https? I think you (NT Tech.) already have a server certification you can allow us access on HTTPS.
>Could you make another more long SID? Here is a 10 day SID: Monazilla/2.00:4373298c8948z3710L4758Y0624V8081Z8057C1299i5093s20646o2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r
>How hayabusa3 is going? Jim-san asked the UNEI to send us the server login credentials for Hayabusa3, but UNEI has not replied back.
>>26 > >Is it possible to access with https? > I will ask about the https credentials, and set it up as soon as I have the credentials. OK. I just want to know it's possible or not.
> Did the old offlaw.cgi system use https? No. Currently it is not necessary to access on https.
>>24 Thanks a new SID. Regarding Hayabusa3, I'll inform 2channeler.
スレ違いに気づかずスレで延々とデバッグしていたら追い出される http://qb5.2ch.net/test/read.cgi/operate/1366640919/132 > I'm afraid to say, but please read the title of this thread. > This is not where you should keep talking about such things for a long time.
>>49 > The UNEI has refused to allow access to hayabusa3. Sorry, we cannot install rokka on hayabusa3 until the UNEI allow access. > > The dat-ochi should now work properly. Can someone please confirm that dat-ochi works? 「運営がhayabusa3へのアクセスを拒絶しました。 運営が許可するまでRokkaをインストールできません。
今現在dat落ちが正しく動作しません。どなたかdat落ちが動くか試していただけませんか。」
えええっ?
>>Codemonkey Do you mean behavior of dat-ochi itself is now not working correctly? Or, Rokka for dat-ochi is now working but not correclty, isn't it?
Hi Codemonkey, Are you tring to smoething Rokka, exceppt dat-ochi. Because Rokka has often not responded. I sent a request to Rokka, then got success. Then tried again sbout 30sec later, Rokka has never responded. Yesterday I could get response as same circumstance.
> > 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'.
Could you make Last-Modified in Rokka response header cpoied from source server ? And, could you add Content-Type in Rokka response header ? These are not included in current Rokka response header.
削除があるとdatサイズ変わるのでズレる レス指定差分 </b>xerxes.maido3.net<b><><>2013/09/14(土) 16:28:21.24 ID:Bb0dRgq1<> Mizutama custom is available at Rokka System <br> http://toro.2ch.net/test/read.cgi/sakhalin/1378893022/25,29 <> 名無し編集部員<>sage<>2013/09/14(土) 20:16:34.67 <以下略
>Could you make Last-Modified in Rokka response header cpoied from source server ? >And, could you add Content-Type in Rokka response header ? >These are not included in current Rokka response header.
I hope everyone's confusion will be fixed by looking at the code. I had to remove the "Cryptography" modules of the code. I hope everyone can understand why I removed it.
>>82 翻訳 > I hope everyone's confusion will be fixed by looking at the code. 皆の混乱がコード見てもらうことで解消すると思います。 > I had to remove the "Cryptography" modules of the code. コードからは "Cryptography" モジュールを除去してあります。 > I hope everyone can understand why I removed it. 何で除去したかが皆分かると思います。
>>86 > >>84 > No head functionality yet. Should I add it? Yes please if it's not so hard. HEAD can be used to reduce traffic to detect dat is available, modified, etc.
>>82 > I had to remove the "Cryptography" modules of the code. I hope everyone can understand why I removed it. I'm sorry I can't read Haskell. Please kindly advice me what was "Cryptography" modules used ? where did you remove it ? why did you remove it ?
>>89 >what was "Cryptography" modules used ? The cryptography modules were created by me. Its a new method of cryptography. where did you remove it ? I have a copy on my local machine. why did you remove it ? I removed it because it is against my government's law to release open source cryptography source code.
I am modifying JaneView. At least, it can get the dat of the above url. But, a curious HTML with "Success" is returned from rokka if browser requests a nonexistent thread.
It is helpful if the message at 1st line of response body was compatible with offlaw.cgi. But, unfortunately, I don't know detail of message from offlaw.cgi.
118 名前:名無しさん@お腹いっぱい。(きしめん だぎゃー) [sage] 2013/09/15(日) 03:37:13.35 発信元:182.170.146.64 0 URL http://rokka.<DOMAIN>/<SERVER>/<BOARD>/<THREAD>/[<OPTIONS>]?[raw=0.0&]sid=<SID> SERVER : name of the server, pele,kilauea,...(bbspink) anago,awabi,....(2ch)
コメントだけ抜き出してみると getServer :: (Bool, Maybe String) -- Check if there are more than 4 Strings in the list -- Check if the first in the list (ie pele) is in the server list -- If not, then return with nothing
getBoard :: (Bool, Maybe String) -- Check if there are more than 4 Strings in the list -- check if second word is in the board list -- If not, then return with nothing
getPost :: (Bool, Maybe String) -- Check if there are more than 4 Strings in the list -- Check if d!!3 is a number
* confirm dat-ochi working note that there is a trouble between 2chan and rokka now + add Last-Modified with the value copied from source server to rokka response header >>84,86-87 add Content-Type with 'text/plain' to rokka response header * supports HEAD http method to reduce traffic >>84,86-87 * the content of rokka response will be gzipped if Accept-Encoding:gzip in request header >>58 raw=0.0 parameter will never used for gzip flag * <OPTIONS> * raw=.xxxxxxxxxx byte offset * supports HTTPS >>26,28 * allows user omit <SERVER> >>144-146 * server/board/thread in archives(memories2) listing >>149
if <OPTIONS> will eliminated from the specification and implementation , it requires technical reason SID security issue, as HTTPS, is not implemented in rokka before bbs.cgi supports https
>>149 Server.hsを見てたらpremade listとかを検索する、見たいなこと書いてあったからそれの応用が使えると手間じゃないかも。 Server.hs(147) -- If a board or server dont match the premade list, then everything is set to Nothing, and an error is output
* confirm dat-ochi working note that there is a trouble between 2chan and rokka now + add Last-Modified with the value copied from source server to rokka response header >>84,86-87 add Content-Type with 'text/plain' to rokka response header * supports HEAD http method to reduce traffic >>84,86-87 * the content of rokka response will be gzipped if Accept-Encoding:gzip in request header >>58 raw=0.0 parameter will never used for gzip flag * <OPTIONS> * raw=.xxxxxxxxxx byte offset * supports HTTPS >>26,28 * allows user omit <SERVER> >>144-146 * server/board/thread in archives(memories2) listing >>149
This is a good list of things that need to be finished still.
I am currently working on a very important project that needs to be finished before Tuesday. I will finish the other project before I can continue Rokka development. If you guys want, you can submit pull requests on github. I will continue with Rokka development on Tuesday.
>>154 翻訳 > This is a good list of things that need to be finished still. まとめ乙
> I am currently working on a very important project that needs to be finished before Tuesday. 火曜日前に終わらせなきゃなんない大変重要なプロジェクトをやってるんだ -- おいおいこれじゃねーのかよ > I will finish the other project before I can continue Rokka development. Rokka開発を再開する前に終わらせるし -- まあ2・3日でRokka終わるのかと思ったらもう1週間だからな > If you guys want, you can submit pull requests on github. なんかしたいなら、GitHubのpull requestを送ってもいいよ -- 誰がHaskellなんかやるかよ、てか、全面書き換えちゃうぞ > I will continue with Rokka development on Tuesday. 火曜日から再開するんで( ゚д゚)ノ ヨロ
>>154 > * confirm dat-ochi working note that there is a trouble between 2chan and rokka now I've been trying to exam how it works on bbspink where there is no problem with Rokka , since you've already implemented dat-ochi functionality. It is too hard to catch dat-ochi because bbspink has no such boards easy to dat-ochi, e.g. Jikkyo.
Let's talk with Jim-san. Part19 http://pele.bbspink.com/test/read.cgi/erobbs/1338790088/715 715 名前: ◆FUCKKER.Gw [] 2013/08/30(金) NY:AN:NY.AN ID:gzMlEq9G When all the security problems are fixed we will put live a new system that old Maru users will be imported into and be able to use. I don't want to call that system Maru anymore. Does anyone? It won't store any logs it will not be what Maru was but serve the same function as Maru. What would be a good name for this?
名前募集してたのか。でも応募があった名前じゃないし。
867 名前:Code Monkey ★ [] 2013/09/02(月) 17:14:32.40 ID:??? >>865 We have not touched the log files yet. I am looking for a solution to hide the BBSPINK and 2CH log files of the last two months.
257 名前:Code Monkey ★ [] 2013/09/08(日) 01:15:52.72 ID:??? >>254 You're welcome. >>256 Have a look at the image website that I made last year: http://nyan.bbspink.com/
278 名前:Code Monkey ★ [] 2013/09/08(日) 02:11:20.27 ID:??? Since the moment I heard about the 2ch/bbspink data leaks, I have been working 18 hours a day with no breaks. I spent the first two days reviewing the entire 2ch and bbspink code. I found many things to fix. Now I am working hard to find the best way to protect the future anonymity of 2ch and bbspink users.
I am currently rebuilding as much of the bbspink and 2ch code as I can. My first goal is to rebuild the Maru system and make it impenetrable. I will take the weak areas of the code and make them strong.
My major priorities are security and anonymity.
Everyone should have the human right to be anonymous when they want it.
427 名前:Code Monkey ★ [] 2013/09/09(月) 22:59:27.49 ID:??? I have a perfect solution.
I wrote new server software to replace the old offlaw.cgi Maru system. My new system is called "Rokka". Inside Rokka, I can do a find/replace to remove the timestamp on posts between the time frame of the leak.
Using the Rokka system, the archived dats on the server will never change. But, when a request is made to view dat files between the certain timeframe, the timestamp will be censored.
Example: It will be like the mosaic in an AV movie. The girl's body never has a physical change, but the viewer can only see a mosaic. There wont be any way to remove the mosaic on Rokka.
This mosaic will only apply to the 2ch and bbspink timestamps between July and August 2013.
> It will be like the mosaic in an AV movie. The girl's body never has a physical change, but the viewer can only see a mosaic. 君の国にはないだろ>C あ、あるのか?
I finally completed the new system that will replace Maru. The new system is called "Rokka".
One of the best things about Rokka is that it can display MOSAIC over timestamps. Now we can prevent everybody from seeing timestamps that shouldnt be seen.
You will see the new Rokka system in your apps very soon!
Hi Codemonkey, I ask you some questions to propose completely new functions. Please let me know.
1) In Server.hs, I found a comment -- If a board or server dont match the premade list, then everything is set to Nothing, and an error is output Is the premade list on Rokka server ? How is it made ? When is it made ? What format is it ?
2) Does Rokka lookup another premade list to find a thread which is reqested by Rokka API(user request) ? Or , does Rokka scan the directry on demand ?
3) Is it easy to send back a subject.txt which is made from another Rokka API ?
BTW, This system is named Rokka , ロッカー(Locker). Loging-in ● to get archives is as opening the door of the locker to get archives using the key. KEY is KAGI in japanese. So now we would say get a archive from Rokka using KAGI. 「鍵を使ってロッカーからログ(dat)を取り出す kagi wo tsukatte rokka kara rogu(dat) wo toridasimasu」 Log-in 「●にログインする Maru ni rogu-in suru」→「鍵を開ける Kagi wo akeru」 You won't say MARU any more, will you ?
>>180 >Is the premade list on Rokka server ? Yes. >How is it made ? Me and Jim-san made it manually. >When is it made ? It is updated everytime the boards change. >What format is it ? I will update github with this code. You can check it on github. >Does Rokka lookup another premade list to find a thread which is reqested by Rokka API No. >does Rokka scan the directry on demand ? Yes. >3) Is it easy to send back a subject.txt which is made from another Rokka API ? I dont understand this question. When will you need to "Send back a subject.txt"? What is "another" Rokka API? >So now we would say get a archive from Rokka using KAGI. KAGI is a cool name!
>bbspink has no such boards easy to dat-ochi That is true. I also have not confirmed that "dat-ochi" works correctly or not. We cannot know until rokka.2ch.net is working again.
Right now, rokka has about a thousand requests a day. This is really good! It will surely be more when the system is working with 2ch also.
Please look at github, I just updated it with the files containing the boards and server names.
I'd like to have this function for all archives. So I asked you such questions to find esay, light, automatic updated and unified way. It is out of function of offlaw, but it is desirable to satisfy ●, oops, Kagi users especcially users who have been leaked their personal information , including me.
>>185 How great job! I've never known. It has been viewed over 100 millions?!
> I dont understand this question. When will you need to "Send back a subject.txt"? What is "another" Rokka API? って返してきたからああ、やっぱ嫌がるよねぇ もう一押しして明確に拒否ってもらおう と思ったら食いついてきた。
Hi CodeMonkey, How is rokka.2ch.net going ? There are 3 browsers (Xeno,Live2ch and unofficial Mizutama custom) using Rokka system, currenlty I know. Some users have complain not to get 2ch dats , and they are confusing now . The other browsers are waiting and seeing what's going on thr Rokka. Then they could not update yet. Please kindly inform us what is going on as often as possible.
>>204 Some hardware replacement needs to be done for banana3000. This is the place to start for deletion request on 2ch. http://qb5.2ch.net/saku2ch/ I will take care of removing anonfile from Pink Channel myself.
How do you want this to be setup? Are you talking about adding the same subject.txt files to index the banana3000 and banana3001 servers also? Should these files be reachable with Rokka?
Hi, Codemonkey, We should exam dat-ochi functionality 1st, but currently it too hard to exam since rokka.2ch.net is not working rokka.bbspink.com is working well but bbspink.com doesn't have easy to dat-ochi boards.
To avoid this circumstance, could you make a board only to use examing dat-ochi on your bbspink ? The board can keep only 3 theads, so dat-ochi can occur easily. It would be available until the end of this month, many browser developer could exam dat-ochi. If it's not possible , please advice me.
>>208 Dear Mizutama-san, I am the one that actually makes the boards. Unfortunately I am not familiar on how to set them to make a dat-ochi board. Is this something that is set in the local rules? I can create a board today for this testing, or if it is only a local rule setting, we could use the meow board which is already a test board.
>>209 > I can create a board today for this testing, or if it is only a local > rule setting, we could use the meow board which is already a test board. Where is meow ?
We should make many threads and make them dat-ochi so quick, therefore this board meow should not be used out examination since existing threads will be gone.
The new board of SETTING.TXT may be BBS_THREAD_NUMBER=3 board can keep only 3 threads BBS_THREAD_TATESUGI=0 everyone can make a thread any time continously is value '0' avairable ?
If BBS_THREAD_TATESUGI can not be set '0', it means I can't create a thread after value of BBS_THREAD_TATESUGI persons create threads. That is a problem. I want to create thread continuously to make dat-ochi threads. There is the dat-ochi thread during 15minutes, then it is moved to archives.
Almost yes. But only this function can be avairable for KAGI users. Rooka catalog. Currenty it can be accessed everyone. It can be left. And Kagi users can be get a subject.txt from all of archives, using additional Rokka API like http://rokka.<domain>/<server>/<board>/<period>/subject.txt?SID=xxxxxxxxxxx <period> is upper 4 digits of thread key , or could be year-month This function could be a kind of scaning process at current dat request on Rokka.
Also, if possible, server-board mapping list can be gotton from Rokka with XML or something , using additional Rokka API like http://rokka.<domain>/serverlist.xml?SID=xxxxxxxxxxx Eventhough we can see your server/board list in Haskell code on your GitHub, it so hard to read Haskell code and make relationship between server and board. The XML can show this structure flexible and standard format, every developers can use server-board list easily. The XML could only be updated at server changed by manually, but it's better to be built automatically. <?xml version="1.0" encoding="UTF-8"?> <archiveinfo> <servers> <server name="[name of the server]"> <board name="[name of the board]" /> </server> </servers> <lastupdated>ISO 8601 DateTime string</lastupdated> </archiveinfo> Or, any other formats can be considered.
>>218 > Setttings on meow are now changed. >>212 > Please let me know when you are finished with testing and I will change this > back. Oh, it's terrible. All threads will be gone ewhen someone create threads. Please resume SETTING.TXT. And please make another board with BBS_THREAD_NUMBER=3 board can keep only 3 threads BBS_THREAD_TATESUGI=0 everyone can make a thread any time continously is value '0' avairable ? BBS_NINJA=nashi avoid ninpo-cho distrb me timecount=10 timeclose=8
>>220 I have a meeting to attend, when the meeting concludes. I will make the new testing board. I changed number to 10 and tatesugi to 32 on meow. It is only an expirimental board for testing so hopefully nobody will be angry.
timecount=10 / timeclose=8 むむむむむーーー。 I have to stop posting around 10 hours.
Limitation of continuous posting
every servers of 2ch and bbspink, since november 2011.
Setting: parameter in SETTING.TXT timecount : number of posting investigated , also this value is used penalty hours timeclose : number of posting you can post within timecount
exsample: timecount=16 means there are 16 boxes. □□□□□□□□□□□□□□□□
timeclose=8 means you can mark boxes as being post up to 8 □□□□□□□□□□□□□□□■ ← 1st post, mark 1 □□□□□□□□□□□□□□■■ ← 2nd □□□□□□□□□□□□□■■■ ← 3rd □□□□□□□□□□□□■■■□ ← someone post □□□□□□□□□□□■■■□■ ← 4th post … □□□□□□□■■■□■■■■■ ← 8th post , if you try to post at this time, you will record to black list and increment record count automatically … ■■■□■■■■■□□□□□□□ ← after 7 peoples post ■■□■■■■■□□□□□□□□ ← another post, makes you to get a box to post
# このあと8連投します # I'll try posting 8 time continously. If it is nnot completed, I'll be in HELL.
>>227 Dont go to HELL. Ill help and post some too.
I am currently writing a new database system for KAGI users. After I finish the database system, then I will add the features we have discussed to Rokka.
>>237 > Dont go to HELL. Ill help and post some too. (TдT)
> I am currently writing a new database system for KAGI users. After I finish the database system, then I will add the features we have discussed to Rokka. Oh great!
> There is a new board for testing dat-ochi on bbspink. Please have a look: http://kilauea.bbspink.com/3shuchaku I've checked and found some inconvenience threads can be kept over 3. Please reduce it to 3 , modifying somewhere in the server TATESUGI is now 1. It means I can't create another thread after someone create a thread We need to ability to create threads continously. I don't know how it could be
>>238 I've never used IRC. I have to learn how I use.
16:47 (CipherWraith) hi 16:48 (Mizutama) Hi, I'm invited here by Code Monkey 16:48 (CipherWraith) i am code monkey 16:48 (Mizutama) Oh 16:48 (CipherWraith) this is my github: http://github.com/cipherwraith 16:48 (CipherWraith) :) 16:48 (CipherWraith) maybe more people will join this room later 16:48 (Mizutama) oops 16:49 (CipherWraith) I do not read bbspink or 2ch very often 16:49 (Mizutama) I can not post so quick 16:49 (CipherWraith) but I am always on IRC 16:49 (Mizutama) OK 16:49 (Mizutama) If I have trouble, I'll post here 16:50 (CipherWraith) post on bbspink also. then we can have a record of troubles 16:50 (CipherWraith) but i can help quickly if you come to IRC 16:50 (CipherWraith) I cannot read Japanese very well. So BBSPINK and 2CH are not very interesting for me. 16:51 (Mizutama) absolutly true but I might get blocking over posting limit 16:51 (CipherWraith) yes 16:51 (CipherWraith) right now rokka.2ch.net has some problems with UNEI 16:51 (CipherWraith) UNEI asked to see the code for rokka. 16:51 (CipherWraith) then they saw how rokka works, and found a way to block it on 2ch 16:52 (CipherWraith) so jim-san is fixing rokka.2ch.net, but i dont know how long it will take 16:52 (CipherWraith) maybe it will be okay tomorrow 16:53 (Mizutama) I'll copy this chat log and paste our thread with translation
>Codemonkey and Jim You've already changed SID. It is now Monazilla/2.0. Previous SID is Monazilla/1.0. Did you changed definition(?) of SID Monazilla/1.0 to 2.0 ?
I think Rokka doesn't care but bbs.cgi or somewhere should be care so browsers should consider it.... Am I correct?
>>268 > >>265 > bbs.cgi will be modified to use the new Monazilla/2.0. So some browsers should be fixed to send Monazilla/2.0 if they send static string Monazilla/1.0, shouldn't ?
Hi Codemonkey, Yesterday I was very fun to play with you. That is my first experience of chatting. Well , how are you going to Last-Modified & Content-Type ? >>75 If it is not started yet , please make it 1st before you play >>237 .
Regarding >>268-270 , You mean Monazilla in SID shall be changed , don't you? I guss Monazilla which is the value of User-Agent in HTTP request header sent by browser on posting is not clear to need to be changed. If bbs.cgi doesn't check whether the version value is 1.0 , browsers are not required to change posting program.
>>Codemonkey The status line which is line 1 of dat from Rokka , success - pool success - oyster Error XXXXX Won't you change these strings , will you ?
>>Codemonkey Now Ninpocho has come back.It makes me not allow posting so long text and deny link because of the level of Ninpocho. The level of Ninpocho can increment only 1 level every 23hours. And if I get error by Ninpocho (long text or link), continuous counter is incremented even post has not been succeeded. How do I do ?!
I think it is better that the Rokka returns dat (or gzipped dat) itself, without status code at the 1st line, when the process has successfuly done. Because clients have to skip the 1st line for every dat, to get original dat.
Suppose that clients want to get an old dat, and save it in gzipped format, they have to gzdecode the received content body, skip the 1st line, and then gzencode the content from the 2nd to last line. It is incovenient.
http://qb5.2ch.net/test/read.cgi/operate/1366640919/115 > Did Maru return error or success code in 1st line? It can't know now, either. As far as I remember and refering my code, Maru did not return success code at the 1st line, but did return error code.
えとえとGET …ああっ接続がキレた。仕方ない、コピペする行をメモ帳に作っといて高速コピペだ。 > o rokka.bbspink.com 80 GET /kilauea/3shuchaku/1379468188/?sid=Monazilla〜 HTTP/1.1 リターンキーを押すとおお、応答が返ってきた。って >>290によればもう1行空行を送ってからじゃないとダメなのだからまずいねぇ。 RFCさが、そのまえに掲示板サーバーで試してみるか。
> o kilauea.bbspink.com 80 GET /3shuchaku/1379468188/ HTTP/1.1 リターン まだ何もおきない もっかいリターン 404htmlが返ってきた。 こういう動作じゃないといけない、ってことだよね。
http://www.ietf.org/rfc/rfc2616.txt > 5 Request > > A request message from a client to a server includes, within the > first line of that message, the method to be applied to the resource, > the identifier of the resource, and the protocol version in use. > > Request = Request-Line ; Section 5.1 > *(( general-header ; Section 4.5 > | request-header ; Section 5.3 > | entity-header ) CRLF) ; Section 7.1 > CRLF > [ message-body ] ; Section 4.3 > > 5.1 Request-Line > > The Request-Line begins with a method token, followed by the > Request-URI and the protocol version, and ending with CRLF. The > elements are separated by SP characters. No CR or LF is allowed > except in the final CRLF sequence. > > Request-Line = Method SP Request-URI SP HTTP-Version CRLF
>>Codemonkey I got a problem report >>290 . >>290 says When the client send the request-line , Rokka respond immediately before the client has not send followings yes. Using some http libraries , client can not communicate with Rokka.
It seems Rokka works as HTTP/0.9 even request is HTTP/1.0(1.1). You have to check HTTP-Version and wait final CRLF if HTTP-Versin is specified on the request.
I think this is the reason why I got response delay trouble which I told you during chatting. Mizutama custom retries when connection has closed even request has not completed yet.
I am currently working on a new module to better manage headers. It should be finished today or tomorrow. Then Rokka will be html/1.0 compliant.
>Well , how are you going to Last-Modified & Content-Type Yes that is being added in the new header module that I am working on now.
>> 269 I will make bbs.cgi work for both Monazilla/1.0 and Monazilla/2.0. Dont worry about that. I have not yet had time to work on bbs.cgi.
>>270 User agent is not required right now. It is nice if you put your browser's identification in the UA, then I can count how many times your browser has accessed Rokka.
>> 273 > Won't you change these strings , will you ? Should I change these strings?
>> 277 I dont know what Ninpocho is.
> clients have to skip the 1st line for every dat, to get original dat. The old offlaw.cgi put a status code in the first line.
> Maru did not return success code at the 1st line, but did return error code. Wrong. The old Maru's offlaw.cgi returns a success code on the first line.
> You have to check HTTP-Version and wait final CRLF if HTTP-Versin This will be installed in the next version of Rokka.
> Mizutama custom retries when connection has closed even request has not completed yet. Thanks. I noticed that on the server also and couldnt figure out what was wrong. Now I know. I will fix it.
Please if anyone has any suggestions, just tell me. You can also make a pull request on the github repository here: https://github.com/Cipherwraith/Rokka
Sorry if my development is slow, I am working on many projects simultaneously.
> I have been very busy yesterday and today. 昨日今日すんげ忙しくてさ
> I am currently working on a new module to better manage headers. It should be finished today or tomorrow. Then Rokka will be html/1.0 compliant. ヘッダをもっと良く管理するモジュールのために作業してる。強明日には終わらせないとね。そしたらRokkaはHTTP/1.0に則るさ。
> >Well , how are you going to Last-Modified & Content-Type > Yes that is being added in the new header module that I am working on now. うい、いまやってる新しいヘッダモジュールに追加するぜ。
> >>269 > I will make bbs.cgi work for both Monazilla/1.0 and Monazilla/2.0. Dont worry about that. I have not yet had time to work on bbs.cgi. bbs.cgiをManazilla/1.0でも2.0で動くようにするぜ。気にスンナ。まだbbs.cgiさわる時間取れねんだけどね。
> >>270 > User agent is not required right now. It is nice if you put your browser's identification in the UA, then I can count how many times your browser has accessed Rokka. いまUser-Agentは要らんぜ。UAにおまいのブラウザIDを入れりゃナイスだぜ、おいらがおまいのブラウザが何回来たか数えられるし。
> >>273 > > Won't you change these strings , will you ? > Should I change these strings? Because 'success' starts lower case letter , 'Error' starts upper case letter. It is not beautiful. 'success' has parameter(pool or oyster) following with hyphen. 'Error' has parameter which is a error code separated by space. These are not so formal. I don't think it is necessary to change , up to you.
> > clients have to skip the 1st line for every dat, to get original dat. > The old offlaw.cgi put a status code in the first line. > > > Maru did not return success code at the 1st line, but did return error code. > Wrong. The old Maru's offlaw.cgi returns a success code on the first line. 多分>>283の最終行に対する返事。 > ●は成功の時1行目(に成功コードを)は返さなでエラーのときエラーコードを返した。 ちげーよ。旧●のofflaw.cgiは1行目に成功コードを返しす。
> > You have to check HTTP-Version and wait final CRLF if HTTP-Versin > This will be installed in the next version of Rokka. 次のバージョンのRokkaに入るは。 新しいモジュールを入れた奴を新しいバージョンって言ってるのかな、多分。
> > Mizutama custom retries when connection has closed even request has not completed yet. > Thanks. I noticed that on the server also and couldnt figure out what was wrong. Now I know. I will fix it. >水玉カスタムがリトライしちゃうんだわ、リクエストが送り終わってもいないのにコネクションきられちゃうと。 あり。サーバーで(そうなってんの)気づいたけどなんが悪いんか分からんかった。直すは。
> Please if anyone has any suggestions, just tell me. You can also make a pull request on the github repository here: https://github.com/Cipherwraith/Rokka 提案があるならおいらにいってね。GitHubのpull requestしてもいいよ。 Just tell you? I can not get suggestions , can I?
> Sorry if my development is slow, I am working on many projects simultaneously. 開発が遅くてごみんなさい、たくさんのプロジェクトを同時にやってるんでね。
>>Codemonkey >>80 pointed out vault directory on kilauea.bbspink.com is still appeared when you open http://kilauea.bbspink.com/kakolog.html . It should be changed to '_vault' to hide. Right now if you kick the link of vault , 404htm is shown.
>>307 > > Because 'success' starts lower case letter , 'Error' starts upper case letter. It is not beautiful. > I will make it beautiful. How are you going to make it ? Browsers are detecting the process result to check the string in 1st line of the response content from Rokka. To comparing string , sometime it makes a trouble (character case , spacing, spelling, etc.).
>>316 > 2ch boards are still not live. We are still waiting for Jim-san to finish moving the banana3000 to a new hardware machine. He said it takes arround 2days at http://qb7.2ch.net/test/read.cgi/operate2/1378699887/174 > 174 名前:xerxes.maido3.net(地震なし) [sage] 2013/09/21(土) 15:07:35.01 ID:91i6KyaU0 > So the transfer of the data on banana3000 will take at least another 40 hours. > It is time consuming, but patience will save all the data. Has he started already ?
2ch can be available with rokka on Tuesday or later, can't ?
'Telnet/0.1' is my application using TcpClinet(kind of socket). Each line has been sent by manually.
1) to server (HTTP) root connected to rokka.bbspink.com Port:80 GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Host: rokka.bbspink.com Connection: close
HTTP/1.0 404 Not Found Content-Length: 13
Error 8008135
2) get a dat without gzipped connected to rokka.bbspink.com Port:80 GET /kilauea/3shuchaku/1379468188/?sid=Monazilla/2.00:4373298c8948z3710L4758Y0624V8081Z8057C1299i5093s20646o2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r HTTP/1.1 Accept: text/html, application/xhtml+xml, */* User-Agent: Telnet/0.1 Host: rokka.bbspink.com Connection: close
Content-Type is now set as plain text with the "Shift_JIS" encoding. It works on both rokka.bbspink and rokka.2ch now.
I will add "last-modified" tomorrow morning in Japanese time. Last modified needs me to setup a new parser to parse the last-modified date from the archive headers.
I am very hungry now and will watch a movie. Hope you have a good weekend!
>>323 > Content-Type is now set as plain text with the "Shift_JIS" encoding. It works on both rokka.bbspink and rokka.2ch now. Well, connected to rokka.bbspink.com Port:80
GET / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* User-Agent: Telnet/0.1 Host: rokka.bbspink.com Connection: close
HTTP/1.0 404 Not Found Content-Type: text/plain; charset="Shift_JIS" Content-Length: 13
Error 8008135
Humm.
> I will add "last-modified" tomorrow morning in Japanese time. Last modified needs me to setup a new parser to parse the last-modified date from the archive headers. From the archive headers ? Does Rokka access a dat file directry ? Doesn't get it thru network ? Where is Rokka instance ?
GZipped content can only be gotten when request URL has exact 'raw=0.0'. No other values will not be recognized for gzipped. Of course it will not be recognized as byte offset.
And I found minor problems in http://stream.bbspink.com/update.txt ; SID for development is too old. The document doesn't have date when it was described. So 'Here is a test SID. It will expire in 5 days:' has no sense. Even the document should be updated, Jim has already infromed to all of 2channelrs on thread 924.
>>335 > The http://stream.bbspink.com/update.txt is now updated with a 10 day sid code I've checked now(12:03JST) and find ... > Here is a test SID. It will expire in 5 days: > Monazilla/2.00:4373298c8948z3710L4758p6811a4278j8170k1299y43207q2897a2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r 10 days?
And, Please put your name Plaase put the revision history. I rember 1st : 9 Sep. 2nd : 10 Sep. 3rd : today(22 Sep.) with the reason
> We need to decide on the specifications for "raw=??" today. > If "raw=??" is going to be a byte offset, then please tell me in which way it should be offset. > If "raw=??" is going to be removed, then I will check incoming headers for "gzip" instead of checking raw=0.0 for gzip. > Is "raw=??" useful to anybody? > Can I remove "raw=??" > Please give me some ideas. Thanks. I give following notice to 2channnelers; "Rokka will never support byte offset request. And 'raw=' will also be removed to avoid confuse with offlaw.cgi. Alternately, requesting gzipped content can be specified 'gzip' included in QueryString. http://rokka.xxxx.xx/server/board/thread/?gzip&SID=Monazilla........" It will be decided until 20 o'clock JST. If they choose another specification, then I'll infom you.
>Alternately, requesting gzipped content can be specified 'gzip' included in QueryString. Wouldnt it be best to have 'gzip' be flagged in the headers instead of the querystring? I still dont understand why offlaw.cgi required it to be specified in the query string.
>>341 > Removing "raw" completely is easiest for me. > > >Alternately, requesting gzipped content can be specified 'gzip' included in QueryString. > Wouldnt it be best to have 'gzip' be flagged in the headers instead of the querystring? I still dont understand why offlaw.cgi required it to be specified in the query string. Me too. But some web tool , for exsample http://ajaxcontroltoolkit.codeplex.com/workitem/26843 uses similar way. I did not find the reson why it specified gzip in QueryString. If all of http clients could handle http header manually, gzip command in QueryString was no sense.
Another question. Are there any transfering costs difference between archieves storage and Rokka if a Rokka client requests partial dat ? Are traffics between a client and Rokka shared ? Who requirs reducing amount of transferred data ? Smart phone ? WiFi ?
> last updated: > Sat Sep 21 19:30:08 PDT 2013 > > Hello. > > 2ch and BBSPINK need an API update. > > 省略 > > Here is a test SID. It will expire in 10 days: > Monazilla/2.00:4373298c8948y4671g4635r53615D4699f4014I3455C9148A6600f2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r > > We are currently developing the specifications for "raw=". Maybe it will be removed, maybe it will be kept. Please go to this thread and give your opinion: > http://pele.bbspink.com/test/read.cgi/erobbs/1379086553/ > > > Currently BBSPINK archived dat is enabled. 2CH archived dat is disabled. After a couple of days, then 2CH archived dat will be enabled. 。。。。
締め切りです。 'raw='が変に実装されているからややこしいことになったので、取っちゃいましょう。 彼も取りたいみたいだし。 >>335 > Is "raw=??" useful to anybody? > Can I remove "raw=??" gzipに関しては、皆も彼も言ってる通りAccept-EncodingでRokkaが判断します。 バイト差分だとかの件は、RokkaがHTTP 1.1にしなきゃならない時に再検討して押し込んでもらいましょう。
'raw=xxx' is removed. To get content gzipped, a browser should set Accept-Encoding:gzip in HTTP request header. Then Rokka decides whichever the content is returen zgipped or not. Mabe to return a dat, gzipped, error text can be plain. If the request doesn't contain Accept-Encoding:gzip , it means the browser doesn't have capability to uncompress , Rokka shall return as plain text(uncompressed content).
The byte ofsset function is not implemented. When Rokka should be upgraded to HTTP 1.1 , it will be considered with Accept-Range/Range header fields. If Rokka will return Accept-Range:bytes , a browser can send Range: as similer as getting live dat.
>Are there any transfering costs difference between archieves storage and Rokka if a Rokka client requests partial dat ? There is a processing difference, but it is very small.
>Are traffics between a client and Rokka shared ? No.
>Who requirs reducing amount of transferred data ? Smart phone ? WiFi ? I dont know.
>To get content gzipped, a browser should set Accept-Encoding:gzip in HTTP request header. OK!
>The byte ofsset function is not implemented. OK!
>When Rokka should be upgraded to HTTP 1.1 , it will be considered with Accept-Range/Range header OK!
>>356 If a browser sends 'raw=xx' , how does updated Rokka respond ? 1) Error 69 current(previous?) Rokka 2) HTTP 400 Bad request 3) Success 4) Gone 5) who knows
How is Last-Modified going ? After Last-Modified is attached , it should be examined. To do it , 1) make some threads with 20-30 posts local dat on the client should be kept fot further examination 2) dat-ochi these threads , then these will be moved to archive. 3) confirm their Last-Modified and record them (write datetime down to text file,...) 4) delete some posts(あぼーん) in middle of each threads 5) check Last-Modified of each threads and confirm recorded datetime 6) check how あぼーん will be proceeded Above procedure is simulating '削除delete'.
I think something should be prepared, but I'm not sure. Can I(everyone) delete some posts in threads? How?
>If a browser sends 'raw=xx' , how does updated Rokka respond ? Rokka will ignore it.
>I think something should be prepared, but I'm not sure. >Can I(everyone) delete some posts in threads? How? I can delete posts on bbspink easily. We can test this later after I finish the code for "last-modified"
>If a browser sends 'raw=xx' , how does updated Rokka respond ? Rokka will ignore it.
>I think something should be prepared, but I'm not sure. >Can I(everyone) delete some posts in threads? How? I can delete posts on bbspink easily. We can test this later after I finish the code for "last-modified"
1. Make the "head request" work correctly. 2. Ignore the "raw=0.0" functionality 3. Rewrite the header parser 4. Check incoming headers for "gzip" and then compress if asked 5. Return "last-modified" in header
Sorry, It Seems I was very tired. I was waiting for you with making test tool until 11am. The tool had been finished then I was sleeping although I thought I took only a few rest.
>>360 > >If a browser sends 'raw=xx' , how does updated Rokka respond ? > Rokka will ignore it. OK.
> >Can I(everyone) delete some posts in threads? How? > I can delete posts on bbspink easily. We can test this later after I finish the code for "last-modified" Good.
>>362 > Mizutama, what is the URL for your 2ch viewer app? Mine is not official so there is no distribution site. Only Rokka System http://toro.2ch.net/test/read.cgi/sakhalin/1378893022/25,29 is available. > 25 名前:水玉(Mizutama) ◆qHK1vdR8FRIm (もんじゃ) [sage] 2013/09/12(木) 02:01:33.14 発信元:202.212.254.68 0 > The conclusion is > Required changing is request URL to rokka complied with >>1, if the browser could have accessed Maru correctly. > > Here is evidence, which is twintail Mizutama custom version. > twintail-2.3.110.0.zip > http://www1.axfc.net/uploader/so/3025603/TwinTail
>>365 > Rokka currently works with these dat files: > archived 2ch dat files > live bbspink dat files > archived bbspink dat files What do you mean live dat files ? dat-ochi dats? live threads also ?
1. Make the "head request" work correctly. DONE! 2. Ignore the "raw=0.0" functionality DONE! 3. Rewrite the header parser DONE! 4. Check incoming headers for "gzip" and then compress if asked DONE! 5. Return "last-modified" in header NOT DONE!
>>372 > >dat-ochi dats? live threads also ? > yes, both dat-ochi and live threads Both! That's great.
> >Mine is not official so there is no distribution site. > Why is yours not official? Mine is a special customized version from twintail http://www.geocities.co.jp/SiliconValley/5459/ . This is a open source software and authored by てつと ◆/koroDDM/E. I just help her debugging and made some extra tools to support twintail functionality. And my source code is modified old version of twintail source code. To avoid confusion for twintail users, I've declared no to be official, which means no site, no further maintenance.
>>389 > Mizutama, do you mind if I make a link to your twintail unofficial version? No problem but please describe it is a custom version and it will never be supported. Also it will requir .NET 4.5. I already asked Jim when he post somewhere Let' talk with Jim-san http://qb7.2ch.net/test/read.cgi/operate2/1378699887/159
When I send a request using Downloader(HttpClient , it sends a request at once), Rokka returns gzipped successfully. When I send a request using Telnet, measn send a request line by line, Rokka returns plain text. are there any timing behaviours?
>398 Yes, Rokka looks for "crlf". If it sees "crlf", then it will stop processing headers. Probably on telnet, you have a "crlf" and it doesnt process the whole header.
>>399 > >398 > Yes, Rokka looks for "crlf". If it sees "crlf", then it will stop processing headers. Probably on telnet, you have a "crlf" and it doesnt process the whole header. You mean Telnet has extra CRLF inbetween request headers?
>>404 > >400 > I dont know. I am not familiar with telnet. > > Either way, I will disable telnet on the server because it is a potential security hazard. My tool Telnet is not actual telnet but send a HTTP request as line by line manually. If you will make small aount of time-out inbtween lines inbetween HTTP request header, it causes serious problem.
20751.610282206.223.156.190192.168.1.2TCP[TCP segment of a reassembled PDU] 0000 c8 2a 14 0c 58 ee 00 90 cc 80 e7 fc 08 00 45 00 .*..X.........E. 0010 00 37 0f 9a 40 00 34 06 09 df ce df 9c be c0 a8 [email protected]......... 0020 01 02 00 50 de 48 9e 4d 92 f1 e8 9d 17 eb 50 18 ...P.H.M......P. 0030 00 36 bc 26 00 00 48 54 54 50 2f 31 2e 30 20 32 .6.&..HTTP/1.0 2 0040 30 30 20 4f 4b 00 OK
20851.610450206.223.156.190192.168.1.2TCP[TCP segment of a reassembled PDU] 0000 c8 2a 14 0c 58 ee 00 90 cc 80 e7 fc 08 00 45 00 .*..X.........E. 0010 00 70 0f 9b 40 00 34 06 09 a5 ce df 9c be c0 a8 [email protected]......... 0020 01 02 00 50 de 48 9e 4d 93 00 e8 9d 17 eb 50 19 ...P.H.M......P. 0030 00 36 13 08 00 00 0d 0a 43 6f 6e 74 65 6e 74 2d .6......Content- 0040 54 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 6e Type: text/plain 0050 3b 20 63 68 61 72 73 65 74 3d 22 53 68 69 66 74 ; charset="Shift 0060 5f 4a 49 53 22 0d 0a 43 6f 6e 74 65 6e 74 2d 4c _JIS"..Content-L 0070 65 6e 67 74 68 3a 20 33 38 35 0d 0a 0d 0a ength: 385....
It seems Telenet doesn't send any extra CRLF, illegal bytes, etc. Just time between each TCP packets is so much (arround 2sec) sinse packets were sent by manual.
183.394241206.223.156.190192.168.1.2TCP[TCP segment of a reassembled PDU] 0000 c8 2a 14 0c 58 ee 00 90 cc 80 e7 fc 08 00 45 00 .*..X.........E. 0010 00 37 79 d2 40 00 34 06 9f a6 ce df 9c be c0 a8 [email protected]......... 0020 01 02 00 50 de 69 1d e0 fe 86 58 44 96 55 50 18 ...P.i....XD.UP. 0030 00 36 e2 cc 00 00 48 54 54 50 2f 31 2e 30 20 32 .6....HTTP/1.0 2 0040 30 30 20 4f 4b 00 OK
193.394390206.223.156.190192.168.1.2TCP[TCP segment of a reassembled PDU] 0000 c8 2a 14 0c 58 ee 00 90 cc 80 e7 fc 08 00 45 00 .*..X.........E. 0010 00 88 79 d3 40 00 34 06 9f 54 ce df 9c be c0 a8 [email protected]...... 0020 01 02 00 50 de 69 1d e0 fe 95 58 44 96 55 50 19 ...P.i....XD.UP. 0030 00 36 1e 59 00 00 0d 0a 43 6f 6e 74 65 6e 74 2d .6.Y....Content- 0040 54 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 6e Type: text/plain 0050 3b 20 63 68 61 72 73 65 74 3d 22 53 68 69 66 74 ; charset="Shift 0060 5f 4a 49 53 22 0d 0a 43 6f 6e 74 65 6e 74 2d 4c _JIS"..Content-L 0070 65 6e 67 74 68 3a 20 32 34 30 0d 0a 43 6f 6e 74 ength: 240..Cont 0080 65 6e 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a ent-Encoding: gz 0090 69 70 0d 0a 0d 0a ip....
It shows the request has been sent in a TCP playload packet. >>414 shows the request has been sent 5 packets. But both payloads does not have any difference when >>414 payloads has been combined together.
>>425 I am still not decided on how "last-modified" should be implemented. Should the "last-modified" just be a forwarded value from the 2ch/bbspink archives?
>>426 > >>425 > I am still not decided on how "last-modified" should be implemented. Should the "last-modified" just be a forwarded value from the 2ch/bbspink archives? It should be actual time stamp of the dat file. Everyone thought that date from the source server sent within response header. I asked yesterday(?) and you answered me the dat has been gotton thru network but you didn't say HTTP GET. I thought Rokka gets a file thru the network as similer as Shared File on Windows. Then you(Rokka) should parse the dat.gz(or something) to get the timestamp of raw dat file. Am I correct ?
>Then you(Rokka) should parse the dat.gz(or something) to get the timestamp of raw dat file. >Am I correct ? Yes I think so. That is probably the only way to do it.
connected to rokka.bbspink.com Port:80 HEAD /kilauea/3shuchaku/1379468188/?sid=Monazilla/2.00:4373298c8948z3710L4758Y0624V8081Z8057C1299i5093s20646o2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Encoding: gzip, deflate User-Agent: Telnet/0.1 Host: rokka.bbspink.com Connection: close
HTTP/1.0 200 OK Content-Type: text/plain; charset="Shift_JIS" Content-Length: 240 Content-Encoding: gzip
GET / HTTP/1.1 connected to pele.bbspink.com Port:80 HEAD / HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Telnet/0.1 Host: pele.bbspink.com Connection: close
Server.hs > main = withSocketsDo $ do > sock <- listenOn $ PortNumber 80 > print "Welcome to the inside of the vault" > mapM_ checkPaths directoriesToCheck > loop sock > > > loop sock = do > (h,x,z) <- accept sock > currTime <- epochTime > rand <- randomRIO (1000000,9999999) :: IO Int > toLog "ip" $ mconcat [show currTime, " ", encryptT x rand] > -- process one line at a time > hSetBuffering h LineBuffering > print (h,x,z) > forkIO $ body h > loop sock
parseUserAgent :: [String] -> Maybe String parseUserAgent [] = Nothing parseUserAgent (x:xs) | "User-Agent:" `elem` s = Just x | otherwise = parseUserAgent xs where s = words x
Prelude> let s = words "User-Agent: gzip,deflate" Prelude> let t = words "User-Agent: gzip, deflate" Prelude> s ["User-Agent:","gzip,deflate"] Prelude> t ["User-Agent:","gzip,","deflate"] Prelude>
# apt-get remove telnetd Reading package lists... Done Building dependency tree Reading state information... Done Package telnetd is not installed, so not removed
I just finished writing the code for "last-modified". It is in github now. I did not compile the new code yet. I will go to the store now, and compile it later when I get home. The rokka.2ch and rokka.bbspink are not running the new rokka with "last-modified". They will run it later tonight. You can see the new code at: https://github.com/Cipherwraith/Rokka
RFC 2616 4.2 Message Headers HTTP header fields, which include general-header (section 4.5), request-header (section 5.3), response-header (section 6.2), and entity-header (section 7.1) fields, follow the same generic format as that given in Section 3.1 of RFC 822 [9]. Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The field value MAY be preceded by any amount of LWS, though a single SP is preferred.
For reference: Error 420 is a timelimit error. When you make too many requests per second, per minute, or per hour, then rokka will stop you until you slow down. This is to prevent automated spidering of the dat files.
The current time limits are in the DatTimer.hs file.
maxPerSecond :: Int maxPerSecond = 10
maxPerMinute :: Int maxPerMinute = 60
maxPerHour :: Int maxPerHour = 600
No more than 10 per second. No more than 60 per minute. No more than 600 per hour.
If this is not enough for the average user, then we can change it no problem. I just dont want automated spiders to download too many dats.
If someone wants to update the README, then you can click the "Edit" button on that page and write some stuff, then make a pull request and I will merge it into the main repository.
Alternatively, you can write an updated README and put it in this thread, and I can make the changes on github.
Hi Codemonkey, I'm revising the Rokka specification and creating the document. I found Success status(place code) shoul be changed to general meaning. Could you change it? Or disagree? Live not supported yet Pool same as current, it is general meaning of dat-ochi Archive previously Oyster, but it's name is not official
The draft which has about 200lines, can I post this thread upload to the uploader where I'm using upload to the uploader where you'll suggest Or deny my request.
Remain things for Rokka make sure Last-Modified is updated when a post of the thread has あぼーん by usual way get from live thread, which is not in original spec. but you will add work with 2channel thread listing with Servers/Boards data base (not announced)
I just installed a new version of "bbs-yakin.cgi" on bbspink. You should be able to make new posts and replies with the Kagi now. Please test and verify!
>>534 > I just installed a new version of "bbs-yakin.cgi" on bbspink. > You should be able to make new posts and replies with the Kagi now. Please test and verify! Is this a part of Rokka? No, but Kagi can be used to post , you said. So this post is post using Kagi.
BTW, where do you inform Kagi can be used to post?
> >>529 > If the status code should be changed, please tell me how to change it. Currently 1) Success Pool 2) Success Oyster
Please change to 1) Success Pool same 2) Success Archive Oyster -> Archive 3) Success Live if a live thread can be gotton through Rokka
> I can publish the document. Where is the document? Please post it in this thread. I'll post later but I have to consider how many times I can post continuously.
# Failed to capture the network traffic on last post, then try again with Kagi
Rokka System Specification Ver. 2013/09/25 12JST Copyright (c) N.T. Technology, Inc.
Rokka System is the new method to get 2ch/bbspink archived dats.
Rokka retrieves dat files: archived 2ch dat files archived bbspink dat files pooled 2ch dat files pooled bbspink dat files live 2ch dat files live bbspink dat files
Remark: live dat - a thread where you can post and listed on subject.txt pooled dat - a thread where you can not post and not listed on subject.txt, it will be archived soon archived dat - a thread archived
KAGI To get a dat from Rokka, you need to get KAGI from authentication server.
When authentication is succeeded , KAGI is returned like; Monazilla/2.00:4373298c8948y4671g4635r53615D4699f4014I3455C9148A6600f2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r
Getting a dat You can get a dat from Rokka using KAGI.
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... <KAGI> : authenticated KAGI, UrlEncoding is recommended
Response : 1st line indicates processed status of the server. "Success XXX" - The process has successfuly done. XXX shows where the dat is retrieved from Live Pool Archive Following lines are posts formatted with 2ch dat format(name<>email<>datetime<>body<>[title]). "Error XXX" - The process has not succeeded. XXX is error code. Error codes: 13 not found the requested dat not found 8008135 inputError invalid SERVER or BOARD or THREAD 666 urlError invalid OPTIONS 69 authenticationError invalid KAGI 420 timeLimitError access too fast, interval between requests required
Rokka also returns standard HTTP status codes in the HTTP response header: 404, 200, 401, 403 etc.
You can get gzipped content specifying Accept-Encoding:gzip in the HTTP request header.
Note: Error 420 When you make too many requests per second, per minute, or per hour, then rokka will stop you until you slow down. This is to prevent automated spidering of the dat files. The current time limits are; 10 dats within 1 second 60 dats within 1 minute 600 dats within 1 hour When you try to get more dats over the limitation, you will get Error 420.
>>539 > > >>529 > > If the status code should be changed, please tell me how to change it. > Currently > 1) Success Pool > 2) Success Oyster > > Please change to > 1) Success Pool same > 2) Success Archive Oyster -> Archive > 3) Success Live if a live thread can be gotton through Rokka I mean 1st line of response content(dat).
>>534 > I just installed a new version of "bbs-yakin.cgi" on bbspink. What is the advantage using Kagi in CURRENT CONDITION on this bbspink ? I can get ● in my name field of my post. I can't post within samba (30 seconds). I've never used proxy so I don't know how I can check posting throug a proxy.
>>565 > Okay, now I need to figure out how to edit samba. Please give me a few minutes and I will figure that out. I don't think you need to edit Samba. I've learned how Samba and Kagi work.
>>569 > >>567 > Does Kagi and Samba work correctly now? Yes may be. The inspection result is >>563. It calced time between >>561 and >>562. It is 15sec , if without Kagi, it can not be.
>>570 > 570 名前:● 忍法帖【Lv=40,xxxPT】(-1+0:8) 水玉(Mizutama) ◆qHK1vdR8FRIm [sage] 2013/09/25(水) 20:14:38.38 ID:mf/kBDDU ↑ Look! This negative value can only be if the post is used with Kagi.
Also the level of Ninpouchou(Nimpo-cho,Ninpo-cho:忍法帖) is incremented even time between posts is less than 23hours. Without Kagi, the level can increment only 1 during 23hours. So most of functionality of Kagi are confirmed on BBSPINK, not on 2ch...orz
>>574 > >>573 > I still did not install on 2ch. I am waiting to make sure it works correctly on bbspink, then I can install on 2ch. I've understood. Well how is your feeling? It was inspected enough? More inspections?
I did not test post through proxy I never used and I don't know how posting from denied remote host please do not deny my remote host(´;ω;`)
>>576 > >>575 > I dont know how to post through proxy either. > I am a denied remote host, thats why I need to use my "Codemonkey" cap every time I make a post. > > I think its working fine. Jack★ said that there is no problem. Humm. If you install on 2ch, we can get more feedback from neler, who uses a proxy, denied,...
Hi Jim and Codemonkey, Currently Rokka will never respond HTTP POST method, then some client will wait until timeout(over 30sec?). >>602 suggest Rokka can be respond as HTTP error 400 Bad Request then client can close connection immediatly. Also other HTTP methods Rokka will never respond.
I've tried pele.bbspink.com...
connected to pele.bbspink.com Port:80 POST / HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Encoding: gzip,deflate User-Agent: Telnet/0.1 Host: pele.bbspink.com Connection: close
Okay the error 42 bug should be fixed now. I also fixed a nasty bug that was causing the server to crash: Non-exhaustive patterns in function parseRequestQuery
>>614 > New error code: 42 (if it doesnt recognize a GET or HEAD request, then it returns error 42) > Updated to have "Success Archive" instead of "Success Oyster" 405 NotAllowedのときのレスポンスコンテンツとして Error 42 が返ってくるようにしたのだな。 それと Success Oyster を Archive にと。 Error 42 はReadMeへの追記が必要だが直してくれたかな?
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>302 Found</title> </head><body> <h1>Found</h1> <p>The document has moved <a href="http://www2.2ch.net/live.html">here</a>.</p> <hr> <address>Apache/2.2.10 (Unix) PHP/5.2.5 mod_ssl/2.2.10 OpenSSL/0.9.8e Server at qb5.2ch.net Port 80</address> </body></html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>302 Found</title> </head><body> <h1>Found</h1> <p>The document has moved <a href="http://www2.2ch.net/live.html">here</a>.</p> <hr> <address>Apache/2.2.10 (Unix) PHP/5.2.5 mod_ssl/2.2.10 OpenSSL/0.9.8e Server at qb5.2ch.net Port 80</address> </body></html>
>>614 > Current bugs: It is returning error 42, when it should be returning error 8008135. I will fix this next. > 615 名前:Code Monkey ★ [] 2013/09/26(木) 15:25:57.65 ID:??? > Okay the error 42 bug should be fixed now.
connected to rokka.bbspink.com Port:80 GET /akilauea/mobpink/1379998945/?sid=Monazilla/2.00:4373298c8948y4671g4635r53615D4699f4014I3455C9148A6600f2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r HTTP/1.1 Accept: text/html, application/xhtml+xml, */* User-Agent: Telnet/0.1 Host: rokka.bbspink.com Connection: close
HTTP/1.0 404 Not Found Content-Type: text/plain; charset="Shift_JIS" Content-Length: 13
>>615 > I also fixed a nasty bug that was causing the server to crash: Non-exhaustive patterns in function parseRequestQuery connected to rokka.bbspink.com Port:80 GET /kilauea/mobpink/1379998945/?sid=Monazilla/2.00:****** HTTP/1.1 Accept: text/html, application/xhtml+xml, */* User-Agent: Telnet/0.1 Host: rokka.bbspink.com Connection: close
"Error XXX" - The process has not succeeded. XXX is error code. Error codes: 13 not found the requested dat not found 8008135 inputError invalid SERVER or BOARD 666 urlError invalid OPTIONS or QueryString 69 authenticationError invalid KAGI 420 timeLimitError access too fast, interval between requests required 42 methodError method not allowed
>>637 When authentication is succeeded , SESSION-ID=Monazilla/2.00:4373298c8948y4671g4635r53615D4699f4014I3455C9148A6600f2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r When failed , SESSION-ID=ERROR:pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
KAGI is 192 bytes after 'SESSION-ID=' when authentication is succeeded. Monazilla/2.00:4373298c8948y4671g4635r53615D4699f4014I3455C9148A6600f2811s45242k42852u6725y95346g6820L6383H0297o62124l2450n64672G6826N2472L7957N2508x9686O8904U4108793x6855v1216b1499s6811a2729r
>>639 > Maybe timeLimitError should return status code 429 and not status code 401. What do you think? That status code is made on HTTP 1.1 (RFC 6585 http://www.ietf.org/rfc/rfc6585.txt). In HTTP 1.0 (RFC 2616 http://www.ietf.org/rfc/rfc2616.txt), that status code is not defined. Maybe 503 Service Unavailable ?
>>641 Oh I forgot about HTTP 1.0. I think maybe 401 or 503 are both okay. Actually it doesnt really matter either way.
By the way, are you able to decrypt the SID? I also made the encryption algorithm for that, and I am wondering if the encryption is easy to crack or not.
>>642 > >>641 > Oh I forgot about HTTP 1.0. I think maybe 401 or 503 are both okay. Actually it doesnt really matter either way. Yeah.
> By the way, are you able to decrypt the SID? 工エエェェ(´д`)ェェエエ工???? I can't and I will never try to decrypt. Or, do you let me do?
> I also made the encryption algorithm for that, and I am wondering if the encryption is easy to crack or not. You have to disclose what algorithm you use. Hidden security is not secure. Use public algorithm which is already inspected by so much specialists. For example RSA, if the algorithm is known (already known), but the private key is not know, the seculity is still kept.
So if KAGI is made by your own algorithm , it is dangerous. KAGI should be protected by popular cipher algorithms, Mr. cipherwraith?
>>645 > Go ahead and try to decrypt it. If it is too weak, then I can easily switch it to another algorithm. > > If you can successfully decrypt it, then please tell me. 工エエェェ(´д`)ェェエエ工工エエェェ(´д`)ェェエエ工工エエェェ(´д`)ェェエエ工工エエェェ(´д`)ェェエエ工
>>646 Many people will try to break the encryption. I just hope that its not easily broken. If the people in this thread can test it, then I would be grateful. It is better to find out sooner than later.
>>648 No, it is not necessary. Rokka is just a service, it is not a site. You can just put a redirect to the front page of 2ch.net or something like that.
HTTP status code response Value Description 1st line 200 Success Success Live the dat is live thread Pool the dat in not live and not archived Archived the dat is archived 400 Bad Request Error 401 Unauthorized 69 invalid KAGI, expired or illegal 420 access too fast 666 invalid OPTIONS or QueryString 403 Forbidden 404 Not Found 13 invalid THREAD 8008135 invalid SERVER/BOARD 405 Method Not Allowed 42 invalid HTTP method
maybe
HTTP status code response Value Description 1st line 200 Success Success Live the dat is live thread Pool the dat in not live and not archived Archived the dat is archived 400 Bad Request Error 666 invalid OPTIONS or QueryString 401 Unauthorized 69 invalid KAGI, expired or illegal 403 Forbidden 420 access too fast 404 Not Found 13 invalid THREAD 8008135 invalid SERVER/BOARD 405 Method Not Allowed 42 invalid HTTP method
>>655 > HTTP status code response Value Description > 1st line > 200 Success Success Live the dat is live thread > Pool the dat in not live and not archived > Archived the dat is archived > 400 Bad Request Error > 401 Unauthorized 69 invalid KAGI, expired or illegal > 420 access too fast > 666 invalid OPTIONS or QueryString > 403 Forbidden > 404 Not Found 13 invalid THREAD > 8008135 invalid SERVER/BOARD > 405 Method Not Allowed 42 invalid HTTP method
HTTP status code response Value Description 1st line 200 Success Success Live the dat is live thread Pool the dat in not live and not archived Archived the dat is archived 400 Bad Request Error 666 invalid OPTIONS or QueryString 401 Unauthorized 69 invalid KAGI, expired or illegal 403 Forbidden 420 access too fast 42 invalid HTTP method 404 Not Found 13 invalid THREAD 8008135 invalid SERVER/BOARD 405 Method Not Allowed ← HTTP 1.1
> 181 名前:水玉(Mizutama) ◆qHK1vdR8FRIm [sage] 2013/09/17(火) 10:58:13.15 ID:m2FR2lgj > BTW, This system is named Rokka , ロッカー(Locker). > Loging-in ● to get archives is as opening the door of the locker to get archives using the key. > KEY is KAGI in japanese. So now we would say get a archive from Rokka using KAGI. > 「鍵を使ってロッカーからログ(dat)を取り出す kagi wo tsukatte rokka kara rogu(dat) wo toridasimasu」 > Log-in 「●にログインする Maru ni rogu-in suru」→「鍵を開ける Kagi wo akeru」 > You won't say MARU any more, will you ?
> 182 名前:xerxes.maido3.net [] 2013/09/17(火) 12:45:12.27 ID:bTT5gpK+ > >>181 > That is a really neat idea. I like it very much.
> 183 名前:Code Monkey ★ [] 2013/09/17(火) 14:35:52.05 ID:??? > >So now we would say get a archive from Rokka using KAGI. > KAGI is a cool name!
> 186 名前:水玉(Mizutama) ◆qHK1vdR8FRIm [sage] 2013/09/17(火) 16:18:04.68 ID:m2FR2lgj > >>182 > I've read "That is a realy neet idea" 1st time orz.
> Log-in 「●にログインする Maru ni rogu-in suru」→「鍵を開ける Kagi wo akeru」 まだ開けてないからちょっと違うかな。 「フーテンの寅さんからロッカーの鍵をもらう。その鍵でロッカーからログが取り出せるし、 書き込みのとき鍵を見せるといろいろオマケがあるぞ。 難しく言うと『セッションIDとしてKAGIを渡すと認証してRokkaやbbs.cgiが有料サービスを提供する』かな」
>Codemonkey and Jim, How long a KAGI can be used after it has been gotton from https://2chv.tora3.net/futen.cgi . And is there any time limitation like Rokka ? If the valid period is short enought, such as used to get a dat from Rokka once, it is secure. But https://2chv.tora3.net/futen.cgi (how are you saying? still ●?) gets busy and KAGI will be weak to crack. Previous a SID of ● was about 24 hours, but I could not find official description. I'd like to describe in README.md the valid period and access limit.
>And is there any time limitation like Rokka ? The current valid period is the same as Maru. 24 Hours.
>such as used to get a dat from Rokka once Maybe a 15 second valid period?
Then the users will need to authenticate with futen.cgi every time they use Rokka.
Whether or not this is possible depends on how the APP Developers do the authentication. In the past, did the APPS authenticate with futen.cgi every time Maru was used?
>>674 > Then the users will need to authenticate with futen.cgi every time they use Rokka. I just wanted to know the possibility. Arround >>50, a couple of people said it was better to make KAGI as one time. But I found (>>55) UNEI said "Does the browser try to get SID so much? If so, then reject it." therefore I'd like to know how Futen checks access interval.
> Whether or not this is possible depends on how the APP Developers do the authentication. > In the past, did the APPS authenticate with futen.cgi every time Maru was used? the twintail does After start-up, if there is no KAGI authenticated when it is required Past 23hours since current KAGI has authenticated Manually in the dialog window Never serialized
I think one time KAGI can be acceptable due to seculity reson but I don't want make more changes.
Anyway I need the time limit value. N/A can be. The valid period is confirmed , 24hours.
Another question regarding KAGI, is it possible to make the KAGI invalidated by the browser? Neither Ften for KAGI nor futen.cgi for ● can make SID invalidated by the browser request. Somehow Rokka and bbs.cgi could know the KAGI was invalidated by the browser(user), it were a way to avoid illegal usage if the KAGI was stolen. I just wanted know the possibility for further improvement, not now.
And we should inspect following ASAP then clear remaining things. > 361 名前:Code Monkey ★ [] 2013/09/23(月) 12:37:40.58 ID:??? > >Can I(everyone) delete some posts in threads? How? > I can delete posts on bbspink easily. We can test this later after I finish the code for "last-modified" > 539 名前: 忍法帖【Lv=40,xxxPT】(0+0:8) 水玉(Mizutama) ◆qHK1vdR8FRIm [sage] 2013/09/25(水) 18:48:03.70 ID:mf/kBDDU > >>535 > > >Could you あぼーん post 3 on this thread (http://kilauea.bbspink.com/test/read.cgi/3shuchaku/1379468188/) ? > > I dont understand. > Please delete post #3 on that thread. to make sure Last-Modified is working correctly even the post in the thread has been deleted.
After it has been done, Remain things for Rokka (>>529) get from live thread, which is not in original spec. but you will add work with 2channel thread listing with Servers/Boards data base (not announced)
>If someone still concern the session hijacking, we can consider KAGI invalidating, one-time KAGI, HTTPS. These are all very good. Lets wait a few weeks and see if session hijacking really is a problem or not. If its a problem, then we can make one of these suggestions.
Why doesn't it return Error 42 you defined? And I cound not get Error 666; GET /kilauea/3shuchaku/1379468188/2k?sid=***** HTTP/1.1 → no error with entire dat GET /kilauea/3shuchaku/1379468188/?qstr=3.14&sid=***** HTTP/1.1 → Error 69 Maybe Error 666 doesn't make any sense.
I've been waiting the post #3 on the thread long time but it is still not deleted. I've wanted to make sure Last-Modified with deleted thread but I counldn't. I've quited waiting the thread has been modified. Further inspection I'll never try.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /software/dat/1285938475.dat was not found on this server.</p> <hr> <address>Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8q PHP/5.3.8 mod_antiloris/0.4 Server at anago.2ch.net Port 80</address> </body></html>
Basic functionalities of Rokka is seemed to be working correctly. Remaining things are not related Rokka basic functiononalities. ついんてーる is working with Rokka, which is my original plan and goal. Any questions I asked will never be answered, I guss. So it is not necessary for me to stay on this thread any more. I got physical/mental broken, I'm very tired. Then I decided to leave this thread. Further supporting can be done by someone else in this thread. There are many clever guys I've ever seen. Thanks a lot, and bye.
>>709 Youre right. Maybe error 666 doesnt make sense. I will make it return error 42 instead.
>>710 I just deleted #3 on that thread. Sorry for waiting so long.
>>711 Jim-san added the 403.dat. It is still buggy. I will need to add some catches into Rokka to return errors instead of 403.
>>714 There have been a lot of TOMORROW. I am the only person working on the software for Rokka. I dont have enough hands to do everything at the same time.
>>716 I am very tired too. I spent 400 hours working on Rokka already.
>>709 I think "Error 666" should be deprecated. I just saw in the code that Error 666 only happens when the url is malformed during the "BuildUrl" function. Rokka checks for malformed URLS before the BuildUrl function, so BuildUrl only sees good Urls. It will never return Error 666. Error 666 needs to be removed, or used for something else.
I want to know detail of this specification. How is designed behavior about file access collision between Apache and new-added proccess on target server ? Does 'as similer as' mean well-known protocol (NFS etc.) or new-made protocol for Rokka ?
I have understood that old system collectly controlled all '.dat' file access collision by customized code module under Apache process, but Rokka system append new access in this outside Apache on target server. In this case, is collectly controlled shared and exclusive access ? Or is it designed that file access collision between Apache and file shared process never happen on same '.dat' file ?
If latter condition is met, how does target server behave when collison happened in unexpected rare case ? Is it never necessary for us to worry that critical behavior like 'target server locked' etc is caused ?
>>723 Rokka gets dat files by downloading them directly from the live and archive servers. Rokka does not directly use Apache, but some of the live and archive servers use Apache. Rokka should not get a "file access collision" error, if the Apache on the live or archive servers return a "file access collision" error, then Rokka will just return "404 not found".
>customized code module under Apache process Do you have more information about the customized code module for Apache?
>how does target server behave when collison happened in unexpected rare case ? Rokka has an exception catcher. If there is any unexpected rare behavior, then Rokka should return a "404 Not Found" error.
>>726 Okay, I understand. We need to make a 403.html file, and not be a 403.dat file. This is so that browsers that cannot see .dat files will have something to display.
>>724 > Rokka gets dat files by downloading them directly from the live and archive servers. Rokka does not directly use Apache, but some of the live and archive servers use Apache. > Rokka should not get a "file access collision" error, if the Apache on the live or archive servers return a "file access collision" error, then Rokka will just return "404 not found". > Rokka has an exception catcher. If there is any unexpected rare behavior, then Rokka should return a "404 Not Found" error. I am not afraid Rokka's server behavior, because you wrote all codes and know all of design. I am afraid live and archive server behavior.
> Do you have more information about the customized code module for Apache? I also have no information about implements and cannot understand exact detail until dive and look codes of 'bbs.cgi' etc. But live server allow us to update dat file through bbs.cgi, therefore live server codes must include any of dat file lock mechanism.
I understand that Rokka server and archive server are different hosts, stand on same LAN networks and data transfer always do by any TCP/UDP protcols. I want to know that (*2) never give (*1) evil effect and sinchronize old file lock mechanism. Or does new system only depend on design that live dat request never cause same file access because archive dat access ? It is topic like 'fault tralance', but I think that we should know.
>>735 > Live and archive server have no changes. They are same as before. > client socket (user) | --> HTTP GET/POST --> | server socket (Rokka server) --> | HTTP GET/POST --> | Apache server socket (live and archive server) --> (*1)local file access (include file lock mechanism)
Thanks, these answers resolved my warries. I can wait a day of new system running on both 2ch.net side and bbspink.com side.
Here is a new sid. Expires October 12. Monazilla/2.00:4373298c8948y4671k0168w7303a9434p5474w1299s9683N7819o8487t63934i03706s0346y40494k1660P9509C7891q86296i5017j76441I4435I6218N8902O7343v3629G0551A4520100z3111c7334y0675t5359e8939m0
>>778 Nothing is broken. It works on all of Pink Channel. It works on all of the retired past logs of Pink Channel and 2ch. Login works site wide for both the old system and the new rokka system. You can make a ● and you can login and post with it. Only the recently dropped logs on 2ch are not working, and that is not a system problem, that is a decision made by the consensus of the UNEI. I am sure they have a reason for it. Probably you can see those logs with p2.
>>779 Hiroyuki seems to think that it is up to you guys at N.T.Technology to modify the Rokka System to his (and the Unei's) satisfaction. Are you guys communicating with each other? I'm concerned.
>>779 The thing is, Hiroyuki wants a new system for retrieving past threads at 2ch to be something that can be maintained by himself and the Unei, and nobody in the Unei is familiar with Haskell, in which the Rokka System is written.
>>779 Moreover, Hiroyuki does not seem to be excited about learning Haskell as a relatively new language like Haskell is not stable enough the cost of maintenance would be prohibitively high.
>>779 So my question is, do you have any plan to rewrite the Rokka System in more commonly used languages like Perl? We would like the Rokka System for 2ch, but the Unei would never install it for 2ch as long as it is written in Haskell. It would be a good thing for N.T.Technology, too. I'm pretty sure that you guys don't want to lose revenue from ●.
>>784 All I'm saying is that positive feedback is unlikely as long as the Rokka System is written in Haskell, and Hiroyuki says *he* is waiting for a better solution from N.T.Technology. I smell a communication deadlock here, and that's what I am concerned about. After all, Hiroyuki has the final say on whatever decisions made by the Unei.
>>785 The login function is written in php. Php is common. That is the futen.cgi. Rokka only replaces a faulty cgi. I have heard this black box rhetoric, and it is not an effective argument to me. As soon as Rokka code was released it was understood well enough to be disabled on the the live 2ch servers within an hour of the release. The only thing that is not released is the encryption key, and I could not imagine anyone wanting to have the reponsibility for that key when the criminal is still at large that has already destroyed so much.
>>787 > I have heard this black box rhetoric, and it is not an effective argument > to me.
Well, that's your opinion and I respect that. Quite unfortunately, however, your opinion is different from Hiroyuki's, and Hiroyuki has the final say as far as 2ch is concerned.
Don't get me wrong, I'm just trying to explain the situation here as I had a chance to communicate with Hiroyuki. We could live without the Rokka System for 2ch, but we would rather like to have it as that would make things so much easier.
> relatively new language like Haskell Haskell is not a new language, in fact it is older than a lot of the languages most commonly used on the web: Perl first appeared in 1987 Haskell first appeared in 1990 Python first appeared in 1991 Ruby first appeared in 1995 PHP first appeared in 1995
> Hiroyuki does not seem to be excited about learning Haskell Hiroyuki doesnt need to learn Haskell.
> cost of maintenance would be prohibitively high The code is on github and can be maintained by volunteers for free. Also, I am responsible to maintain the code now, and my cost is not prohibitively high.
> Haskell is not stable enough Haskell is stable. Haskell is used at Facebook, Google, AT&T, Bank of America, Microsoft, IBM, New York Times, NVIDIA, and many other big companies. These companies would not use unstable software.
>>791 Well, you may be quite right about Haskell. I was just translating Hiroyuki's posts into English. I just got the impression from him that he was not open to the idea of using Haskell for 2ch, however. I will tell him what you had to say... I really hope things would work out.
>>794 Hiroyuki said it is essential that the Unei can maintain the Rokka System and it is not possible to do so if the system is written in Haskell. He emphasized this point as he thinks one of the reasons the August leak happened was that nobody in the Unei was familiar with the faulty code that was responsible for the leak.
I would say he does not seem to change his mind any time soon, and we may actually have to say goodbye to ●. What a shame. I really liked it while it lasted.
>>807 >>808 Well, then you guys have to convince Hiroyuki and win his trust. One thing you should remember is that Hiroyuki is *the* benevolent dictator of 2ch, and nothing gets done if he says no. 2ch can survive without ●, but N.T.Technology would lose millions of dollars in revenue if ● is gone. If I were you, I would think twice.
>>814 Thank you for your advice. Some of the facts are a little off, but I understand your meaning, and I do want things to be friendly and working well.
> 950 : 動け動けウゴウゴ2ちゃんねる : sage : 2013/10/08(火) 13:46:52.78 ID:/27pxo82P > >>949 > Hi Jim-san, > > Are you going to rewrite the Rokka System in PHP anytime soon? > We are anxious to know the time frame. http://qb5.2ch.net/test/read.cgi/operate/1381173417/950
> 853 :xerxes.maido3.net@Apparently admin ★ : :2013/11/05(火) 21:01:36.28 ID:??? > >>852 > Rokka won't be rewritten in PHP. It is a waste of time. It seems > that you are listening to the rhetoric, or are one of the ones that > has been writing it. http://pele.bbspink.com/test/read.cgi/erobbs/1378224674/853
http://qb5.2ch.net/test/read.cgi/operate/1381115771/556 > 556 : xerxes.maido3.net : sage : 2013/10/08(火) 02:00:15.61 ID:Y2SfihpV0 > as money came in I paid them. It is way behind. I know that. > Someday it will be caught up. It is a shame that I could not pay them in a timely manner, > and when the system was finally fixed, then a criminal hurts them more.
延滞はしてるけど、金が入ってきたら、専ブラ開発者にも払ってる と Jim は言ってるようだけど、何で払ってないみたいな話になってるんだよ