■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
2chのような掲示板システムってP2Pで
- 435 :名無し :2001/08/26(日) 01:48
- ぜんぜん時間無いね。だめかも。
- 436 :266 :2001/08/26(日) 01:49
- スレ改竄についてですが
鯖上にチェックサムを残しておいてもらう
っていうのも手かもしれませんね。
鯖のスレと照合すれば手元のスレが改竄されたかどうか
すぐバレちゃうけど誰もあんまりやらないでしょうから。
それなら鯖上にチェックサムもどきを置いといて
そのレベルでチェックをする、と。
あんまり必要だとも思えないけれど・・・。
- 437 :266 :2001/08/26(日) 01:52
- えっと、今の話題はデータ改竄ということでいいですか?
それと、クライアント上で似非串として動くのか
HTTPd として動くのかについても検討をお願いします。
俺は HTTPd の方を推します。
ブラウザに対しては HTTPd として振る舞い
裏では 2ch.net に対する HTTP クライアントおよび
他のピアに対する P2P サーバントとして振舞う、
ということで結構楽ができるかと。
HTTPd とは言ってもローカル上でのデータ転送だから
リクエストの URL 部分だけ見てデータを渡せば十分だろうし。
- 438 :名無し :2001/08/26(日) 01:52
- >>436
チェックサムなら合わせられるね、強引に。
もちろんCRCを使えばいい話だが。
CRCだけ見に行く?どうだろ。
- 439 :225 :2001/08/26(日) 01:53
- >432
要は、目指しているのは、たとえばcache.2ch.net でアクセスしたら、
登録されてるp2p参加者のキャッシュ鯖にランダムで飛ぶ
みたいな事かな?
- 440 :デフォルトの名無しさん :2001/08/26(日) 01:54
- >>266
407を読んで思ったのですが、読むときの流れは分かるのですが
書き込む時のデータはクライントからどのように流れるんですか?
- 441 :デフォルトの名無しさん :2001/08/26(日) 01:55
- 1. クライアントにDelegateをいれてproxyサーバを立てる。
2. Delegateは2chの内容をキャッシュ。
3. IPを2chのトップに表示。
4. みんなはそのIPにアクセスする
というのじゃダメ?
3.が一番のネックになる気がするが...
- 442 :266 :2001/08/26(日) 01:55
- >>439
うーん、その捉え方は ずれてると思います。
1)www.2ch.net へのアクセスを検出するローカル串である。
※串的な機能を持ったローカルの HTTPd というのも考えてます。
2)キャッシュ鯖ではなくキャッシュサーバントにアクセスする。
3)キャッシュはスレやレス単位で行う。
という話です。
- 443 :うーん :2001/08/26(日) 01:55
- 改竄対策なら署名付けるようにしたら?
分散されてそこらじゅうで違うデータが流れるのもあれでしょ。
- 444 :266 :2001/08/26(日) 01:57
- >>440
書き込む時は 2ch.net の鯖へ直でアクセスします。
目的が 2ch の転送量負荷の軽減なんで
ROM が作りだしてる大量のデータの流れをキャッシュで押さえ込もう、
という話です。
- 445 :名無し :2001/08/26(日) 01:57
- >>440
書き込みは普通にやるそうだ。
今問題なのは読み込みに発生するトラフィックだそうだ。
- 446 :440 :2001/08/26(日) 01:58
- なるほど、まとめにそれも付け加えておいてもらえると
分かりやすいです<2ch.netへ直接
- 447 :266じゃないけど :2001/08/26(日) 01:58
- >>440
直接2ch.netに書き込まれる。
- 448 :266 :2001/08/26(日) 01:58
- >>443
こういう風に考えてるんですが穴あります?
>>425
> 改竄や悪意ある攻撃の類はあまり気にしない方がいいかと。
> 作るのは結局のところただのキャッシュだから
> 今現在の2chで行われているものと被害に大差はないでしょう。
> データ改竄は2chに直アクセスすればすぐにばれるし
> ブラクラにしてもHTMLを生でやりとりせずに
> レスやスレのデータだけをやりとりすれば大丈夫。
> というわけであまり心配してないんですがどうでしょう?
- 449 :266 :2001/08/26(日) 01:59
- >>446
了解です。
改竄まわりの話が一旦落ちついたところでまとめようと思います。
- 450 :266 :2001/08/26(日) 02:01
- あんまりツッコミがないんで結構戸惑ってるんすが(藁
これは「実装する奴が決めれ」っていうことでいいんですかね?
俺、書きますよ(藁
- 451 :うーん :2001/08/26(日) 02:02
- チェックサムするならならせめてCRCか、出来ればMD5ぐらいにしようよ。
- 452 :375 :2001/08/26(日) 02:03
- 僕が理解してる範囲でまとめると
1.キャッシュの動作
キャッシュ起動
↓
2ch.net にアクセスして自分の担当するグループを登録
↓
特定のportをlisten して待機
portにクライアントからアクセス
↓
返事を返す(いやなら無視してTimeOut)
↓
[A.board-IDを受け取った場合]
↓
2ch.net に接続して最新スレID一覧を取得
↓
各スレについてタイムスタンプ問い合わせ
↓
ログ一覧を生成
↓
クライアントに返信
↓
Socket close
[B.スレIDを受け取った場合]
クライアントから欲しいスレのIDをもらう
↓
IDから2ch.net 上のタイムスタンプを取得し、更新されてれば
差分を転送
↓
クライアントにスレの内容を返信(独自形式)
↓
Socket close
ここでいったんきります
- 453 :名無し :2001/08/26(日) 02:05
- 2chがやばいっていうこの時にも、Unix版で
荒らしてる奴がいることを考えるとクラッカー対策はかなり重要。
このツールで一本化されたとしたら、
クラッキングは2chの死を意味すると思う。
- 454 :375 :2001/08/26(日) 02:05
- 2.ローカル上のhttpdの動作
起動
↓
2ch.netにアクセス
↓
すべてのピアグループについて(*1)cacheのIPを取得
↓
port:80をlisten(localhost のみAccept)して待機
port:80 にlocalhostからアクセス
↓
リクエストされたURLを解析し、board名とスレIDを得る
↓
[A.スレ一覧(いわゆるindex2.html)をみる]
board名から適切なcacheに接続
↓
cacheにboard-IDをリクエスト
↓
cacheから最新スレ一覧(独自形式)を取得
↓
html生成
↓
localhostに返信してSocket Close
[B.特定のスレをみる]
board名から適切なcacheに接続
↓
cacheにスレIDをリクエスト
↓
cacheからレス一覧(独自形式)を取得
↓
html生成
↓
localhostに返信してSocket Close
- 455 :225 :2001/08/26(日) 02:05
- >442
ふむ、それの方が効率はいいんだろうけど
一部の人だけがやったところで意味ないから、かちゅ〜しゃ程度の普及率を目指すということかな?
というか、バンドルしてもらうのが手っとり早そうだな。
- 456 :266 :2001/08/26(日) 02:06
- >>451
まあなんでもいいんすけどね。
鯖に負荷が掛からないものをと思って
とりあえずチェックサムと言ったまです。
それと、そもそもあんまり改竄が問題とは思えないんです。
理由は >>448 の通りです。
ちゃんとフィルタリングすれば
できるのは嘘のレスやスレが出回るってだけのことですよね。
しかも2chに直アクセスですぐにそれはバレてしまう。
それを防ぐためだけにあれこれ実装するのって
あんまり意味があると思えないんですがどうでしょう?
- 457 :375 :2001/08/26(日) 02:08
- 3.2ch.net の動作
キャッシュから登録のリクエスト
↓
希望するピアグループの一覧にIPを追加
↓
Socket Close
キャッシュからタイムスタンプのリクエスト
↓
タイムスタンプ返す
↓
Socket Close
キャッシュから登録解除のリクエスト
↓
解除
↓
Socket Close
キャッシュから最新スレ一覧のリクエスト
↓
返す(IDだけ)
↓
終了
- 458 :375 :2001/08/26(日) 02:09
- って言う風に理解してるんですけどどうでしょう?
- 459 :266 :2001/08/26(日) 02:09
- まとレススマソ。
>>455
かちゅ〜しゃ ほどになるかどうかはともかくも
数をばらまかなくちゃいけないのは確かですね。
鯖側も多少いじらなくちゃいけないんで
2ch 管理側との連携も必要です。
>>452 >>454
そういう感じです。
- 460 :266 :2001/08/26(日) 02:11
- >>457
ピア一覧への登録と解除については
俺はプロトコルは要らないんじゃないかと思ってます。
ある板にアクセスしたら、
時限付きでリストに加えるようなCGIを鯖側に用意するんです。
これならプロトコルもクライアント側での特定の処理も要りません。
それ以外はご推察の通りです。
- 461 :375 :2001/08/26(日) 02:15
- >>460
>ピア一覧への登録と解除については
>俺はプロトコルは要らないんじゃないかと思ってます。
>ある板にアクセスしたら、
>時限付きでリストに加えるようなCGIを鯖側に用意するんです。
>これならプロトコルもクライアント側での特定の処理も要りません。
なるほど。ちなみに確認になるんですが
「ある板にアクセスしたら」
っていうのは「キャッシュが」ってことですよね?
確かにこの方がエレガントですね。
- 462 :266 :2001/08/26(日) 02:16
- >>461
> 「ある板にアクセスしたら」
> っていうのは「キャッシュが」ってことですよね?
はい、そういうことです。
- 463 :デフォルトの名無しさん :2001/08/26(日) 02:16
- >>456
改竄されてるかどうかを確かめるぐらいなら
最初から直アクセスするYO!ってならないかな?
- 464 :225 :2001/08/26(日) 02:18
- >456
とりあえず、信用出来ない鯖の検出が出来れば問題ないんだよね。
オリジナルへのアクセスはできるだけ避けたいから、どうすべきかと。
2ch側で登録してもらって、たまに見回りをしてもらうってのもありかな?
- 465 :266 :2001/08/26(日) 02:21
- >>463
それもあると思います。
ただ、全体としては、悪意を持つ奴やその影響は
正常な動作に比べてごく小さい範囲に収まるんじゃないかな、と。
少なくとも架空レスや架空スレ以外の問題はないはずです。
で、架空のものにしても直アクセスで確かめるのと
鯖上のチェックサムと照合してみるのとの組み合わせで
その割合はいくらでも小さくできて、
いずれは2chの鯖をクラッキングされる確率と変わらなくなるんじゃないでしょうか?
そうなると杞憂でしかありませんよね。
- 466 :266 :2001/08/26(日) 02:23
- >>464
うーん。
まず、問題は架空レスや架空スレということでいいですよね?
で、その架空の発言でどんな被害が出るかというと、
せいぜい誰かがだまされるかだまされないかぐらいの話で
それは現状の2chとなんら変わるものではない。
荒らしにしたって現状の2chに既にそれはある。
ヤバい情報が流れるとしてもそれは
全部キャッシュ上の話で2chに管理責任はないだろうし
それに2ch上にコピペされたなら従来どおりに対処すればいい。
そんなこんなで被害と呼べるほどの被害が思い当たらないんです。
どっか抜けてますか?
- 467 :名無し :2001/08/26(日) 02:26
- >>465 嘘レスをもらったピアがキャッシュとして動作したは?
- 468 :デフォルトの名無しさん :2001/08/26(日) 02:29
- >>465
改竄を見抜けないままレスがつくとスレが破綻する
可能性もあるんじゃないでしょうか。
まぁこの問題は開発の本筋とはあまり関係ないから
後回しでもいいかもしれませんが…
- 469 :266 :2001/08/26(日) 02:30
- >>467
もちろん増幅されます。
だけど、それで生じる被害は >>466 の範囲に収まると思います。
キャッシュにはタイムアウトを設定してもいいでしょう。
そうなると、悪意のある誰かが嘘レスを大量にばらまくような
サーバントを作った場合が問題になるかと思います。
これには対処しなくちゃいけませんね。
- 470 :225 :2001/08/26(日) 02:31
- >466
いや、問題ないと思う、
要は、話がかみ合わなくて笑い物にされる恐れがあるってだけだからね。
- 471 :デフォルトの名無しさん :2001/08/26(日) 02:31
- レスをつけるときは直にやるんだからちょっととんちんかんな会話になるだけっしょ。
セキュリティはとりあえず動くものつくってからでいいと思うなぁ。
- 472 :うーん :2001/08/26(日) 02:34
- 出力されたデータが改竄されていることがリアルタイムに判明する仕組みは必要だと思うよ。
データに関しての責任を誰も負えなくなってしまう。それこそ無法地帯になりかねないよ。
あと削除があった場合の同期方法を考える必要があると思う。
それから、直アクセスは通常出来ない、もしくはかなり制限されるようにしないと
結局殆どの人が直アクセスになってしまうと思うな。
- 473 :266 :2001/08/26(日) 02:36
- 一個解決案を考えてみました。
鯖上にスレの要約ファイルを作るんです。
で、この要約中にはスレを構成するレスのサイズとハッシュか何かが並んでいる。
スレを読む時には必ずこの要約ファイルを鯖まで取りに行ってから
キャッシュにアクセスします。
これなら架空スレは作れませんし架空レスについても
せいぜい発言が差し替えられるだけで数が増えたり減ったりはしません。
鯖へのアクセスやCGIの負荷は増えますが
前者はスレの直接読み出しとは比較にならないでしょうし
後者もCPUの消費ですから問題ないでしょう。
どうですか?
- 474 :UNIX板の状態 :2001/08/26(日) 02:39
- 2ch閉鎖の危機なんだと(Part2.1)
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998754174
素人には何のことだかわかりませんが、
メッセンジャーくらいなら出来ます。
- 475 :375 :2001/08/26(日) 02:41
- >>473
どの時点のハッシュをとりに行くかが問題では?
キャッシュからレス取得
↓
ハッシュ計算 (その間に新たな書き込み)
↓
ハッシュを2ch.netにとりにいく
↓
ハッシュ食い違う
↓
マズー
ってことがありえるような
- 476 :266 :2001/08/26(日) 02:44
- ポイントを改めて書いてみます。
●index2.html にアクセスする時
ttp://www.2ch.net/board/p2p.cgi?do=floterlist にアクセス。
スレ番号の一覧が帰ってくる。
その一覧を元に各スレにアクセスする。
●特定スレにアクセスする時
ttp://www.2ch.net/board/p2p.cgi?do=reslist&thread=XXXXXX&from=XX&to=XX にアクセス。
レスのハッシュとサイズのペアの一覧が帰ってくる。
一覧を元に検索クエリーを投げ、レスのデータを集める。
その時にはもちろんサイズとハッシュを照合する。
これなら単純で安全性も高いと思いますがどうでしょう?
- 477 :266 :2001/08/26(日) 02:45
- >>475
鯖へのアクセスが全てに先行します。
鯖にアクセスしてから、鯖から取得したリストにあるレスを集める、という格好です。
最初からキャッシュにアクセスするというのは無しにするわけです。
もちろん転送量は若干食いますけどスレを直接読むよりもずっと軽いはずです。
- 478 :225 :2001/08/26(日) 02:45
- >>473
基本的には一分間に10もレスが付くような状況にも対応するにはどうしたらいいかって事だよね。
- 479 :266 :2001/08/26(日) 02:47
- >>478
すいません。話が見えません。
改竄防止のために鯖上にある信頼できる要約データに従ったものしか
キャッシュからは集めないという話です。
- 480 :266 :2001/08/26(日) 02:48
- 補足です。
この要約データは鯖側のCGIで生成してもらう必要があります。
つまり、書き込みをした時についでで生成してもらうわけです。
- 481 :375 :2001/08/26(日) 02:52
- >>477
たしかにサイズが違えばリトライすればいいわけですね。
唯一あぼーんされてなおかつサイズが同じ時にハッシュが食い違って
エラーになる可能性があるのかな?
具体的には
クライアントがあるスレのA〜Bのハッシュとサイズをゲット
↓
(この間にあぼーん。サイズは変わらず)
↓
クライアントがA〜Bをcacheに要求
↓
cacheからゲットしたデータのサイズ→OK
↓
cacheからゲットしたデータのハッシュ→NG
↓
マズー
- 482 :266 :2001/08/26(日) 02:56
- >>481
ハッシュが一致しなかった場合には
鯖まで取りに行くということではどうでしょう?
これでもまだ転送量軽減には十分な効果があるはずです。
実際にハッシュがどうしても一致しないものってそんなには出ないはずです。
出るとしたら大掛かりな妨害が行われてるわけですから。
あと追加で、あぼーんリストだけ別個に作ってもらって
たまにチェックするようにしてもいいかもしれませんね。
- 483 :266 :2001/08/26(日) 02:59
- みんなもう寝ちゃいました?(藁
- 484 :375 :2001/08/26(日) 03:00
- あと &ls=100 っていうリクエストについてはどうしましょう。
強制的に &st=XX&to=XX に置き換えさせないと示すレスの範囲が
変わってしまいますよね.
- 485 :266 :2001/08/26(日) 03:02
- >>484
それは p2p.cgi に ls オプションの処理をつければいいと思います。
p2p.cgi は今の read.cgi とほぼ同様の機能を持っているけれど
出力されるデータはスレ番号やレス要約の一覧ばかりである、
というような格好が適当じゃないでしょうか?
- 486 :225 :2001/08/26(日) 03:02
- >480
要はETagのリストだよね。
- 487 :うーん :2001/08/26(日) 03:02
- ちょっと、待って・・・
ハッシュのチェックをするのはどこ?
キャッシュサーバーで改竄されたとすると、
そのキャッシュサーバーからハッシュデータ受け取っても意味なしなんだけど。
- 488 :266 :2001/08/26(日) 03:04
- >>486
そうなりますね。
ところでETagをレスごとに生成できるんでしょうか?
- 489 :266 :2001/08/26(日) 03:07
- >>487
まず、2ch.net 上にハッシュのリストがあります。
これは書き込み時に生成されるもので、絶対に正しいとして信頼します。
2ch にアクセスする際にはこのハッシュのリストを 2ch.net から取得し
リスト中にある情報を元に検索クエリーを生成してばらまきます。
クエリーの結果として発言のハッシュなどがサーバントから帰ってきます。
正しい結果を返してきたサーバントから改めてレスのデータを受信します。
受信したデータから自前でもハッシュを生成し
鯖から取得したものと比較します。
これで一致しなければ鯖から直接にレスを取得します。
こういう流れです
- 490 :266 :2001/08/26(日) 03:09
- >>489
あ、鯖っていうのは 2ch.net のことです。
- 491 :225 :2001/08/26(日) 03:12
- >>488
>Last-Modified: Sat, 25 Aug 2001 18:04:23 GMT
>ETag: "10e859-28027-3b87e8a7"
>Last-Modified: Sat, 25 Aug 2001 18:07:20 GMT
>ETag: "10e859-2830e-3b87e958"
レスがつくと変わるみたいだ。
- 492 :266 :2001/08/26(日) 03:14
- >>491
おおっ、これは使えるかも。
ETagってperlから取得できますか?
取得できるならETagを保存すれば
スレのレス要約リストについては問題なしですね。
- 493 :うーん :2001/08/26(日) 03:16
- >>489
いや、手順じゃなくって、どこがなんだけど、
ブラウザでそれをやるってことですよね?
- 494 :375 :2001/08/26(日) 03:19
- >>493
ブラウザ(IEとか)ではなくて、各自のPCにたてるhttpd(のようなもの)
がです。これを改竄しても意味ないですし。
- 495 :266 :2001/08/26(日) 03:21
- ちょっと難民板のぞいてきました。
いやかなりヤバいみたいですね。
存続する意向自体はあるみたいだけど金銭的に見てでかすぎる、と。
- 496 :_ :2001/08/26(日) 03:23
- 『レースレーサー板』の総合スレッド表示が1つしかできないようになっています。
皆さんのおチカラでなんとかなりませんか?
- 497 :266 :2001/08/26(日) 03:23
- >>493
>>432 のあたりをご覧ください。
>>494 での 375 さんのおっしゃる通り
クライアント上で動作する似非プロキシや HTTPd のようなものを考えてます。
- 498 :225 :2001/08/26(日) 03:26
- まあ、一言でいえばグヌテラな烏賊串かな?
上位串は固定じゃなくて、適当に選ぶって感じか?
- 499 :266 :2001/08/26(日) 03:27
- もうそろそろ寝ようかと思いますが、
できれば明日中にプロトタイプをたたき上げるつもりです。
実は納期までまり余裕のない仕事を抱えてたりもするもんで(苦笑)
実装に際しては独断で仕様を決めてしまおうと思いますが
ソースは公開しますしご意見は是非とも参考にさせてください。
どうぞよろしくお願いします。
では今日はこれにておやすみなさい。
- 500 :375 ◆MsUYMX0E :2001/08/26(日) 03:28
- >>266
おやすみなさい。僕もねます
- 501 :266 :2001/08/26(日) 03:29
- >>498
そういうことです。
自分から見てキャッシュ鯖となるサーバントは
2ch上のピア一覧を見て適宜決定します。
- 502 :うーん :2001/08/26(日) 03:28
- >>494
ごめん構成を勘違いしてたみたいだ。
(1)2ch.net ---- (2)キャシュサーバー ---- PC[(3)内部プロクシ---- (4)ブラウザ]
と言う構成でハッシュのチェックは(3)でやるということですね?
- 503 :266 :2001/08/26(日) 03:30
- >>502
はい、そういうことです。
ただし(2)の部分はサーバントになります。
今度こそ寝ます(笑)
- 504 :なんとなく :2001/08/26(日) 03:45
- キャッシュサーバを設けるなら、書き込みがあった時点で
そのまま転送しちゃっても良いのでは?
書き込みは常に親サーバが受け取り、そのまま子サーバへ転送。
親サーバには直属の子サーバへのリンクしか置かないで、
スレッドは子サーバ以下からしか読み込めない。
親の負荷が増えたら、板ごとに親サーバを分割できるし、
キャッシュサーバも孫やひ孫が作れる。
認証も親サーバのアドレスが固定であり、サーバ間通信は暗号化も可能。
秒単位の遅延と、書き込みが即時反映はされない点、子・孫サーバが
落ちてた場合の再送のタイミングに少し問題が残るけれど。
- 505 :225 :2001/08/26 06:38
- >>504
ツリー構造のIRCみたいなものかな?
プッシュ型は効率的には良いだろうけど、問題は誰に送るかってことかな?
スレッド毎に定員を決めたりする場合、満員なら自分の子のサーバンドを紹介するって事になるんだろうけど
子が全部ファイヤーウォール内だったりすると困るかも?まあそれは無いにしても(というかコネクションはりつづけてる必要があるし)、
途中がとらぶった場合は面倒かも?ちゃんと配信してくれればいいんだけど。
まあ、それならそれで、別の親を探すか、自分が2ch直下の親になればいいだけかな?
LOGを平均して10人で共有出来れば、2chの負荷は1/10になるって事だよね。
処理に3秒余裕をみるとすると、珠々つなぎでも30秒程度、2分木だと12秒 10分木だと3秒
と書き込まれてから、親が検知するまでの時間(2ch自身が親として流すのなら最短で済む)
がタイムラグになる
とりあえず重要なのは
piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=502&to=502&nofirst=true
piza2.2ch.net/tech/dat/990334284.dat
なんていうアクセスを横取りして、さも実際にアクセスしたように表示できればいいわけで。
それにはdatのキャッシュデータが必要なわけで、
誰かが持ってるなら、何もオリジナルを読みにいく必要はないけど
じゃあ代替手段は何かってことで、
結局、オリジナルを読みに行った人と、そのデータを共有するための仕組みがproxyなんだけと、
アクセスが特定のサーバに集中したんじゃ、とても耐えられないし
かといって皆が一次proxyになるのではかちゅ〜しゃ使うのと大差ないって感じかな?
まあそれでもcgi使わないだけで、負荷的にはかなり違うと思うけど。
で、それにはキャッシュを持っているアクセス可能なサーバンド(つまりミラーサーバ)を知るのが先決な訳で
p2pっていうのは、それの出来次第で評価が左右されるんだよね。
まあそこはスレで告知するとか、ある程度は運用でカバー出来るから問題ないかもしれない?。
- 506 :266 :01/08/26 11:57
- 今起きた(藁
プロトコルの仕様を考えてたらちょっと思いついたことがあったり。
これ、IPを隠して書き込みしたり
同じスレを見ているユーザー同士でIM的な使い方するのに使える(藁
WinMX+ICQ+2ch的なことがかなり簡単にできてしまう。
そういう方向へ誰かがツールを拡張してしまうと
かえってユーザー数を増やしちゃってトラフィックが増えるような気がするのは俺だけ?
- 507 :デフォルトの名無しさん :01/08/26 12:01
- このスレで作ろうとしているシステムの名称だか開発コードネームって何か決まってます?
- 508 :デフォルトの名無しさん :01/08/26 12:03
- >>507
ラプソディー
- 509 :デフォルトの名無しさん :01/08/26 12:07
- P2P2C(H?)
- 510 :266 :01/08/26 12:09
- 俺が作ろうと思ってる分についてはまだ名前は考えてないよ。
それよりIP匿名化とかファイル共有とかIMとか
ほんとに作っていいのかどうか不安になってきたんだけど・・・。
- 511 :375 ◆MsUYMX0E :01/08/26 12:10
- >>506
おはようございます(^^;;;
ところで >>461 で
---
ピア一覧への登録と解除については
>俺はプロトコルは要らないんじゃないかと思ってます。
>ある板にアクセスしたら、
>時限付きでリストに加えるようなCGIを鯖側に用意するんです。
>これならプロトコルもクライアント側での特定の処理も要りません。
なるほど。ちなみに確認になるんですが
「ある板にアクセスしたら」
っていうのは「キャッシュが」ってことですよね?
確かにこの方がエレガントですね。
---
とかいったんですが、よく考えたらこれだと
キャッシュとして振舞う気が無いのにただアクセスして
2ch.net の鯖にあるリストを腐らせるとか言う攻撃が
可能になりませんか?
やはりcacheの特定のポートに2ch.netからpingするとか、cacheの
動作を確認する何らかのプロトコルがいる気がするのですが...
- 512 :266 :01/08/26 12:14
- >>511
なるほど。
でもそれって普通に 2ch.net を攻撃する奴がいるかどうか
って話と変わらない気がします(藁
別個にポートを用意する場合でも
そのポートやプロトコルを隠したり何らかの形でセキュアにしないと
同じような問題が考えられますよね。
そこまで暇な奴がいるとは思えないんですが甘いかな?
- 513 :375 ◆MsUYMX0E :01/08/26 12:18
- >>512
まぁたしかにそうなんですけど
IEとかで
ttp://www.2ch.net/board/p2p.cgi?do=getmes&thread=XXXXXX&from=XX&to=XX
とかにつなぐだけでリストに登録されちゃうのはまずいかな? と。
あ、でもUSER_AGENTで区別するという方法はありますね。
IMとかファイル共有とかは確かに面白そうですね。
でもとりあえずはプロトタイプの作成が先かな?
- 514 :266 :01/08/26 12:18
- うーん。結構悩ましいかも。
仮にP2Pcacheを作って誰かがそれを改造して
匿名書き込み機能を追加したとすると
P2Pcacheを使ってないユーザーがfusianasanしても
それが信頼できないっていう話に繋がりますよね。
つまり2ch全体でfusianasanが無意味になってしまう。
これは安易にソース公開で出しちゃうとまずいかも。
- 515 :デフォルトの名無しさん :01/08/26 12:19
- なぁ、漏れは、w3m or lynx使いでJavaは動かないんだが、
ブラウザはJavaが動く香具師でないと駄目か?
- 516 :375 ◆MsUYMX0E :01/08/26 12:20
- >仮にP2Pcacheを作って誰かがそれを改造して
>匿名書き込み機能を追加したとすると
>P2Pcacheを使ってないユーザーがfusianasanしても
>それが信頼できないっていう話に繋がりますよね。
>つまり2ch全体でfusianasanが無意味になってしまう。
>これは安易にソース公開で出しちゃうとまずいかも。
あれ、書き込みは従来どおり2ch.net に直接だと思ってたんですが..
- 517 :266 :01/08/26 12:21
- >>513
はい。ピア管理は read.cgi にある程度組み込んで
USER_AGENT で区別するという方向で考えてます。
これならPC初心者の厨房は十分排除できるはず。
- 518 :266 :01/08/26 12:22
- >>515
そういう細工はしないんで大丈夫です。
- 519 :266 :01/08/26 12:23
- >>516
あ、違います。
俺が作ってソース公開したら
誰かがすぐにそういう改造ツールを出しちゃうんじゃないか、という話です。
P2Pでもgnutellaとかだと確かあれはIP自体を輸送しちゃいますよね?
IP匿名ってのが売りである 2ch ではそれはまずいだろうと思って
IPをばらまかない方法を考えてたんですよ。
そしたらこれは悪用も可能なんじゃないかってジレンマに陥っちゃって。
- 520 :266 :01/08/26 12:35
- ソースが公開されてプロトコルも決まってる。
しかもそのプロトコルはIPの匿名性が高い。
少しコードを書き加えれば
IP匿名化書き込み、同じスレを見ているユーザー同士でのチャット、
ファイル交換などが簡単に実現できてしまう。
こんなもの厨房なアマグラマが見つけたらそれこそやばいような気が・・・。
どう思いますか?>諸氏
- 521 :375 ◆MsUYMX0E :01/08/26 12:41
- >>520
IP匿名化書き込みっていうのがやっぱりよく分からないんですが
もうすこし具体的に説明していただけますか?
- 522 :266 :01/08/26 12:45
- >>521
まずgnutellaではファイル交換をHTTPでやる時のために
確かメッセージ交信の両端のサーバントのIPをやりとりしますよね?
でもこれはファイルのストリームを
二者間で直接やりとりしなくちゃいけないからで
データ転送も含めて中継サーバントが面倒を見てくれるなら
直近のサーバントのIPが分かってれば十分で
あとは相手先の識別用GUIDか何かを目当てにバケツリレーすればいいわけです。
こうすればIPをパケットの中に含める必要がなくなる。
で、こういう仕組みを作った上で、
どこかのサーバントに代理投稿を依頼するわけです。
すると 2ch.net 上には代理サーバントのIPだけが残る。
間に不特定の複数の中継サーバントを入れれば追跡もほぼ不可能なはず。
こういう話です。
- 523 :266 :01/08/26 12:48
- スマソ。急な呼び出しがあったんで小一時間離席します・・・。
- 524 :デフォルトの名無しさん :01/08/26 12:59
- >>520
現状として出来ることは
約3割のgzipやlastmod非対応ユーザーを
2ch.netに直接アクセスさせないことだと思います。
とりあえずキャッシュサーバーとしての動作を優先すべきでは?
専用ソフトを使う人は全体からすれば少ないはずです。
- 525 :デフォルトの名無しさん :01/08/26 13:18
- >>522
代理サーバからの書き込みを拒否するのはだめ?
writeはclientから2ch.netに直接で
2ch.netの方は代理サーバ一覧もってるんしょ?
- 526 :375 ◆MsUYMX0E :01/08/26 13:39
- >>525
たぶん悪意を持った人が、2ch.netにも登録せず単なる汎用の
「メッセージをたらい回しして発信元を消すツール」
に改造しちゃうことを心配してるのだと思う。
でも結局いずれ誰かがそれをスクラッチで作っちゃうだろうし
個人的にはあまり問題ないとは思うんだけどね。
- 527 :266 :01/08/26 13:49
- 帰ってきました。仕事追加されたよ(泣)
>>524
俺自身はキャッシュしか作るつもりはありませんが
ソースは公開するつもりなんで誰かが妙な改造をするのを心配してます。
>>525
代理サーバと言っても実体は代理サーバントなんで
それをIPなんかでブロックしたら正規の書き込みができなくなります。
改造する奴はきっちりとIEか何かを偽装するようなコードを仕込むでしょうから
USER_AGENTを使った判別も無意味です。
>>526
ごもっとも。その背中を押すようなマネを自分ではしたくないなという話です(藁
- 528 :デフォルトの名無しさん :01/08/26 14:02
- >>524
確かP2Pプロジェクトとキャッシュサーバプロジェクトは別個で
開発していくんじゃなかったの?
で、P2Pがここのスレッドでキャッシュサーバは別にスレッドを
立ち上げることで話が決まったはず。
で、キャッシュサーバスレが未だに立ってないだけ(消滅?)
- 529 :225 :01/08/26 14:32
- >527
改造もなにも、このスレは2chの代わりになるようなものを作るのが
元々の目的だった気もするけど?
まあ、削除の問題とか、いろいろ難しいだろうけどね。
で、とりあえずそれとは離れて、今の話だけど、win以外の人の為に
キャッシュ部分をミラーサーバとして公開するならって事かな
書き込み用のフォームのリンクは2chに直接貼るしかないんじゃないの?
- 530 :デフォルトの名無しさん :01/08/26 15:34
- プロトコルの実装をでっち上げれば、あとは各クライアントを使っているプログラマさんがエージェントを作ってくれるっしょ。
バケツリレー式プロトコル、パンドラの箱かもしれないですけど、面白いと思いますよ。
fusianasanはトリップみたいにパスワードやれば良いと思われ。
これは、公開鍵暗号を実装すればいいでしょう。
削除は事実上不可能だと思うけど、これは仕方ないと思う。
一度ネットに上げられてしまった情報は、コピペやキャッシュによって無くなることはまず無いんですから。
- 531 :デフォルトの名無しさん :01/08/26 15:54
-
マスターサーバー
現在の鯖を使用
キャッシュクライアント
ADSL以上が条件
ROMクライアントよりスレッドの取得が優先される
ROMクライアント
ISDNなど主に低速回線向け
スレッドのキャッシュをしない
スレッドのキャッシュ方法
クライアントからマスターサーバーへスレッドのリクエスト
そのスレッドのキャッシュクライアントリストとスレッドを照合
新規に書きこみがある場合、
新規書き込み分の差分とキャッシュクライアントリストをクライアントに渡す。
クライアントがキャッシュクライアントである場合、キャッシュクライアントリストに追加。
キャッシュクライアントリストの上限はスレッドに対するリクエスト数で変動。
記録するデータはクライアントIDと取得書き込み数
こんな感じじゃだめですかねぇ・・・
- 532 :1 :01/08/26 15:56
- プロトコルはXML-RPCってのはどうでしょうか?
言語もC/C++、Java、PHP、Perlなどなんでもあり、プロトコルもHTTP上に載るから扱いやすいのと、仕様がきれいにまとまる気が。
かの有名なFreeNetもXML-RPCだと思う。
http://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/index.html (UNIXよりだけど)
http://freenet.sourceforge.net/
- 533 :デフォルトの名無しさん :01/08/26 15:59
- >>530
削除はマスタwww.2ch.netの一覧で削除マークつける
とか項目自体消して、キャッシュからの更新時に
削除でクライアントに渡さないようにするとかはだめでしょうか?
NNTP式のコントロールメッセージ式は偽装が楽だった気がする。
どちらにせよ、完全じゃないけどないよりはマシのような。
- 534 :266 :01/08/26 16:01
- これまでの内容のまとめです。
独断で片付けてる部分が多いんですがそこは突っ込んでください。
●何を話しているか?
2chの転送量超過についての対策が問題意識の基本。
その解決としてのクライアント側でできるP2Pベースのキャッシュについて。
●製作物の概要
・対象プラットフォーム
候補:Win32
・大まかな内容
候補:クライアントマシン上で動く HTTPd。
ブラウザで localhost にアクセスすると 2ch が見える。
実際には裏で HTTPd が 2ch.net やキャッシュにアクセスして
スレのデータを収集、整形、キャッシングする。
・内部の大まかな処理フロー
1)ブラウザが HTTPd にアクセスすると HTTPd が動作しはじめる。
以下、この HTTPd をクライアント、ピアの HTTPd をキャッシュと呼ぶ。
2)クライアントは2chのスレを読み込もうとしたときに次の手順をとる。
i)2ch.net からスレやレスの目録リストを取得する。
ii)リストを元に検索クエリーを生成してピアにばらまく。
iii)ピアからの返事を一定時間待つ。
iv.a)ピアからの返事があればそこからデータをもらう。
データは 2ch.net から取得したリスト中のハッシュと照合を行う。
iv.b)時間内にピアからの返事がないか もしくは
上記の照合で失敗したら 2ch.net からデータを直にもらう。
v)自分が獲得したデータはキャッシュする。
3)書き込みは 2ch.net に対して直で行う。
4)鯖はピア一覧のみを管理する。
i)2ch.net 上に適当な CGI を用意してピア一覧の取得を可能にする。
330KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30