2013年07月07日

【訃報】ダウソ板の47氏 急性心筋梗塞で死去 享年42

このエントリーをはてなブックマークに追加 mixiチェック


 

Winnyやりてぇ~!―初心者のためのファイル共有入門です (Eichi mook―PC★STRIKEシリーズ)
Winnyやりてぇ~!―初心者のためのファイル共有入門です (Eichi mook―PC★STRIKEシリーズ)

但し、今時点でソースは立命館大学教授。






47氏の公式サイトはこちら。
www.geocities.co.jp/SiliconValley/2949/
当ブログ過去エントリー
「winny開発者裁判」控訴審 大阪高裁で逆転無罪判決

たらればが許されるなら、47氏が京都府警に身柄を拘束されていなかったとしたら、(戦局はShareもありましたが)暴露系ウィルスは水際で掃討され、人生を狂わされた人は僅少で終わっていたのか否か。
最後に当該スレサルベージしました。ご冥福をお祈りします。

MXの次はなんなんだ?

1: 02/04/01 00:57 ID:owzgLIEI

FTP?WEB割れ?
今まで、同じようなことが議論されてきたとは思うが、時期が時期なだけに真剣に考えてみようではないか。



47:   02/04/01 05:35 ID:WTyTkgT/

暇なんでfreenetみたいだけど2chネラー向きのファイル共有ソフトつーのを
作ってみるわ。もちろんWindowsネイティブな。少しまちなー。


51:   02/04/01 06:43 ID:LTQcuqwN

      ∧_∧
      ( ´Д`)< >>47応援揚げ
     /    \
  __| |   2  | |__
  \   ̄ ̄ ̄ ̄ ̄   \
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||


55: (・∀・)プポパ 02/04/01 13:21 ID:BRXeiuy+

>>47応援挙げ


57: モモタン ◆MOMO/qu. 02/04/01 23:22 ID:+Y5G0EN1

>>47
マジっすかあんた・・・カコ(・∀・)イイ!


58:   02/04/01 23:26 ID:coe9vLQt

>>47
実現してほしい。
神ですな。


59:   02/04/01 23:28 ID:coe9vLQt

>>47
期待してます。


62:   02/04/01 23:38 ID:H6781Ilo

>>47
(・∀・)イイネ!
頑張れ(=゚ω゚)ノょぅ!


70:   02/04/02 00:15 ID:1CZN4gm8

>>47
似たようなこと考えるヤツもいるモンだw


71:   02/04/02 00:22 ID:BpCI4rdS

>>47
1、交換している相手のIPがばれない
2、ユーザーIDとそのユーザーのIPの関係が全てのユーザーに隠蔽される

この二つの条件をそろえたクライアントを作って((゛≡ ̄〜 ̄≡゛))にょ〜

隠蔽するからくりは思いついたんだけど なんせプログラムは素人だから…俺

中央鯖を無くしてネットワーク内に仮想鯖を置き
1、ユーザーID ー IPキー1
2、ユーザーID − IPキー2
という情報を別々の鯖に管理させ
特定のユーザーへ情報を伝える必要が出来たときは
1、鯖に目的のユーザーのIDを伝える
2、鯖はそのユーザーのIPキー1,2(別々のユーザーに格納されている)と
    伝える情報を任意のユーザーに伝える
3、IPキーを受け取ったユーザーはIPを復元してそのIPのユーザー(IDは知ることが出来ない)に
    受け取った情報を伝える
(IPキーは IPキー1⇒乱数 IPキー2⇒IP−IPキー1)

他にもいろいろ工夫がいるんだけど「ほぼ」完全匿名で
WINMXと同等かそれ以上の使い勝手の良いクライアントは作成可能だと思う
ま、かなーり大変だろうけど…

つか こんな事書いてもまともに受け取ってくれないよね?


79: 47 02/04/02 04:02 ID:1arBVA6r

ねむー。明日仕事だつーのに(w
とりあえずWinSockでの最低限の通信部分は書いた。

あとMXと違ってユーザーIDという概念は無いと思われ>>71
チャットもできないし、だれが公開したファイルかはまったく
わからなくる予定っす。ファイル一覧は見えないし、
そもそも公開フォルダも中身は暗号化したキャッシュだから
自分のPC内の公開フォルダも何があるかは検索してみないとわからない。

んで、だれかがデータダウンするとその時点で経由したPCにも
キャッシュとしてそれが残るので初めにデータアップした人が
回線切ったとしても、問題なく他の人も落とせます。

その後、他からそのデータの要求があるたびに各所のキャッシュに
コピーが増えていくと思われ。この辺はFreenetと同じか。

問題は同じキー(名前)で中身が違う場合だけど
作成日時や大きさなんぞがダウン前にみれる予定。
ファイル名の一部検索も自由だしここがFreenetと違うところやね。
使い勝手はMXに近くなると思う。


80: ◆DQN1UzaI 02/04/02 04:04 ID:/yCEasW0

>>47
まじに凄い


82: DQS 02/04/02 04:18 ID:ppgd9BRC

>>47さん
キャッシュで残ったものを拾うってことは
MP3くらいだといいけど、動画等を扱うには
莫大なHDD容量が必要になる?
UL・DLのフォルダが同一になってる?
かつ相当な回線の太さが要求されるっぽい?


83: 47 02/04/02 04:31 ID:1arBVA6r

>>82
現在想定している設計ではUL,DLは同じキャッシュホルダです。
謎ファイル名で中身も謎のファイルがたくさんあるだけとなります。
ここから、自分のキャッシュに検索かけて
暗号化を解いて通常のファイルに戻すことになります。

回線については、MXと似た親子の区別ができると思われます。
子供の数を0にすれば自分のPC経由の中継は行われないので
軽いはずですが親のPCではその大域が子の中継にまわされるので
遅くなります。しかし親なら人気のあるファイルは自動的に
キャッシュに溜まるので後からオフラインで探ることもできます。
そんなわけで親になるのならHDDと回線は太いものが必要でしょう。
メカニズム上Freenetよりは軽いはずですけど。


453: 02/04/05 23:46 ID:0gmxtYSz

>>47
ISDN等のいわゆる「低速回線」を使っている人たちにとっては不利なシステムという認識で良いんですか?


457: 47 02/04/05 23:52 ID:77Xrl5cl

>>453
そうですが、小さくても貴重なファイルを提供していただければ
十分DOMれます。回線が遅ければUPも遅いんでもっていかれる
だけということにはならないはず。
この辺の状況は今のMXとかわんないではないかと。


581: MG 02/04/06 17:06 ID:lpRf/yP+

>>47氏へ
正直、もうそろそろ、47氏のWEBサイトを作って欲しいです。
ここのスレで語り合うのもいいですが、色々質問や
「Winny」の詳細情報をまとめて読みたいので、HP作ってもらえませんか?
そっちのほうが色々と便利がいいと思うんですがね・・・


704:   02/04/07 20:41 ID:or37YhCo

>>47氏に要望です。
ツリーの中での位置を確認するための表示をすることはできないでしょうか?
検索のコマンドに一定以上の転送速度を出すノードまでのホップ数を返せ、
というのがあれば、光回線まで何ホップというかたちでツリーの中での位置を知ることが可能だと思います。

あまり理解してないのでトンチンカンな事を書いてるやも知れませんが、
よかったら回答お願いします。


772: 47 02/04/08 14:20 ID:wvtsuKfX

>>704
ツリーの中での位置表示ですか?正直、このへんはまだ詳細設計がまだの
段階なんで付くかどうかわかりません。各ノードは周辺しか把握してない
(どっちが高速でどっちが低速かだけは把握してるから
場違いのクライアントがいたらそっちに再接続を誘導する)
から位置表示は無理じゃないのかなと思います。
あと、これやってしまうと匿名性で問題がでそうな気します。

もちろん周辺との接続状況は出すと思いますし、
今でも接続されてる隣のIPがそのまま表示されてます(^^;
ここはMXのようにID導入して隣のホストのIDだけは出すように
しようかなと思ってます。この辺はまだ詳細設計煮詰まってませんね。


56: 47 02/04/01 23:14 ID:7XMU++Uj

暇つぶしにぬぼーと新しいファイル交換ソフトを設計中。

現状では、Freenetと似た転送方式だけどあれと同じだと重そうなんで
ファイル検索部はFreenetと同じだけど、データダウン部分はファイルを
持ってる一つ前のサーバー部で中継してもらう方式を予定。
一度親に落としてもらってから子に転送するのでProxyとしても働く。
netstatでソケットの接続見ても無関係の親と子が見えるだけ。
もちろん親でキャッシュファイルを吐いてるのか串動作なのかは子からはわからん。
回線が細い人は子を0にしてやり取りを親との一対一に固定。
子を0より大きくすれば大域制限無しで動作する。

あとファイル名もファイル内容も初めから全て暗号化して扱って、
キャッシュは単なる数字のファイルという形式になる予定。
んでMXと違ってキャッシュにプッシュという操作が必要
(プッシュの際には次で述べる暗号化のためのキーワードを追加する必要あり)

あとファイル検索の時は検索ワード以外に暗号用の複号化のキーワードも
必要にして、ファイル検索時はサーバー側でファイルIDを複号化して
それに対して単語検索するって設計にしようかと思うんだけどどーよ?

これだとあるファイルを探すのに検索ファイル名以外に
特定のキーワードしらないとファイル見つけられないけど、
これならサーバー状態でもキャッシュファイルが意味不明だし
お約束をわかってる人しか落とせないからいいと思うんだけど。

あとeDonkyみたいにファイル分割伝送にしようかとも思ったけど
メリットなさそうなんで現在保留中。


60: 47 02/04/01 23:31 ID:RxKUzJrJ

試しバージョン作ってみるから少し待たれよ。
もしできたら完全フリーでここで公開予定。


134: 47 02/04/02 22:45 ID:h8yQMxAb

荒れてますねぇ。

とりあえず暗号化の部分は作り終わったので今はキャッシュ操作その他の
インターフェイス部分作ってます。面倒なんでMXもどき採用。

あと暗号化の部分は速度重視でアルゴリズムにRC4を採用しました。
MD5のルーチンも作ったのでハッシュに使うかもしれません。


139: 47 02/04/03 06:10 ID:N7zNXVUU

ボタンやリストなんぞのインターフェイス部分はだいたいできたよ。
あとオプションで指定したUPフォルダ内のファイル情報を元に
キー一覧を生成するところまではできた。
DOWNとUP以外にキャッシュフォルダって概念が別にあるけど
基本的にMXと同じ操作系かな。チャットがないからもっとシンプルかも。

ちなみにCount待ちなどの部分(リクエストのキュー部分)は
まだ設計自体が出来上がってないです。
ファイル転送部と中継部作ってそのあとだね。

とりあえず現状で完成度3割ってところで、次はメインとなるキーの検索部を作る予定。
基本的なファイルダウン部やレジューム部も作ってないからここもこれからだね。
簡単さからするとこっちが先かな。ここまでできればシステムの基本部分は7割完成かと。


140: 47 02/04/03 06:10 ID:N7zNXVUU

公開方法だけど今は何も考えずにそこらへんの匿名Webサーバに
ひっそりと上げたろ思ってたんだけどこれだとまずい?

このシステムだと暗号化のための鍵情報(実体はRC4の鍵だけど
適当なキーワード入力に置き換わる予定)を各利用者で打ち合わせないと、
ファイルダウンどころかファイル名も見えないから
鍵情報だけをMXでやり取りなりすれば厨房は弾けると思う。

まだ完成してないから確実じゃないけど、鍵の数だけ別の名前空間があるようなもん。
鍵無し(鍵を無記入で使用)なら今のMXに串機能ついたシステムに近くなる。
似た例では鍵無しがWPNPで鍵有りが子鯖相当ってところか。
今度のはグローバルな親いないからあれとは別もんだけどね。


141: 47 02/04/03 06:36 ID:zQ6cSqb+

で何度も書いてるけど、転送している人(もしかするとダウンしてる本人の
可能性も低確率であるけど外部からは判別不可能)のIPだけはどうしてもばれるけど、
その先にいる実際にファイルをリクエストした人のことはアップしている方からは
IPアドレス含めて何にもわからんです。共有リストって概念ないから
何持ってるかわかんないし、そもそもユーザーにIDが無い。

もちろんこのシステムは暗号化部分切れば、串経由でMX使ってるのと同じなわけで、
今作ってるシステム本体に中継ログ機能つけて各プロバイダで示し合わせて
データの流れを追えばだれから誰にデータが流れたかわかるかもしれんけど、
全部中身暗号化しちゃってる(もちろん検索単語などのリクエストも暗号化予定、
ファイル名は一番初めにキーに変換しちゃうので検索でヒットして初めて存在がわかるし、
実際に落として複号するまでネット上では中身がわからん)んで
私が自分で解析プログラム作って監視そても流れを追いきれんはずだなぁ。

著作権含むけどそれと知らない人が単にデータを中継しただけでも
つかまるってのなら逮捕可能かもしれないけど、それってルーター使ってたら
タイーホと同じなわけで、システム使ってるだけで無条件で逮捕可能にしないと、
捕まえられんだろう。


146: 47 02/04/03 07:25 ID:zQ6cSqb+

実はキーなどの情報の公開は2chに頼ってしまうのが一番良いのでは
ないかと思っとったりします(w
チャット機能に2ch使うの推奨。


153: 47 02/04/03 08:07 ID:+p+BRZqV

身元特定の可能性が上がることを考えてわざとトリップ付けないよん(w
騙りたい人は面白いからどうぞ。もしかすると面倒なことになる可能性はある。

そういえば、トリップで使われているようなハッシュ関数を用いることで、
ダウンするまでアップ側にまったくそれが何なのか気がつかせないシステムにできます。
今回のシステムの肝もこの辺になると思われ。

一度ファイル名をハッシュに変換してそれでファイルをUPして、ファイルを探すときは、
キーワードをハッシュ関数で変換してそれと一致するものを探すという手法をとれば、
ファイルの名前を公には伏せたままでファイルを検索できます。
これはシステムログイン時のパスワードなんかに使われる手法と同じで
アルゴリズムとしてはDESやMD5なんかが代表的ですな。

ただしこれだと完全一致でないとファイルが探せない。



154: 47 02/04/03 08:11 ID:+p+BRZqV

続き

もう一つの考えとして、秘密鍵暗号で暗号化して、
検索ワードの一部をに暗号鍵を混ぜるとする手も考えられるわけです。
秘密鍵暗号ならその鍵で元に戻せるわけで、検索ワードの半分で暗号を解いてから
それにMXの検索同様検索をかけるということができます。

これはMXで絶対見つからないような難しい名前付けるのと同じだったりもしますが、
システム側でこれを支援するわけですな。わかってる人には簡単に
目的のぶつを探し出せるわけです。MXでは難しい名前付けても
部分検索で探せてしまいますが、フィルタがかけられるわけです。

もちろん、暗号化はデータ本体の暗号化やクエリーをパケットダンプしても
解析不能にするためでもありますが、今回のシステムの肝はここでしょう。

たとえば、キーをmp3にしてファイル名を普通に付けると、mp3というキーワードで
検索かけた人しか、そのファイル探せないわけです。そのルールさえ
知ってればファイル検索はMXと同じです。

あと同じ考えで、公開鍵方式の暗号を使ってこれをやるとどうなるのか?
というのもあるのですけど、このファイルをUPしたのは俺だと証明できる
ファイル交換ソフトになってあまり面白くないんですなこれが。


165: ` 02/04/03 11:15 ID:Li27DZ2q

>>154
秘密鍵で署名すると、万一PC自体を押収されて秘密鍵を取られたとき
「おれがやりました」っていう“否認不可能な署名”になっちゃう危険ない?


174:         02/04/03 18:34 ID:/xMFXWSp

>>165
いや、このファイルのやりとりそのものが
そもそも違法なるかどうかわからない、と思う。

例えば
ラーメン屋の主人が店内に自分が見るためだけにテレビをおいていて
そのテレビつけっぱなしにしておいたところ
客が一緒に(勝手に)見たとする。
この状態を著作権の無い違法な公開と言えるのであれば、
このファイルのやり取りも違法といえるかもしれんが…


179:   02/04/03 20:37 ID:MrYImkrV

>>174
JASRACみたいな考え方ならそれも違法だろうね


155: 47 02/04/03 08:22 ID:+p+BRZqV

もちろん、必死に暗号アタックすれば、キャッシュや公のサーバーにおいてある
ファイルの名前や中身がわかる可能性はいつまでも残るわけですが、
この状態でやばい物を持っていて、尚且つ持ち主が暗号解読不可能な状態なら、
それを公開している人が著作権侵害に当たるのか?わいせつ物陳列になるのか?
→問題その1

もしくは、システム側で完全に匿名にできたとしたら、そのシステムを作った人に
責任を押し付ける可能性は?という問題が無くもないわけでし


213: 47 02/04/04 06:01 ID:1Z/IrTWf

ネタじゃなくてちゃんと作っているのでご心配なくです。
今は検索部分作ってますけど、複数のPCで動かさないと
チェックできないのでバグ取るのがめんどくさいです。
とりあえずキーの転送部分と接続制御部はできたっす。


214: 47 02/04/04 06:04 ID:1Z/IrTWf

あと名前ですけど、今作ってるプログラムでは暫定的にWinNXになってます(w


216: 47 02/04/04 06:15 ID:1Z/IrTWf

今WinNXで検索したらこんなものが(w

WinNXやろうぜ
http://curry.2ch.net/musicj/kako/994/994315734.html

WINNXって何?
http://yasai.2ch.net/win/kako/991/991328988.html



225:   02/04/04 08:59 ID:Roy2G6sC

NXってのはNEC系Pcのプレインストールアプリに
良くついてる名前なんだよなあ。
MXの次ということで

M→N
X→Y

WINNY=『ウィニー』

という線もあるかな。

W→X I→J N→O
も加えると、
XJONY=『エクスジョニー』

『47』ってのも
これがメジャー化した時
何故そんな名称なのか、
このスレが伝説になりそうでよい。

(・◇・)ヨナー


258: 47 02/04/04 13:28 ID:Tl3/3HsG

夜中に実装して昼間仕事だからここんとこぜんぜん寝てねー(w

とりあえず隣のクライアントへのファイル検索機能まではできた。
次、一番面倒な分散通信部の実装やね。

まだ実装が完成してないんで最終的にどうなるかはわかんないけど、
今の予想設計だとファイルを落とし始まった時点での接続は
(おっと、検索時はノードをのんびりと渡り歩くんで別よ)

検索者 <-----> 中継ノード <------> ファイル提供者

か、

検索者 <---> 中継ノード1 <------> 中継ノード2 <------>ファイル提供者

のどちらかになると思われ。もちろんこう見えるだけで実は

検索者 <---------> 串のキャッシュを送ってるように見えるファイル提供者

こうなってる可能性も発生する
(これは実際にはそれほど発生しないはず。上流に来易い
高速回線経由のクライアント間ほどこれが発生するかなー)

どっちにしろ、だれが検索者でだれが最終的なファイル提供者か
ネットワークの一部分を見ているだけではわからない。

暗号化も入るしMXよりはかなり安全なはず。
(もちろん249氏が言うように鍵知ってたら暗号も
解析できちゃうんだけで完全じゃないけど
串動作と組み合わせれば解析が非常に困難になる)
そうそう、通信の暗号化とファイル名&ファイルの暗号化は
別の暗号になるから、検索キーが公開されてても、
通信の中身はリバースエンジニアリングしないと解析できないよん。

基本的にプログラムのソースや通信プロトコルを公開する気はないし、
完全オリジナルのプロトコルで、通信全部を
暗号化(&エラー検出を兼ねる)の予定だから、
怪しい接続は問答無用で弾けるはず。

基本はMX+Freenetだけど、暗号化や認証、データ圧縮補正系の
技術てんこ盛り+串動作で解析不能にするわけやね。

もちろん手抜きしてるだけあってFreenetの匿名性には負けそうだし、
MXよりは不便でダウンが遅いだろうけど、目標は
MXの利便性・高速性とFreenetの匿名性を兼ね備えたシステムか。
もしどちらも実現できなかったら失敗ということで(w


263: 47 02/04/04 14:43 ID:hr5Nfj19

開き直って職場から書き込み(w
そろそろ4台以上PC無いと辛いんで職場でこっそりテストするかぁ?

あと、ファイルを断片化して分散保持するのはメリット(機密性・対障害性、匿名性)より
デメリット(データロスト率が高そうだし遅そう)の方が大きそうなので却下か。

代わりにファイルレジュームを超強力にしないと使い物にならんだろう。
MXは交換が基本なので相手に全部落とすまで待ってもらえるのが
普通だけどこのシステムだと何も考えずにぶちぶち切る人が多いと思われ。

キャッシュが利くので末端の人が回線切ってもある程度は
サポートできるけど限界がある。だから、頭から途中だけ
ではなく、中間部分の保持、また大きなファイルを扱うのなら
複数ノードからの同時ダウンに対応しないとまずいだろう。

初期設計だと、ノードの上流はひとつであとは下流に
しようと思っていたけど、そんなことで既に
親複数(上流下流をあまり気にしない)に変えた。

これで面倒になるのは分散検索部だな。ここが作れれば完成できるだろうし、
だめならだめだと思われ。最悪Freenetのパクリでどうにかなるだろうが、
もっといい手法を編み出したいところだ。


310: 47 02/04/04 20:06 ID:stKzX4UZ

本物と思われる人です(w。ついに偽者が出るようでうれしい。
間違ったことややばいこと書いたら偽者のせいにするのでよろしくね〜ん。

さて、今悩んでるのは検索時のネットワークルーティングでしょうか。
Freenetと同じでもいいんですが、遅そうなんで独自の方式を考え出しました。
具体的内容は秘密ですが、それなりに高速で、今回の転送方式との相性が良いはず。

もちろんどの程度のパフォーマンスが出せるかは実際に動かしてみないとわかりませし。
検証用のトラフィックシミュレーターでも作ってモデル検証してみようかとも思いましたが、
とりあえず実際に作ってしまった方が早そうなんで今夜にでも作ってしまいましょう。

予想では、mp3のような小さいファイルがたくさんとか、遅い回線使用者ばかり
ですとパフォーマンスが悪いですが、比較的大きなファイルが主流で
高速回線使用率が高いとMX並みの速度が出せるはずです。
匿名性最重視で小さいファイルメインならFreenetでいいわけですので、
今回のではMXの後継位置を目指して、それ向きな方式を選択していきましょう。

なお、Freenetの技術的なことはこの辺りが参考になりました
http://www.sfc.wide.ad.jp/~egichan/mlecture/netsec2000f/kadai3.html

あと要望に応じてソース一部提出(w
ちゃんと作ってますよん。

/*
* Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
* initialization constants.
*/
void MD5Init(MD5Context *ctx)
{
  
  ctx->buf[0] = 0x67452301;
  ctx->buf[1] = 0xefcdab89;
  ctx->buf[2] = 0x98badcfe;
  ctx->buf[3] = 0x10325476;
  ctx->bits[0] = 0;
  ctx->bits[1] = 0;
}

↑ちなみにここは他所からパクったソースだ


313: ・・・ 02/04/04 20:18 ID:y+0AQScE

47さんいつ頃できそうですか?


315: 47 02/04/04 20:24 ID:stKzX4UZ

>>313
テスト版完成が今月中ごろで最終チェックに1、2週間かけると思われ。
公開は一月ほど待たれよ。まだ開発初めて4日目で開発率30%ほど。


317: 47 02/04/04 20:28 ID:stKzX4UZ

ちなみに俺ぁネットワーク系メインのプログラムじゃないんで
この程度のプログラム作れる人ならそこら辺にごろごろしてるはずだな。


350: 02/04/05 01:55 ID:d+/lom8n

記念パピコ
47タンは何年くらい経験積んでんのかね


364: 47 02/04/05 10:04 ID:5rcxH4lw

気がついたらキーボード抱えて爆睡しとりました(w
今日は職場でのんびり作業しますわ。本職の方暇だし。
ちなみにプログラミング暦なら20年>>350


377: 47 02/04/05 14:46 ID:yZ65YIiO

ん〜、じゃWinnyにしますか?初めはWinNYだったけどMXの後継とは無関係に
Windows Next eXchange programって説明できていいかと思ったんで
WinNXに変えたんだったり。

全部小文字にしてI love NYな人っぽい意味合いで語呂がいいからってことでもいいかも。
あと47絡みの名前は却下っす。使うなら作者名に使いますわ。

ちなみに今作ってるプログラムInfo情報は以下の通りになっとります。

WinNX Version 1.0a1(Build ????)
Copyright 47@download.2ch



395: wini 02/04/05 16:31 ID:4alyy1xJ

ぜひiniファイルに設定を記録して欲しいな。
あと、プラグイン形式で拡張とか。


397: 47 02/04/05 17:06 ID:yZ65YIiO

本職の方で雑用多い・・・

とりあえずWinnyが人気あるみたいなのでこれにしときませう。
もっといいのが出てきたら採用ってことで。

>>395
exeの横にini形式で作ってますよん。ご安心を。

あとプラグインはやんないと思う。
セキュリティの大穴になるし、同様、
WinSockDLL技もつぶしとくつもりです。
もちろんこれでも解析は可能ですけどね。



424:   02/04/05 21:38 ID:jd6UZZcz

>これで面倒になるのは分散検索部だな。ここが作れれば完成できるだろうし、
>だめならだめだと思われ。最悪Freenetのパクリでどうにかなるだろうが、
>もっといい手法を編み出したいところだ。
とか書いてても、

>Freenetと同じでもいいんですが、遅そうなんで独自の方式を考え出しました。
>具体的内容は秘密ですが、それなりに高速で、今回の転送方式との相性が良いはず。

あっさり現行freenetを超える方式を思いつく47氏、天才。
しかし、どういう方法なのか、気になる…
freenetとの転送方式の違いとかから推測してみるも、
さっぱりわからない。
検索ヒットした後の帰りが早くなるような方法だと思うのであるが。


436: 47 02/04/05 22:58 ID:bBRp+Hyf

>>424
簡単に解説すると、ファイル検索も転送同様のメカニズムでキャッシュされるわけです。
お約束ファイル情報はそのファイルと共に上流のホストに溜まって行きます。
ファイル転送時にそれがキャッシュとして残るので、それ以上クエリを転送する必要ありません。
だからネット全体に検索しに行く必要がなく、お約束ファイル検索は高速な上流のホストから
すぐに結果が返ってきます。マイナーなファイルは回線細い人の所まで
クエリーがいくので見つかるのに時間がかかります。

今回の検索部&転送部の肝は、ネットワーク構造なのに、
回線速度に応じて仮想的な木構造ができていくことにあります。
光使用者が上流にきて自動的に神状態になるようにするわけです。


445: 424 02/04/05 23:21 ID:jd6UZZcz

>>436

>今回の検索部&転送部の肝は、ネットワーク構造なのに、
>回線速度に応じて仮想的な木構造ができていくことにあります。

早速の回答有難うございます。
ですが、未だ具体的にイマジンできておりませぬ。
自分の脳をクロックアップしてやりたい所です。
小一時間考えてみます。
//たぶん個別ノード内で仮想木構造があってエートエート…


454: 47 02/04/05 23:49 ID:77Xrl5cl

>>445

//たぶん個別ノード内で仮想木構造があってエートエート…

大体あってます。有効グラフによるネットワーク構造でノード間は
親子構造を持ちますが、転送速度に応じてグラフの方向が反転&
再接続がかかるので、ネットワーク内に生じた仮想的な木構造の
上位に高速でやり取り可能なノードが集まってきて、下に順に
ぶら下がって行きます。遅いと末端で1対1の交換only状態になります。




464: 424 02/04/06 00:20 ID:jWDVpO/u

>>454
うううう…トピックについてゆけるよう努力します。


471: 47 02/04/06 01:07 ID:M5Lc7MaX

>>464
ご意見どうもです

> 複数起動して自分のファイルを自分で検索&ダウソして優先度を押し上げるとか…

あーなるほど、それありそうですね。できるだけ禁止するようにしときますが、
複数のマシン使って回線詐称されると痛いかもしれず。
実際にデータ量測ってても、これならごまかすことはできますし。

ただこの辺は単に接続相手の選択にかかわることなんで、高速回線の人とは繋がりたくない
って場合にのみ意味のある技かな。複数起動したら結果的に低速扱いになるんで
それで転送を頼まれる率は下がりますが、接続相手も低速回線の人が増えて行きます。
この辺は基本的に同じ程度の速度の人同士で繋がるようにする工夫なだけですし、
回線が細くてこれやったらDOM可能でも時間がかかりすぎて途中で切られるでしょう。

> 一時的にログを取得中

とりあえず平気でしょう。開発途中のソフトの話しただけで捕まるはずないし、公開しても
作者の逮捕は無理かと。ファイル交換ソフト作成で逮捕された例なんてないはずだし、
公開後に個人情報を特定されるだけなら痛くも痒くもないなー。
逆に売名行為になっていいかも(w


432: 47 02/04/05 22:47 ID:bBRp+Hyf

実装まだだけど詳細設計はできてるので426の疑問に対する予想を書くと、

1.回線が早いと問答無用で親に繰り上がっていって常にUP状態となります。
  だからといって設定を工夫して親になりにくくすると今度は自分のダウン速度が
  上がりません。

2.各ホストのネットワーク構成(親子方向)は転送履歴とその速度を見て動的に変化していきます。
  網の目のように各ホストはつながりますが、データの流れ的にはツリー構造に近くなって行きます。

3.回線が早いと自動的に神状態(大量のダウン要求がくるけど勝手に持ってけ状態)に
  なっていきますが、ダウン速度はHDDが大量にあればそれほど下がらないはず
  (キャッシュが効くから)
  よって、回線が早く上流の位置にあたるホストは、無条件でキャッシュに
  人気のあるお約束ファイルが溜まっていきます。
  高速回線でHDDに余裕がある方は、暇なときに回線に繋ぎっぱなしにしておいて、
  暇なときに自分のキャッシュに検索かけるとさくさくファイルが見つかる可能性が
  高いです。

4.回線が早いのにHDDが無い(キャッシュを小さく設定)でもかまいませんが、
  昔一度読んだデータでもまた他からダウンしにいくので、ダウン速度が下がります。
  よって基本は、太い回線者ほどキャッシュフォルダを大きくとったほうがいいです。

5.回線が細い人はDOWN専用になってまず転送に加担しませんが、
  貴重なファイルを持っていると高確率で吸い出されて行きます。
  ここの部分はまだ設計が完全ではないですが、貴重なファイルを
  持っているほど検索速度やダウン効率が高くなるようになると思います。

6.DOMには何も制限ありません。回線の早いところから好きなだけ
  吸い出し放題です。 しかし、人気の無いファイルは落とすのに苦労しますし、
  接続相手とのパイプが細い可能性が高く時間かかります。

基本は、回線太い人がよく見かけて大きいファイルを分配させる人に。
回線細い人はあまり見かけないけどリクエスト受けやすいファイルを提供する人。
に役割分担されると思います。


438: 47 02/04/05 23:05 ID:bBRp+Hyf

ある程度できたら本体はこのシステムで提供するから
捕まったら自業自得(w


439: unko 02/04/05 23:05 ID:vcGiQPJO

ワシは思った。うぃにーが完成したら47さんは共有界の新たな創造神に昇華すると。
キャッシュ機能で、自分のHDに知らぬ間にいろんなファイルが置いてあるっておもしろいな。
「な、なんだこのキャッシュ!ホモ動画かよ!」とか「この歌いいなー。」とか
自分の知らない世界にダイブできる。
俺的にはシェアウェアで1億円にしてシリアルキーをこのスレでひっそりと公開するとかいいかも
少しはK殺の時間稼ぎにはなるかも。でもK殺は介入すると決めたら
問答無用で来ると思うし、対した効果は期待できない可能性ある。


441: 47 02/04/05 23:08 ID:bBRp+Hyf

>>439
気がついていると思いますが一応書いておくと、
自分のキャッシュ内にあっても検索をヒットさせないと
それがなんだかわかりません(w



446: MOMO/qu. 02/04/05 23:22 ID:ChgCSclI

房がDOMし放題になったら廃れちゃうだろうね・・・


449: 47 02/04/05 23:40 ID:77Xrl5cl

>>446

その問いに答えると、回線が太いDOMは落としている間は
貴重な転送さーばーとして働いてくれるんでいても無駄にならないはず。
特にいいものをDOMってくれてるととても助かる。

回線が細いDOMは頑張って貴重なファイルを提供してくれるに違いない。

・・・・といいなぁ(w


447: 47 02/04/05 23:34 ID:77Xrl5cl

そうだ、もし協力したいということでしたらこのシステムで考えられる
嫌がらせ手法を書いていただけると助かります。

すぐに思いつくのは、以下

C1. ゴミファイルを大量にUPフォルダに置く
C2. 子の間で転送が始まったら嫌がらせで切断する
C3. 人気のありそうなファイルを他から落として一部書き換えて同じ名前で置く
C4. 高率でヒットされそうな名前だけど大きくて中身がゴミなファイルを置く
C5. DOMに徹する

この程度なら弾ける予定です。理由

A1. ヒットされないファイルばかり置いておくと
   優先度が下がっていくので無視されやすくなる

A2. A1と同じ理由で無視されて行きます。高速な回線ほど切断を抑えて
   常時接続するほどその高速回線が生かされます。

A3. 名前とサイズが同じでも内容が違うと別ファイルとして扱われます。
   ファイル全体に一度MD5アルゴリズムでハッシュかけて内容を区別する予定です。
   レジュームもこれを元にかけます。もし同じ内容のファイルがたくさんある場合、
   ダウン回数の多い信頼性の高いファイルが検索の上位にくるはずです。

A4. A3と同じ理由で防御できます。ただし、これはゴミ情報だというのを
  どこぞで公開していただかないとおいしい名前で同じゴミをつかまされる人が
  続出するでしょう。このファイルは落としてはいけない
  スレが重要になるはずです。

A5. 回線とHDDが強ければDOMは簡単で何でも落とし放題
   (それどころか人気のあるファイルは勝手にDOMってくれる)ですが、
   細い回線の場合、ヒットされやすく、尚且つ貴重なファイルを持っていないと
   DOWNが困難になります。UP速度とDOWN速度は同じ程度に調整される予定です。


448: 426 02/04/05 23:39 ID:PrCwlRcr

ウィルスとかって大丈夫だよね?
暗号化されるって事は言葉は悪いけど
一時的にファイルが壊れるみたいな感じだから…。
ADSL程度の速度じゃ神になれないな(笑)

このソフトだとDOMは広がった方が良いんだよね?
DOMが増えればそれだけユーザー全体的にキャッシュが増えていって
ファイルも手に入りやすいだろうし。
需要が高くなれば供給が増え…って感じですげぇ…!!

あとは警察がどうでるか…だな。




451: 47 02/04/05 23:42 ID:77Xrl5cl

>>448
ぶっ壊れたファイルはハッシュのメカニズムで検出できるんで弾けるはず。
ウイルスはこっちで気をつけますよ。


452: じん 02/04/05 23:45 ID:4alyy1xJ

47さんの配布方法はいいとして、開発をとめられやしませんか?




457: 47 02/04/05 23:52 ID:77Xrl5cl

>>452
だからここでやってたり(w


455: 426 02/04/05 23:50 ID:PrCwlRcr

うんと…ぶっ壊れたファイルじゃなくて、ウィルスそのものが交換されても
暗号化されることによって、ただキャッシュの中に入ってるだけじゃ
感染しないのかなー?って事です。

>ウイルスはこっちで気をつけますよ。
って事は誰が誰と交換してるとかは47氏からは筒抜けって事ですか?



458: 47 02/04/05 23:54 ID:77Xrl5cl

>>455
ただ、ファイル交換するだけだから絶対その内容は実行されないですよん。
もちろん、交換したファイルにウイルスがあるかどうかなんてしったこっちゃないですが、
上に書いた理由により、皆さんの連携で弾けるはず。

> って事は誰が誰と交換してるとかは47氏からは筒抜けって事ですか?
無理っす(^^;動き出したら私にも止められないです。


460: 426 02/04/05 23:59 ID:PrCwlRcr

つーことは47氏側からも個人的な情報が漏れるって事は無いんですね…。
47氏のパソコンから確認が出来るようになってたら、もし警察が来たら…(以下略)


462: 47 02/04/06 00:06 ID:+KInPcrb

>>460
ネットワーク全体を見張る何らかのメカニズムができない限り無理ですよ。
一度作ってしまったら昔のバージョンも残るでしょうから
後から頼まれても状況をスパイするソフトは私にも作成困難になります。
もちろん、初めからそれ目的で作っていれば筒抜けになる可能性が
ありますが、常に特定のところにデータが行くようになってたら
いずれ誰かが気がつくでしょう。もちろん警察がそんな面倒なことするわけないし。

あと私のPC見てもソースあるだけで怪しいデータやり取りしてるのは
他の人の責任だし、後の可能性を考えると開発も匿名の方がいいだろうって判断で
最後まで名前隠します。ウイルスみたいなもんですね。
まぁ、開発理由は単なる暇つぶしです(w。正確に言えば、Freenetを面白いと思ったのと、
まだ使い物にならんなーどうにかならんかなと思ったのがその理由ですね。


470: _ 02/04/06 01:04 ID:lpRf/yP+

だいぶ、下がってきたな・・・って書くと、また揚げるヤシがいるんだよな。
47氏へ
結局、配布方法はどうするの?
漏れは気になって気になってしょうがない


474: 47 02/04/06 01:11 ID:M5Lc7MaX

>>470
当分はフリーのWebサイト使うと思われ


476: 47 02/04/06 01:17 ID:M5Lc7MaX

ソフト公開で逮捕というとFLMASKの例があるから絶対無いともいえんけど、
その前にトンズラできると思うなぁ。
初めは目立たないWEB上でひっそりやって目立ってきたら
自分で作ったワールド内に逃げればいいと思われ。

広まるほどの完成度に達すれば逃げられるし、
達しなければ捕まることも無いという二重の安全策(w

あとMXでの公開の方が絶対危険だよね。
あれ珍しいファイルだと提供者のIPが一発でばれるし。


484: 479 02/04/06 01:57 ID:hBZR9S24

そのうち、vobファイルとかが生で流れそうだなと思ったんで、
制限とか考えてしまったわけです。
アップロードした人間を特定されないことだけが主眼なんすよ。

2chの存在を知らない人がダバダバ入ってきたときに、
そっちの方で足がついて、タイーホが来るのもアレなんで。
未だにMXでアプリ共有している人もいるし。

なんて思ったですよ。
でも制限は無いほうがイイかな…


502: 479 02/04/06 05:22 ID:hBZR9S24

たびたびスマソ
やっぱり、ファイルサイズの上限あったほうがいいような…
例えば、10GBのファイルをNTFS使用者がUPしたとすると、
FAT16使用者は事実上DOWN不可能になる。

10GBのファイルってどんなんだ!、っていうツッコミもあるだろうけど、
他に考えられるのは、それぐらいのファイルをガンガンUPして行けば、
WINNYネットワーク上に負荷がかかってきて、
事実上、でっかいPINGアタックを食らっているのと同様になったり…

なんかが思いつきました。
ファイルサイズの上限をどのくらいに設定するのかが、
また意見が分かれるところだろうけど…


538: 47 02/04/06 14:39 ID:AKIOBPTK

あー、今日は休みなんですげーよく寝た(w

とりあえず昨日の夜はファイル本体の転送部作ってました。
ファイルのヘッダを転送する部分は既にできてるので検索かけると
他のノードのファイルがだーと出てくるところまでは動いてましたが、
そのファイルをダブルクリックするとMXのようにファイル本体の
転送が始まるようにしてるわけです。

んでここの転送部も昨日(今朝)組み終わりましたが
まだちゃんと動作しないんでデバッグ中です。
二つのマシン上のデバッガで通信内容を追跡中。

あと、レジューム機能はもちろん付けますんで、
それように準備はしてありますが、実装はまだです。
普通にファイル転送できないと意味ないし
この辺は今日のんびりやりましょう。

とりあえずバグ取れてファイル転送部ができれば、完成度50%ってところです。
あと残った作業は次の通り。

・検索部の接続形体がまだ静的なんで状況に応じて親子関係や接続を切り替わるように
・今だとファイルの持ち主と受け取り主が直接ファイルのやり取りしてるんでプロクシ機能の実装
・まだ暗号化を組み込んでないんでファイルと通信それぞれに暗号化(関連ルーチンは既にできてる)
・インターフェイスなどの細かいチューニング
・例外処理のチューニング(これが使い物になるかどうかに関して最重要)


564: 47 02/04/06 15:19 ID:AKIOBPTK

そうだ、今ファイル転送部やってるわけですけど、ファイルのハッシュ情報や
大きさはキャッシュ内でヘッダとして付け加わるんで、ダウン中のファイルでも
それが最後までダウンし終わる前に他にUP可能になる予定です。
分割しないeDonkyみたいな感じ。

つーか、串での転送は、実態は同じファイルをDOWNしながらUPすることになります。
これができるんで大きなファイルのやり取りもそれほど困らんはずです。


586: 47 02/04/06 18:13 ID:tI2XpLS7

ある程度中身を理解してる人もいるようで。

確かにFreenetを超えるところは無いはずですし、
いろんなものの寄せ集めで新規な所は何も無いです。

ただ、だからこそすぐに作れるわけだし
匿名性を重視するのならFreenetを使えばいいだけだし、
交換効率重視ならMXを使い続ければいいだけ。
今回のシステムのことは見なかったことにすればいい。

だからといってFreenetやMXが完全ってわけでもないわけで、
自分としては、もっとMXに近いけどFreenetの要素を含む
新システムが欲しいから自分で作るってだけの話です。

> Freenet を C で再実装するとかいうなら理解出来るけど。

もともとはFreenetクライアントがJavaで組まれてるのにぶち切れたのが
作りはじめた大きな理由なんで、その通りではありますが、
そもそもFreenetのアーキテクチャは匿名性ばかり重視して
しまっていて無駄が多いと思うんでFreenetプロトコルには準じない
(Freenetクライアントにはしない)で全部自分でやるって方針です。


633: 47 02/04/07 01:20 ID:Se8QlMbF

やっとファイル転送部できました。
予想外に苦労したんでレジューム機能がまだです。

通信使ったプログラムではお約束の話ですが、転送率を限界まであげたり極端に
低速な回線にしたりすると妙なところでこけたりタイミング狂うんでチェックが面倒。

とりあえずLAN上でならエクスプローラーでのネットワークファイルコピーと同じ速度出てるから
性能的には十分でしょう。この程度に耐えられないと光回線レベルでは耐えられんし、
性能重視でわざわざVC++でWinSock直叩きやってるんだからこの程度は出てくれないと。

さーて、基本的な部分はできつつありますけど細かい部分はこれからなんで
のんびり作りませう。特に通信周りはエラー処理がめんどうで、あわてて作って
バグ入ると取るの大変つーのを痛感(w


669: 47 02/04/07 15:10 ID:PTiKNkGt

現在、システムの主幹部分となる通信中継部や検索部分をチューニング中。
ホスト間の通信部は既に完成(のはず)なんで、あとは比較的楽で
プロトコルのコマンド増やして動作を複雑にしていってるわけですが、
まれに怪しい動作するんでそのたびに何が起きてるのか
デバッガで追跡して悩んでるという状況です。

あとマルチランゲージ関連ですけど、基本的に日本語onlyで
英語版やリソース切り替えで対応はやらん予定です。

もし海外のリソースが欲しければ他に好きなだけ選択肢あるし、
日本人が欲しがる海外のリソースは、それと判断できる人が
他のシステムで拾ってきて日本語のファイルにして
こっちにUPしなおしたほうがいいだろうという判断です。

MXでも日本語以外のファイルあまりやり取りしなかったし
何が面倒ってドキュメント書きだったりするんで単なる手抜き(w
システムが安定して暇になったらやるかもしれないけど。

あとファイルのサイズは悩んだ結果4Gまでの制限となりました。
このシステムの場合、細かいファイルも超巨大なファイルも
自分でアーカイバで扱いやすい大きさに調節すること推奨です。

分割や圧縮などはシステム側ではまったく考えませんがこれは
ユーザー任せのほうが現実的だろうという判断です。
シンプルにできるところはシンプルにした方が
応用が利く使いやすいシステムになるはずですので。


745: 47 02/04/08 03:44 ID:N2vA41p7

うーん、日曜を完全につぶしたにも関わらず開発進展が遅いなぁ。

とりあえずレジュームや暗号部やるには、今までかなりえーかげんな作りになってた
ファイル管理やタスク管理周りをきちんと作りこむ必要があるなーってことで、
今日は地道にこの辺やってました。

・ UP、キャッシュ、DOWNフォルダ内のファイルを管理し必要に応じて相互変換するファイルマネージャ
・ 検索やファイルの管理にハッシュ機能の追加(ダブったキーを検出して排除しないとだめなんで)
・ 大きいファイルや大量の転送に耐えられるように、各動作を平行して走らせるためのタスクマネージャ

こんなんですな。とりあえずこの辺も全部できたんで、レジュームや暗号変換部は簡単に作れるはず。
これで基本的なところは全てできたんで、

1. 検索かけると周辺ノードでヒットしたファイルが出てくる
2. 検索結果からファイル選んでダブルクリックすると、だーと転送が始まってキャッシュに落ちてくる。
3. キャッシュファイルをダブルクリックするとキャッシュが変換されてDownフォルダにファイルが落ちる。
4. UPフォルダ内のファイルをダブルクリックするとキャッシュ内にコンバート
   (これは予備動作で別にキャッシュ内になくてもUPフォルダから直接UP可能)。
5. UPフォルダやキャッシュフォルダの内のファイルは検索&ダウンの対象として処理される

と、まだ隣としかファイルの交換ができないのを除けばファイル転送ソフトとしての
基本的な部分は全てできました。これで半分は完成でしょうか。
後は分散システムの管理部分と、暗号やプロクシ動作などのセキュリティ絡みの部分、
細かいUI&性能チューニングですね。


749: 47 02/04/08 03:58 ID:N2vA41p7

まだタスクトレイに常駐できないし右メニューも無いし(w


767:   02/04/08 11:45 ID:W/IbtK13

要望など…
いわゆるrefファイルはバイナリ化してもらえると良いんですが。
メモ帳なんかで開いて、自分のIPが出てきたら結構ビビルと思うんで。
netstat打てば分るでしょうけど、一応、厨対策と言うことで。

それと、現在の接続情報を保存する機能を実装すれば、
自分でrefが生成できるので、常に最新の状況が更新できて良いかと。
リブートするときに、今まで上手く行ってたコネクション全部破棄、
と言うのは、ちょっとキツイかも知れないので…
24時間稼動で無い人達も、これで接続しやすくなるように思います。

などと妄想してみますた。
47さんじっくり作ってくらさい。


769: 47 02/04/08 13:24 ID:AQBrbH8T

>>767
確かに接続情報が保存できれば便利かもしれません。
つーか、今現在ご想像どおりIPとPORT番号書いたファイルを
読ませて接続テストさせてるわけですが、いちいちテキスト修正するのが
うっとーしーんで直ぐにでも付けたほうが良いのかも。

あととりあえずファイル内容とファイル名を暗号化するところまでは
できました。今現在は接続が増えてネットワーク接続状況によって
ファイル転送が失敗することがあるんでこの辺をバグ取り中。


823:   02/04/09 08:33 ID:3dJTHKy6

ここログ取得中だし次スレは板変えた方がいいと思ふ。
半角あたりのMXに理解のありそうな板なら受け入れてくれんじゃねーの?


825:   02/04/09 08:54 ID:9wn1GgjH

うん、何にしても板は変えた方がいいだろうね。
>>823さんの言うとおりログ取られてるからね。


826:   02/04/09 09:15 ID:8PYYx3bz

>>825
47氏はそれに関しては気にしないと言っていた。
これまでの47氏の発言から見て、
スレタイトルはともかく、板を変えるつもりはないと思う。おそらく。


828: 47 02/04/09 14:02 ID:JTt8ccYK

>>826

うん、これに関してはここの板が一番理解があるでしょうから900行ったら、
ここでその2スレ作ればいいと思います。本来MXの次に関して語るスレ
なのに占領してしまっていて申し訳ありませんけど。

別にIPとられてもかまわんし、2chと言えども警察にはIP出すでしょうから
どこでやっても同じでしょうし。

あと、あらしは困るといえば困りますが見てる人がいる証拠ということで
2chでは必要悪ということで、不必要に上げないという今の方針でいいと思います。


829: 47 02/04/09 14:08 ID:JTt8ccYK

ちなみに今は複数PCでのやり取り部分をちまちま作ってます。
本職の方が少し忙しくなってきたんでこれで遊んでばかりという
わけにも行かないけど、基本的な部分はもうできたから
やることないときの暇つぶしにちょうど良いんではないかと。

今月完成を目指してのんびりやりますわ。


858: >>47さま 02/04/10 00:21 ID:cBZwmS6r

これすっごく重要なんですけど、ルーター通してもWinnyが使えるように設計していただけると嬉しいです。
ポート0はやだ・・・オナガイします。


880: 47 02/04/10 08:09 ID:DeIc0iOn

>>858
>ルーター通してもWinnyが使えるように設計

一応考えてます。今だとUPとDOWNそれぞれにTCPポートを一つだけ
使います。ポートは任意なんで80番もいけます。接続時にリターン用の
ポート情報を送って、逆に接続し返すようになっているので、
自分のPCのポートはどれ使っても大丈夫になってます。
あと、基本的に垂れ流しでリターン必要ないプロトコルになってるんで
早いし片方向しかパケットが流れない状況でも動きますが、
いまのバージョンだとわけわかんない動作になりそうですねぇ。


874: 47 02/04/10 07:47 ID:TRw4MUOl

すんげー地道に動作チェック&バグ取りしてます。
全機能できたわけじゃないですけど、ファイル交換ソフトとして
必要最低限の機能できたんで、動作を確実にしてます。
前はよく固まってましたが、どうにか安定してきました。
今のバージョンなら大量に転送かけても比較的さくさくファイル交換してますね。


875: 47 02/04/10 07:48 ID:TRw4MUOl

完成度は6割ってとこなんで、現状でどういうことになってるのか詳細をば。

まず今のバージョンでの基本モードは次の6つ。
「ホスト」「公開ファイル」「ファイル検索」「タスク状況」「設定」「ログ情報」

ホストは他のホスト情報で接続状況などが表示されます。現状では接続されている
IPとポート番号が直接表示されていますけど、後でID表示にするのではないかと。

「公開ファイル」はUPフォルダの指定で、最近複数指定可能です。
ここでMXと違うのは、フォルダ毎に「キャッシュ変換用暗号キー」
というのがテキストエディットコントロールで指示できること。

「ファイル検索」では、MX同様の検索キーワード以外に検索用の
暗号化ワードを指示します。暗号化ワードは、提供側と検索側で
完全一致させないとファイル名が崩れてファイル検索自体できません。
一応暗号化ワードの省略も可能です。



876: 47 02/04/10 07:49 ID:TRw4MUOl

「タスク状況」はファイル転送やUPなどの各種タスク状況をまとめて
表示するもので、まだMXのようなバー表示にはなってないです。
現状ではそれぞれのタスクの進行状況に応じて数が上がっていくだけです。

ファイル検索からファイル選択してダブルクリックすると、
ダウンロード初めてここの画面に自動的に切り替わったりなど、
基本動作はMXと似てます。なお、まだキューの概念が無く、
要求は無条件で全部受けてしまいます。

「設定」は各種設定で、今だとキャッシュホルダ、ダウンホルダ、
待ち受けるポート番号と回線速度の設定があります。
ここはもちろんもっと増えます。そういえば各種のタイムアウト処理が
ついたからこれ用の設定もいりますねぇ。「ログ情報」はエラー表示などの
表示とバージョン情報などでバグ取りようのコンソールも兼ねてます。

こんなところでメニューも無くシンプルです。
上部に二列のボタンが並んでいて上がモード切り替えで
下列のボタンが各メニューのサブ動作(切断など)で、
下半分は多くのモードでリストコントロールってやつです。
エクスプローラで使われてるタブつきのやつですね。MXと同じです。


877: 47 02/04/10 07:54 ID:DeIc0iOn

これだけだと動作が簡略化されたMXにすぎないので、違いの部分を説明。
まずMXと違うのがキャッシュフォルダという概念と暗号化の概念があること。

アップフォルダ、ダウンフォルダ、キャッシュフォルダがありこの間をファイルが行き来します。
既に書いたようにアップフォルダ毎に暗号化のキーワードを指定できます。

まず一番初めにファイルを公開するユーザさんは、アップフォルダに
公開したいファイルを置きます。暗号キーはこのときに指示します。

この状態で外部からファイル検索要求が来ると、必要に応じてファイル名に暗号化かけて
検索元に送ります。もし向こうが暗号のキーを知っていればファイル名を元に戻せます。
そしてこれの本体に対してダウン要求がかかると次の動作が起きます。

1.UP要求を受けた方では、UPフォルダ内のファイルに暗号化を施してキャッシュ
ファイル作成動作が行われます。もし既に作成済みならこの動作は省略されます。
キャッシュフォルダ内のファイルは名前も内容も暗号化されて意味不明です。

2.できたキャッシュファイルが要求側のキャッシュフォルダに転送されます。
ここで、1の動作は子の動作は平行して進行するので、ファイル要求側から見ると、
キャッシュを送っているのかUPフォルダ内のファイルをコンバートしながら
送っているのかは見分けが付きません。また、同一ファイルに対して
他のサーバーからのダウン動作と同時にUP動作が可能なので、
結果的に3ホストにまたがる転送動作となる場合もあります
(実際にはこうなることが多く、これで串動作にもなる)




878: 47 02/04/10 07:54 ID:DeIc0iOn

最後

3.要求側のキャッシュフォルダ内にキャッシュ転送が終わると
自動的にキャッシュファイルの暗号を解いてDOWNフォルダに展開します。
検索側は暗号のキー知っているはずなので問題なく展開できます。
今だと名前の暗号化と本体の暗号化は同じキーなので検索できれば展開できます。

4.ファイルUP側とDOWN側には暗号化されたキャッシュが残りますが、
これはそのままで、次の要求が着たら暗号化の作業は省略してキャッシュがその
まま転送されて行きます。また、本体と別に暗号化されたファイル名情報だけ
ネット上に独立に流れていくので、これにダウン要求かけるとめぐりめぐって
キャッシュを持っている人のところにたどり着いた時点でそれが再送されます。
UPした人のところまでまたダウン要求が来ることはあまり無いはずです。

ちとわかり難いけどこういう動作になります。ファイルダウンすると、
UP側ではUP動作と同時に暗号化作業が行われ、DOWN側では
DOWN後に暗号化解凍作業が行われるのがMXとの違いとなります。

またキャッシュレベルで転送が行われるので外部から見ると
何が起こっているのかわかりにくいです。とりあえずここまでの動作は
既にできてて、並列にいろいろ動作してますね。
各転送作業や変換作業が同時に走るのが見ていて面白いっす。


886: 47 02/04/10 16:14 ID:jGxK3m3o

>>2.外部に対してダウンロード要求を行ったファイル
>
>以上の2種類だけのように見うけられます。

その理解であってますが、「3. たまたま中継したファイル」というのも加わります。

このシステムではファイルのヘッダ情報とボディを分離して扱い、ヘッダ情報(キー)は
単独でシェアされて行きます。そして、外部的にはこのヘッダ情報を持っているだけで
ファイル本体を持っているとみなしダウンロード要求が可能です。

ファイルの存在を知っていれば、そのファイルを持っていることと同じなわけです。

もちろん本体を持っているとは限りませんので、要求がきて本体が無ければ
そのとき改めて本体をダウンしに行きます。これにより中継動作が発生し、
だれが実際にファイルを持っているのかを隠すわけです。

今はこの中継部の実装が半端で芋づる式にしか転送できませんが、
今後の実装はこの辺りが中心になるでしょう。

基本的に親方向にキー情報が流れていくため上流にいるほどキーが溜まって
検索の必要がなくなります。結果的に上流ノードほど検索ヒットを受けるので、
ファイル本体をキャッシュする率が高くなり、下流に行くほど検索&ダウン要求する
率が高くなることになります。上流にいるほどDOMりやすいですが、セキュリティ
的には下流にいるほど安全です。
回線の早いDOM屋さんを身代わりの中継サーバーに使うことになります。

また、

> 足が付かない様にするため、DLしてはキャッシュをクリアする、
> という輩が生まれ出すような気もします。

これはその通りで足を付かなくするには、誰かがキャッシュを持っていったら
すぐそのキャッシュを消すと確実です。完全に中継するだけの動作になります。

もちろんこれをやると転送分帯域が無駄ですし、みんながみんなこれをやってしまうとヘッダだけ
出回ってデータ本体が見つからないという状況になります。最終的にUPフォルダに
持っている人のところにダウン要求が集まってくるという状況になるでしょう。
遅いだけで、それはそれで問題ないです。最終的に誰がUPしているのかは隠せます。

このキャッシュクリアはまだ実装されていませんがもちろん標準でつける予定で
キャッシュフォルダの大きさを指定することで行われるでしょう。もしキャッシュ容量が0に
指定されてると、キャッシュができるそばから消されていくという動作になると思います。



920: 47 02/04/10 19:53 ID:dUzHP7x5

仕事を1日で片付けてあと5日趣味に使って1日休むという状況なんで
さすがに仕事が辛くなってきた(w明日締め切りの仕事を今から片付けなくては。

暗号についてですが、どういうルールにするかは使う方の成り行きに
任せるという方針で特に考えてません。スペック的には、暗号のキーとして
使えるのが半角128文字までで全角を使っても問題なしです。

一つの例ですが、ユーザーIDを暗号にすると、そのユーザーIDのファイルのみが
検索対象になります。

これは別に暗号を使わないでも、ファイル名の一部にユーザーID情報をつけるという手で
実現できますが、このやり方ですと無条件でユーザーIDがばれてしまうという問題があります。

暗号使った方式ならば、特定の人のサーバーから得られるというのではなく、
ネット上に散ったキー情報から結果的に情報が出てくるというのがポイントです。
試行錯誤的に検索してみないと欲しい情報が見つかりません。

あとファイル名暗号化の規則ですが、ファイルがキャッシュに入った時点で
キーを指定して暗号化、検索時は、ユーザが検索キーワードと暗号化キーを
セットで指定して、暗号化ファイルされた暗号ファイル名を複号化、
これに部分検索をかけることになります。

検索キーワードが空で暗号キーが指定されていれば、その暗号で複号可能な
ファイル全てが見つかり、暗号キーが空なら暗号化されません。なお、暗号化の
際には簡単なチェック機構が入っていますので、暗号キーがあってないと
そのファイルは見えなくなるようになってます。暗号に関しては部分検索という
概念がなく、一致するかしないかとなります。

秘密鍵による暗号化でしたら暗号キーを知らないとまったく意味不明になるので
いろいろ応用が利きます。通常と発想を逆にして、暗号キーをファイル名にするという
方法もありでしょう。これですとクリティカルなファイル名を知らないと検索にかかりません。
複雑なファイル名にするのと違い、一部検索に引っかかって見ず知らずの人に
発見される恐れはありません。

あと既に書いたように、フォルダ毎に暗号キーは指定できるようになっているので、
いろんな応用があると思います。一般公開向けのお約束なキーのファイル置き場から、
やばい一部向けの教えてもらわないと絶対わからないような
暗号キーのファイル置き場まで自動で作れます。


938: 896 02/04/10 20:25 ID:QxQY3bIN

なるほど、設計思想も見えてきましたね。
とにかく自由で、応用の効くシステムを作ろうとしてらっしゃる。
責任追及を免れるためにも正しい態度だと思います。

それと、暗号化する際に何も入力しない場合は暗号化せず生のまま共有することになるのでしょうか?
空の場合はデフォルトの暗号化がかかり、生で共有したい場合はemptyと入力するとかにしていただいた方が何かと便利だと思います。

>>931
思いつきませんでした。その場合は復号キーは絶対に暗号かけちゃだめですなぁ。


942: 47 02/04/10 20:29 ID:dUzHP7x5

てなことで次からは向こうのスレに書きます。

ちなみに検索の方法は、
ファイル名検索キー(半角126文字まで)+暗号化キー(半角126文字まで)
の二つで行うことになります。もちろんどちらも漢字対応です。

あと126文字なのは、暗号化の際にファイル名の長さが倍になるからです。
暗号化されると@56AB7E5B9C2EEF78などのファイル名になり、このまま
各ユーザー間でやり取りされます。

>>938
> それと、暗号化する際に何も入力しない場合は暗号化せず生のまま共有することになるのでしょうか?
> 空の場合はデフォルトの暗号化がかかり

暗号キーが空だとキャッシュ内のファイルもそのまま同じ名前になります。

ただ今の実装だと、暗号キーが空でもファイル内容は暗号化されてます。
空文字という空文字で暗号化してるだけです。どちらにせよキャッシュ内の
ファイルはオリジナルそのままでなくヘッダその他が入るんで同じフォーマットでも
意味ないし、逆にキャッシュが解析されやすくなるだけなんでこうしてます。


926: 47 02/04/10 20:00 ID:dUzHP7x5

暗号化に関しては、比較的解読が面倒なわりには処理が早い方法を使っているので、
あっても無駄にはならないと思います。やっていることは、RC4ってやつで乱数系列で
XOR演算かけているだけです。今だとファイル名とその内容の暗号化にかやっていませんが、
クエリー情報が生でネット上に出ると、パケットダンプで誰がどんなファイルを公開しているのか
ばれる可能性もあるので通信に関する暗号化は必須でしょう。キャッシュにも暗号化
しているのは念のためですし、ファイル名を上で書いたような方法で暗号化するのは
匿名度のレベルをユーザー側で制御できるので、ないよりあった方がいいと思います。
必要なかったらキーを空白にすればいいだけですし。


932: 47 02/04/10 20:16 ID:dUzHP7x5

ユーザーIDどうするかは実はまだ確定してません。暗号キーと連動というのは
設計当初は考えてなかったんでもう少し練って見ます。

あと前の方で既に指摘されている方がいましたが、
複雑な暗号化すると出所が逆に確定されるというのはその通りで、
このシステム側で出所が特定されないでも、そのキー情報を
書いたところで身分ばれて逆に個人の行いが特定されそうですね。

キー情報をどうするかは個人向けにメールするなり、IMで送るなり
BBSで公にするなりFreenetで共有する(wなり、
このシステムの暗号化システムをどうにか応用するなり
いろいろありうるのではないかと。



936: 47 02/04/10 20:22 ID:dUzHP7x5

せっかくどなたかが作ってくれたんで

MXの次はなんなんだ?2
http://tmp.2ch.net/test/read.cgi/download/1018434705/

これでいいんでは?荒れるようなら早めにつぶしてその3行きましょう。
適度に荒れてないとまじめな意見が書きにくいです。


Winnyの技術

金子 勇 アスキー 2005-10
売り上げランキング : 2660
by ヨメレバ
Winnyはなぜ破られたのか―P2Pネットワークをめぐる攻防

園田 道夫 九天社 2007-08
売り上げランキング : 308487
by ヨメレバ
DVDコピー・Winny・音楽ファイルダウンロード超入門―この一冊で必ずデキる! (祥伝社ムック)

千舷社 2006-02
売り上げランキング : 1804433
by ヨメレバ








コメント
急性心筋梗塞なんてあやしい病名ですなあ。
こっち系はあまり詳しくないのですが、個人撮影駄々漏れでエロエロだったてえくらいしか覚えてないなあ。
しかし久しぶりの長々としたコピペ(?)ですな。でも最初の方で意味が分からず書き込んでいますが(ナニカ
Posted by 名無しのアベシンゾーさん at 2013年07月07日 16:01
「ファイル交換ソフト」
であり、悪用するしないはユーザー次第。
包丁や自動車みたいな話だと思うんですけどね。
金子さん、自分専用の無制限ダウンロード専用winny使ってたという話もありますが。

結局未だに原理がわかってない上に、
内部からもwinnyユーザーやwinny流出をやってくれた京都府警、
そしてそんな京都の任天堂さんの見解をお伺いしたいところです、是非。
あと、各政党のこの件&技術の進行にどう対応するか、などの見解も。
あ、マスゴミはいいや。結局これがなんなのかわかってないだろうし。
Posted by んんー at 2013年07月07日 19:40
早いお亡くなりで残念だけど、
◯◯で苦しみながら死ぬよりも・・・
Posted by 名無しのアベシンゾーさん at 2013年07月10日 22:51
あはは、余計なこと喋り過ぎだね
Posted by 名無しのアベシンゾーさん at 2013年08月13日 13:42
  ※ コメント認証制です。URL記述不可。久保田直己さんの名誉を毀損したり誹謗中傷する書き込みは固くお断りします。
※ 全角換算400文字超を入力するとコメント飛びます。要分割投稿。