Ab.の日記: BkASPil hack?
proxy のプログラム自体は perl の HTTP::Proxy の使い方をぐぐっている内に出てきた Perlのデバッグ用ローカルプロキシーを概ねそのまま(勝手に)使わせて頂いています。
まずはアクセスしているデータを表示するフィルタを挟んで適当に conf を設定して、URI やら Cookie やらがどうなってるかチェック。
conf ファイルはこんな感じ。
YAML って触るの初めてですが、お手軽で悪くないですね。
server:
host: localhost
port: 8080
rewrite:
'.*':
'.*/': '/foo/bkaspilfake/'
'/': 'http://localhost/'
挟んだ filter はとりあえず見て分かればいいのでこんなの。
$proxy->push_filter(
request => HogeProxy::DumperProxy->new,
response => HogeProxy::DumperProxy->new);
package HogeProxy::DumperProxy;
use strict;
use warnings;
use base qw( HTTP::Proxy::HeaderFilter );
use Data::Dumper;
sub init {
my $self = shift;
}
sub filter {
my ( $self, $headers, $message ) = @_;
print Dumper($headers), "\n";
print Dumper($message), "\n";
print "\n";
}
そして出てくる dump を見てアクセス先を同定して、 http://ほげほげ/うにゃうにゃ/なんとか.html だったら、wget なりなんなりでファイルを拾ってきて /foo/bkaspilfake/なんとか.html に配置すれば出来上がり。
最後に internet に出て行けない方の jail に放り込んで daemontools で daemon 化して終了。
実は最初のアクセスのあといくつかデータファイルらしきものを拾いに行ってるんですが、そっちはコケても大丈夫なようなので放置です。
BkASPil hack? More ログイン