p2pソフトを作りたいです

c5c949b0 白帽子 2010-01-09 13:01
Skype Public API App2Appを使って、Skypeネットワークの上に別のオーバレイネットワークを構築するイメージ?
74ee3688 白帽子 2010-01-09 13:04
44の誤投稿スマソ
bbc1c5f0 anonymous 2010-01-09 13:46
>>74ee3688
44とか番号ついてるのは普通の新月からは分からんぜよ。
35144d28 白帽子 2010-01-09 16:32
>>bbc1c5f0
>>12669c13でした。
47e2d379 白帽子 2010-01-20 19:03
ところで皆はP2Pで何やりたいの?
perfect darkのフローを改良して
P2P-Twitterとか?
P2Pアニメリストデータベースとか?

やっぱりファイル共有と生放送と掲示板?
71c85987 anonymous 2010-01-20 19:30
>>47e2d379
あれ(検索とか/input)やこれ(何かへ書き込み/output)が外部非依存でできるようになればいいなーと。
だからP2Pでなくてもいいんだけど、外部非依存をつきつめるとP2P以外道はないということに。
0acc6f7b anonymous 2010-01-20 19:31
P2Pか・・・革新的な技術はないのかや?
6021226b 白帽子 2010-01-20 19:48
>>0acc6f7b
P2Pでニューラルネットワークとか?
5a1e7ab7 anonymous 2010-01-20 21:39
>>47e2d379

ファイル共有。昔流行ったが、今は珍しいソフトとか。もちろん合法利用限定で。
34b3e900 anonymous 2010-01-20 21:44
>>5a1e7ab7
割れ物の配布に悪用される予感
匿名性云々なら間違えなくWAREZ√
c5541bf3 白帽子 2010-01-21 18:25
P2Pファイル共有ツールに違法ファイルかどうか調べる仕組みが要りますね。
e39ee94c anonymous 2010-01-21 21:59
違法ファイルはアップロードする時に目印をつけるシステムにするといいよ
b21bacfb 白帽子 2010-01-26 18:14
>>e39ee94c
ほほー、申告方式か。

ところでクラスタリングと
拡散アップロードってやっぱり必要ですか?
dktはスーパーノードよりいい方法だと
思うんですがね。
d9ae9c29 anonymous 2010-01-26 18:21
>>b21bacfb
BSDで以前に実装された「クラッキング等の攻撃用パケットにはEVILビットを立てる」
って話と同じだから真面目に議論する必要ないぞ。
http://yebo-blog.blogspot.com/2007/06/evilrfc-3514.html
b2e6667d 白帽子 2010-01-27 18:55
結局Profesって祭りみたいなもんだったのだろうか。
プロジェクトが再開してくれるか、ソースコードが
手に入ったら勉強の材料にするんだが。

とりあえずリバースエンジニアリングされた
Winnyのソースコードをゲットしてみるよ。
ef8c9672 白帽子 2010-02-01 19:19
ところでDHTでメッセージのルーティング出来るよね?
Kademliaとかで。
3e88b3ce anonymous 2010-02-01 23:34
>>b2e6667d
CREA開発停止で、現在ソースコード配布中。
C#が読めるなら取得してみたら。
http://d.hatena.ne.jp/piz_yumina/
d4e6d09f anonymous 2010-02-02 01:21
P2PMMOに新月搭載とか
fda2161d 白帽子 2010-02-02 19:33
>>3e88b3ce
C#の本持ってるので挑戦してみます。
4acb0e31 anonymous 2010-02-03 00:53
>>fda2161d
あんまり効率良くないけど、ファイルのアップダウンと掲示板までは動いてた。
肝心のストリーミング機能はまだ実装どころではない感じだったかな。

作者さんは人の話を聞いてくれるのはいいんだが
人に流されやすく、かつヘコみやすい人という印象があった。
元はニコニコ動画のヘビーユーザだったそうだ。
面白動画の配布プラットフォームとして開発するつもりだったので
ストリーミングに重点を置くという方針にしたらしい。

今回の開発停止は、思ったよりユーザが増えないのでテストどころではない
という理由で昨年の暮れから別のプロジェクトを始めたせいなんだって。
今回のPD逮捕騒ぎまで粘ってネットワークを維持してれば、それなりに人が来たと思うけど。
微妙にチャンスをモノにできない不運さが付きまとうソフトだわ。
6f49ef27 anonymous 2010-02-03 04:02
>>3e88b3ce
開発中止メシウマwwwww
c42609f6 白帽子 2010-02-04 19:54
中継方式を考えている。

Winny方式
受け取ったデータ所在情報のURIを書き換えて
他のノードに通知していく。
自分が持っていないデータを要求されたら、別のノードに要求を出し
データを受け取り、要求元に転送する。

Tor方式
ノードとその公開鍵のリストを作っておき、
必要になったらまず経路を決める。
通過するノード順の逆順にその公開鍵を使い、次ホップのアドレスつきでデータを暗号化する。
暗号化が終わると玉ねぎのように何重にも暗号化された状態になる。
これを送信する。
あとは受け取ったデータを自分の秘密鍵で復号し、次の転送先情報がくっついているから
そっちに転送する。

ダイナミックルーティング方式
中継要求でデータが転送されるたびに適当なノードを選んで転送する。
このとき本来の受信先に転送するかどうかはランダムに決める。

VPN方式
文字通り、オーバレイネットワーク上に仮想専用線を作ってしまう方法。
中継要求を受けたら、ダイナミックルーティング方式と同じようにノードを決め、
ルーティングテーブルに追加する。
以後、切断要求もしくはKeep-Aliveメッセージが来なくなったら、
ルーティングテーブルから当該エントリーを削除し、転送をやめる。
これで仮想専用線が消えていく。


Winny方式はどのように転送されるか分からないから
このことから見ても47さんは優秀だなー。
3f7a495b anonymous 2010-02-06 23:05
中継が入ると一次放流者を特定しにくいってのはよく考えてある。
Shareは拡散を早くするために特殊な動作を入れたので逆に脆弱になった。

ただ、完全キャッシュのみ再送信する仕様は通信が解読されてる現在
失うものなど何もない連中向けのカミカゼ仕様だからやめたほうがいいと思う。
311a4772 白帽子 2010-02-14 16:19
キャッシュという名前には否定的な意見があるそうなので
何かしっくりくる別名ない?
例えばデータブロックプールとかキャッシュブロックとか。
daf5381e anonymous 2010-02-16 16:11
>>311a4772
unityでいいんじゃね。
52592aec anonymous 2010-02-16 16:12
データも画像も動画も全てストリーミングで配信するってのは
そんなに悪くないアイデアじゃないかと思うんだ。

完全キャッシュが揃う必要がないからね。
4d8a4d40 白帽子 2010-02-16 18:22
>>daf5381e
それはアーキテクチャの名前でしょ。
77e795ee anonymous 2010-02-16 21:11
>>311a4772

キャッシュでいいよ。違和感はない。
f5f77e92 anonymous 2010-02-16 21:33
野壷
c9815e5e anonymous 2010-02-16 22:17
ゴミ
834ea763 anonymous 2010-02-17 01:00
>>4d8a4d40
http://www.unitycorp.co.jp/
会社名じゃね?
3dedabb3 白帽子 2010-02-18 07:22
>>834ea763
PDの仕掛けの呼び方がunityアーキテクチャ、
PDネットワークで形成・維持される分散データベースをunityと呼んでいるはず。
キャッシュの呼び方でもあるけど。
5adfc7bd anonymous 2010-02-18 14:56
>>3dedabb3

仕組みはdkt+dht+duであり、du(distrubuted unity)に取り込まれたファイルキャッシュの
ことをunityと呼ぶ。unityは実身と仮身から構成されている。

参考: http://ja.wikipedia.org/wiki/Perfect_Dark
8bd4fe8a 白帽子 2010-02-18 18:14
>>5adfc7bd
なるほど。そうでしたな。
a9245002 白帽子 2010-02-18 18:25
連投してすまないが、
PDでデータとキーのような関係を実身仮身と呼んでいるのはどっかのOSから来ているらしいが
作者の趣味なのか?
そういえば「キー」という名前もおかしいと思う。暗号での「鍵」と混同しないだろうか?
メタデータとか、DIC(データ情報カード)とかこれも別名つけられないかな?
9ef9bbde anonymous 2010-02-18 19:51
>>a9245002

実身仮身はBTRONのファイルシステム用語由来だろう。

"鍵"については、"DB鍵"と"暗号鍵"みたいに、何に使う鍵なのかを明示すれば、
混同しないだろう。

ところで、白帽子氏が具体的な実装をどう考えているのかそろそろ聞きたくなっ
てきた。
0d25311b anonymous 2010-02-18 22:01
とりあえず、作ってみたらいいんだお。
実装をいじるのはいつでもできるお。
問題はやる気が続くかどうかなんだお。
92ad3949 anonymous 2010-02-18 23:48
>>0d25311b

とりあえず作るのも実装だ。

俺が知りたいのは、例えば、開発環境 ― プログラミング言語とか、ライブラリ
とか、プラットフォームとか ― はどれを選択するのか、といったことだ。
1088174b 白帽子 2010-02-19 18:38
>>9ef9bbde
Winnyの技術とかP2P教科書をもっと読みながら考えてみる。
ProfesやWinny、CREAに似たようなものを考えているんだ。
ところで情報系高校生の頭でP2Pアプリケーションて作れんのか心配orz

>>92ad3949
クロスプラットホームでオープンソースが好きな自分としては、PythonやLuaとかでやりたい。
できれば技術をいくつか教えてくれる人がいたら助かる。
P2Pライブラリはスクラッチか、P2Pゲームライブラリを改造すればいけるかも。
とりあえずテキストデータを共有・検索するP2Pデータベースみたいなものを作ればいいかな?

Imonyというやつが気になるんだがこれを作ったら喜ばれますよね?
9452ace6 anonymous 2010-02-19 20:45
>>1088174b
解析されやすいって弱点があるが、研究用ならそれでいいだろうな。
CREAみたいなの移植できそうかい?
acbfe45c 白帽子 2010-02-20 10:23
>>9452ace6
まだ勉強不足だから多分現時点では無理かも。
まずC#とPythonとLuaとTCP/IPライブラリを勉強するべき。
9a7d21b5 白帽子 2010-02-20 10:33
ところで自分は、残念なことに家にインターネット接続環境がない。
携帯電話、学校や友達の回線でアクセスしてる。
こんなんで大丈夫なのだろーか?orz
bd55b5ff anonymous 2010-02-20 14:04
ものすごい設備があっても「やる気」がないとダメなんだよ。
その、一番大事なものを持っているのは凄いことじゃないか。
898cde28 anonymous 2010-02-20 14:15
きまぐれだぞ。いいか?
ca5fa57e 白帽子 2010-02-20 14:16
ごめん。間違えた。
b37102f0 白帽子 2010-02-20 14:17
きまぐれだぞ。いいか?
202b50d7 anonymous 2010-02-20 14:43
>>b37102f0
一体何が始まる⁉
a9d6efc4 白帽子 2010-02-20 15:15
>>202b50d7
なんでもない。あんまり心配しなくてもいいよ。
bebf94bf anonymous 2010-02-20 16:33
>>202b50d7
その感嘆符おかしくないか?
f9f3b9d3 白帽子 2010-02-22 13:09
分散key-valueストアってのを見つけた。
これは使えるかも。
実装例つhttp://memcached.org/
0cbb0341 白帽子 2010-02-22 13:16
なんか違った。memcachedそのまんまじゃだめだ。
Kai(つ分散Key/Valueストア,Kaiを使ってみよう!)とか、
Kumofs(つ分散Key-Valueストアkumofsが公開 | GeekChimps:)とかのほうがいいか。
e08b4c0b 白帽子 2010-02-22 13:54
スレを占有しかかってるけど。
もし開発するとなったら指針として↓を参考にするか
http://slashdot.jp/yro/10/02/01/093226.shtml
f6c84acd 白帽子 2010-02-22 14:43
ライブドア第九研究室だより
http://blog.livedoor.jp/koichiise/tag/DHT

こっちも面白い。
214d584b anonymous 2010-02-22 17:00
key-valueストアが注目されているのは、処理がやたら速いからなんだよ。
機能的にはすげー単純なの。キー付けてデータベースを呼べば、
値を返してくる。ただそれだけ。普通に情報管理やりたいなら、
単純なのはメモリに構造体を作ってサーチするとか、もっと複雑な場合は
RDBMS(リレーショナルデータベース)を使うというのがよく行われていた。
だいたい、pythonなんかデフォルトでsqlite取り込んでるから
いきなりスクリプトからSQLでの問い合わせ機能が使えるよ。

key-valueストアはクラウドコンピューティング上で機能を絞って
実用的に使えるレベルに達したという点で注目されてるだけなんだ。
8d0198ed anonymous 2010-02-22 20:19
常時接続環境なしでP2Pを開発するのは、ちょっと難しいんじゃないか?
いや、クラウドっぽいシステムが学校にあるとかいうケースなら、そっちのほうが
よほど開発が簡単かもしれないけどさ。

一般人に公開する前に動作を検証できる実験室があったほうがいいよ。
3台ぐらいのコンピュータをLANで結んだものがあれば、それなりに動作を検証できるし。
87b3fa82 anonymous 2010-02-22 20:34
100%中継すると謳っているP2Pファイル交換ソフトをLAN内のマシン4台で実験してみた

一時放流者に直接繋ぎに行った件ww
ce67f8d6 anonymous 2010-02-22 21:24
>>214d584b

複数のノードで処理を分散するということがやりやすい、ということもあるよね。

あと、valueには何でも格納できる。
61a7177d anonymous 2010-02-23 02:15
valueに何でも格納できるのなら、ぶっちゃけファイルのハッシュをキーにして
key-valueストアを呼べば、欲しいファイルがダウンロードできちゃうわけだ。
こりゃいいな。
b8e5ec7c 白帽子 2010-02-23 07:10
分散key-valueストアはChordのようなDHTに似ているようです。
このまま使えるかも。
まず分散Key-Valueストアを実装すればいいのか。
e5d66aca 白帽子 2010-02-23 08:21
peer-to-peer の方から来ました
http://www.shudo.net/publications/keyval-20090220/shudo-keyval-20090220.pdf

!?
c2ea2783 anonymous 2010-02-23 09:22
>>b8e5ec7c

Pythonは糊言語なので、既に存在する実装をつなぎ合わせるのに使えばいい。

key-valueストアには、Erlangで実装されたKaiが既に存在する。

http://gihyo.jp/dev/feature/01/kai/0001

` RDBMSで用いられる関係データモデルと異なり,Key/Valueストアのデータモデルは非常
` に簡単です。あらゆるデータ(ビット列に変換されていれば,数値や文字列だけでなく,
` シリアライズされたオブジェクトであってもかまわない)を,正規化などなしにそのま
` ま保存します。

使う側から見れば、key-valueストアはkeyに文字列型、valueにオブジェクト型を持つ連想
配列のようなもの。
1ecc988b 白帽子 2010-02-23 19:05
PythonからErlangプログラムを呼び出せるのか?
出来るんならErlangコード読めるようになって移植する手間が当然省けるな。

その前にプログラミングに使う時間が欲しいな。
ちょっと忙しくってねえ。
あえて開発開始宣言はしないことにする。
かなり時間かかるけど出来次第アップロードしとくから。
0d215429 anonymous 2010-02-23 21:04
>>1ecc988b

http://gihyo.jp/dev/feature/01/kai/0001

` Kaiのクライアントはmemcache APIによってデータを操作します。つまり,
` memcacheクライアントを利用できます。ご存じのように,memcachedは非常に
` 多くのWebサイトで利用されているKey/Valueストアで,多くのクライアント実
` 装が存在します。たとえば,Perl,Ruby,Python,PHP,Java,C#,C/C++,そ
` してErlangなどがあります。テキストベースのプロトコルなので,telnetから
` 操作することもできます。

Pythonから呼び出せるようだ。
efd32ce6 白帽子 2010-02-24 07:10
>>0d215429
一から実装してみたいんだが。Kaiに任せるべきか?
そういえばProfesの作者と名前が同じ。
4d61d835 anonymous 2010-02-24 08:59
>>efd32ce6

Pythonで一から実装してP2Pとして使い物になるのは、データ量が少なく、匿名
性も弱い新月みたいな掲示板くらいだろう。
ce059d84 白帽子 2010-02-24 19:30
じゃあio言語かなんかの方がいいの?
2abd690b anonymous 2010-02-24 21:14
Pythonを内部で使うのは悪くないアイデアだ。
.NETのライブラリを使えるPythonもあるしね。
c45f093c anonymous 2010-02-25 08:32
>>ce059d84

一から実装するということなら、定番はC++、Java、C#あたりになる。

しかし、ことプログラミングにおいては、「一から実装する」という発想は必ず
しも美徳とはいえない。
1f4766ba anonymous 2010-02-25 12:52
いまんところ、今後の逃げ道は、
(1)Freenet0.8+Frost
Freenet0.8+Thaw

(2)StealthNet
http://hideyoshi.2ch.net/test/read.cgi/download/1265293153/

(3)I2P+iMule
I2P+BitTorrent
I2P+アメーバ

この3腫ってことかな。
ff8872ae 白帽子 2010-02-25 18:58
>>1f4766ba
Freenet新バージョン出てたんだ。0.8か、了解。
04342392 anonymous 2010-02-26 06:04
>>ff8872ae
0.7ですよっ
e19952ee 白帽子 2010-02-26 12:34
プログラミングスキル向上のため、Pythonで
Brainfuckの処理系
ROT13、EX-ORによる暗号化
に挑戦してみることにする。
d2cf6dd2 anonymous 2010-02-26 14:37
どんどん違う方向に進むという不思議
1b20f842 白帽子 2010-03-01 13:45
P2Pネットワークで使うハッシュ関数は何がいいのだろうか?
Tiger Tree Hash(TTH、参考:THEX)
SHA-512/384
SHA-1
2f2d3135 白帽子 2010-03-01 18:21
そういえば朔も参考になりそうだな。
ソースコードと技術情報をまとめて取得しとくか。
ad453d3c anonymous 2010-03-01 20:06
>>1b20f842
MD4みたいに既知の方法で衝突する組み合わせが簡単に作れるのでなきゃ
なんでもいいと思うよ。計算機として負荷がどうかとかは考えないといかんけど。
不安なら複数の方法でチェックするとか。ハッシュ関数には幾つかあるから。

SHA-1は既に以前のように強力なハッシュアルゴリズムではないよね。
http://itpro.nikkeibp.co.jp/free/ITPro/Security/20050401/158327/
ブルートフォースアタックで2^80回アタックが必要だったものが、
現在は2^69ぐらいに減って、かなり強度は落ちている。
1ffe47cd anonymous 2010-03-01 20:15
http://packages.debian.org/ja/lenny/jacksum
いろいろ詰め合わセットになってるから手元に置いておくと便利かもね。
Jacksum supports 58 popular algorithms (Adler32, BSD sum, Bzip2's CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8). 
989c77b4 白帽子 2010-03-02 07:24
>>1ffe47cd
ありがとう。

ところでBrainfuckの処理系を昨日書いてみたのだが、
ダメダメだった。
Pythonの勉強が足りん。
9ea729da anonymous 2010-03-02 07:24
>>989c77b4
お、俺もBrainfuckもどきを書いてるよ
色々と命令を追加してみたり
9d1c9c45 白帽子 2010-03-02 18:21
>>9ea729da
ソースコードを見せてくれないか?
書き直してみるから。
32a73d2a 白帽子 2010-03-03 19:20
1の人の報告ないかな

 08ddca5a : [名無し]さん(bin+cue).rar 2006-01-20 17:46
 p2pソフトを作りたいと思います。
 何からはじめればいいですか?
http://p2p.k-server.org/
f4acfce4 白帽子 2010-03-04 16:33
シェルスクリプトで果たしてP2Pは作れるのか!?
389fd408 anonymous 2010-03-04 18:01
>>f4acfce4
そりゃ無理だろう。どこまでをシェルスクリプトとみなすかによるけど。
28dae5d0 anonymous 2010-03-04 21:09
UNIXコマンド使い放題なら作れるんじゃねーかと思う。
ただ、UNIX環境が前提というなら凶悪な手段が幾らでも沸いてくるから、
あんまり参考にならんだろうな。

# 自分ならシェルスクリプトでgccに食わせるソースコードをまずダンプすることから始める。
b9619906 白帽子 2010-03-09 20:16
みんなでP2Pを研究してみるわけだが、
成果物ができた場合、どんな名前にすべきだろうか。

bushblood.ki
五芒星
Happy Fucking!!
DataWalker
LunaNet
LunaticNet
ねこさがし
SeaEcho

上のは今思い付いた名前ww
変な名前ばかりでスマンw
2531a685 anonymous 2010-03-09 22:14
>>b9619906

Incest
dcf0806e anonymous 2010-03-09 22:35
>>b9619906
「兄貴 ~地上最強の漢~」
359cc0ac anonymous 2010-03-09 23:15
>>dcf0806e
超兄貴だと版権にひっかかるんだな。
907f776c 白帽子 2010-03-12 07:51
>>2531a685
「近親相姦」かよwwwwwwwwwwww
8fbd38e4 anonymous 2010-03-12 08:04
>>b9619906
M@D
d4568051 anonymous 2010-03-12 08:12
>>907f776c

同じソフト同士で乱交パーティーを行うから。
2afa23f2 anonymous 2010-03-12 08:16
>>d4568051
児ポ共有専用のプログラムですね、分かります
e55b9faa 白帽子 2010-03-12 13:54
で、簡単に違法ファイルを捜索して削除できる仕様にしたい。
荒らされて、ネットワークからファイルが激減しそうだが(笑)
af3096c3 anonymous 2010-03-12 14:47
共有領域に関しては責任を問わないほうがいいだろう。
「削除」すると、自分の検索から見えなくなるだけで十分だと思うよ。
20e41b0c anonymous 2010-03-12 15:53
>>af3096c3
なんという新月・・・
ca9c4380 白帽子 2010-03-12 18:35
>>af3096c3
そのフィルター方式をとってもいいな。
削除操作でフィルターに登録したら、検索結果から該当項目を除外し、
さらに該当するメタ情報を他ノードに転送するのを禁止すれば、
そのうちメタ情報の有効期限が切れて、検索ネットワークから消える可能性が上がるわけだ。
いや、メタ情報の流通を妨害しちゃいかんかな。

あと、ピュアP2Pかスーパーノード型ハイブリッドP2Pにするか迷うな。
e08ff74d anonymous 2010-03-13 22:42
新月レベルの小規模ネットワークならスーパーノードは不要。
100とか1000とかのオーダーになってからバージョンアップすればいいのでは。
96013644 白帽子 2010-03-14 07:59
インデックスノード
リレーノード
ハブノード
クライアントノード
ポート0ノード
ES(外部サービス)ノード

ってな感じに分けて、インデックスノードが
DiNIDBという分散データベースネットワークを
形成したり、
中継に利用されることを許可したリレーノードや
ノード群を束ねて全体を一つのノードに見せかけるハブノードを考えていた。
ファイル共有以外にも使えるようESノードを置いたり。

インデックスノードが形成するDiNIDBを中心とした、
ウニの断面みたいなネットワークにしたらどうだろうか、
いや反P2P団体のインデックスノードが入って来たら、
どうしようかとか、
Freenetのように単純な分散ファイルシステムにして汎用性を上げるほうがいいのか、
XMLRPCで実装して通信させればいいのかとか。

まだまだわからないことが多すぎる。
73a938a8 anonymous 2010-03-14 23:40
>>b9619906
Abduction
cffeb8d1 anonymous 2010-03-15 10:33
>>96013644

Key-Valueストアに丸投げで良し。Kaiなどはファイルそのものまでをい格納できるんだか
ら。

Top of this page. | <<last 0 1 2 old>>

limit: 15360KB

(p2pソフトを作りたいです/254/0.0MB)


Powered by shinGETsu.