だうんろーど(Ver.2.1)
Tips
■ちりりDukeとは
Perlを使ったhttpクライアントです。2004-2005年に、RagnarokOnlineのBOT開発プロジェクトの一環として生まれました。Ver.2で完成形を見たため、現在開発は終了しています。
■CannalDukeから5年・・・
Y2K時代の真っ只中で生まれたかつてのCannalDuke(きゃなる)は、Perl4のスクリプトでhtmlパーサも力技であり、Dukeのサイズが非常に大きく、改造のしにくい欠点がありました。またCannalは、forkの扱いが難しくプロセス監視をしていないunixサーバ等では暴走する危険性などから、マルチプロセスを用いず、親プロセスの繰り返し構文となっていました。
これはCannalが、PerldukeのようなDoSツールでなく一つ一つの書き込みを確実に行う設計思想であったためですが、それらの欠点の改善と、オブジェクト指向による分かりやすく再利用のしやすい、プログラマブルなDukeを生み出す事が、ちりりDukeの目指したものです。
■ちりりDukeのとくちょう
高速多重・連続処理に最適です。主要な関数は実装済みですから、簡単なスクリプトの追加だけで、複雑な動作が可能です。
Proxy経由、html取得、form取得、link取得、linkアンカー取得、タグ抽出、form入力、ランダム文字列生成などを実装済みです。
まともな用途の他、絨毯爆撃、連続投票、Blog一括投稿、ID多重登録、マルチパートフォーム送信、トラックバック多重送信、スパム送信などさまざまな応用が出来ます。
Perl5のスクリプトですので、Perl5以降のいんすとーるされた環境でご使用ください。(ex.ActivePerl等
■Ver.2のとくちょう
ちりりDukeはthreadsによって子プロセスを管理していますが、Ver.1.xでは登録Proxy1つにつき、1つのthreadを使っていました。このため大量のProxyを登録した場合、メモリの使用量が異常に増えていました。
Ver.2ではスタックという概念を導入しまして、スレッド1つ1つが常に何かの処理を行うようにしたため、スレッド数を大幅に削減しながらも同等の処理が出来るようになりました。
たとえば次のような処理待ちのスタックがあるとします。
1.串Aで今から10秒後にフォーム取得
2.串Aで今から20秒後に投稿
3.串Bで今から15秒後にフォーム取得
4.串Bで今から25秒後に投稿
Ver.1.xではProxy毎にスレッドが立っていたため、1,2を実行するスレッドと3,4を実行するスレッドが別々になっていました。Ver.2では手の空いたスレッドが順に拾い上げて実行していきます。つまりDukeが勝手に判断して、1,3,2,4の順番に仕事をこなしていくわけです。
単なるメモリ空間のコピー(fork的な)でなくスタックに積むという処理の予約を行う事で、threadsの本来の使い方を模索しリソースの有効活用が出来ました。もっとも有効な、スレッド数と有効Proxy数の比は、ご使用の環境によって変化しますので色々な設定をお試しください。
具体的な使い方は圧縮ファイル内のreadmeを参照してください。
■こうしんりれき
- Ver.2.1
- 日本語処理をshift-jisに統一。
- Ver.2.0a
- cookie処理の追加。
- Ver.2.0
- スタック処理、クラスパッケージ化、フルモデルチェンジ。
- Ver.1.0a
- Proxyリストを外部書き出し。
- Ver.1.0
- チート本にオマケで添付。
- Ver.0.1a
- フォーム更新分岐を追加。
- Ver.0.1
- 配布開始。
ちりりDukeの姉妹品
ちりりシリーズはスクリプトコードとしてPerl自体を使っていますが、独自コード仕様のくるるDukeがあります。
■こぴーらいと
ちりりDukeの著作権はVVSおじさんにあります。
ちりりDukeはフリーウェアです。
ちりりDukeを使用した際の結果については、一切の責任を負いかねます。
ご利用は計画的に。
このページは「ゲスッ10周年記念事業」によって作成されました。
