Upside-Down-Ternet
2009年9月 9日(水) 21:37 JST
閲覧数 4,522
串で遊んでみる。
無線LANをただのりする人をこらしめる「Upside-Down-Ternet」です。
SquidとhttpdとImageMagickとiptableで、httpのパケットをすべてリダイレクトさせて気がつかないうちに、画像を上下反転させたりしてみます。
画像をグレースケールにしてみたり、イロイロ愉しめます。
設定詳細は本家ページで見て頂くとして。
まずは、squidの設定は基本的な設定をした後、以下でスクリプトを経由する様に設定追加。
※httpdとsquidの実行ユーザは同じにするか、グループを同じにしてください。(画像が読み込めません。。。)
あと、画像が溜まって行くので、定期的に削除する様にcronにでも登録してください。
無線LANをただのりする人をこらしめる「Upside-Down-Ternet」です。
SquidとhttpdとImageMagickとiptableで、httpのパケットをすべてリダイレクトさせて気がつかないうちに、画像を上下反転させたりしてみます。
画像をグレースケールにしてみたり、イロイロ愉しめます。
設定詳細は本家ページで見て頂くとして。
まずは、squidの設定は基本的な設定をした後、以下でスクリプトを経由する様に設定追加。
redirect_program /usr/lib/squid/redirect.plスクリプト内容はこんな感じ。
#!/usr/bin/perl
$|=1;
$count = 0;
$pid = $$;
while (<>) {
chomp $_;
if ($_ =~ /(.*.jpg)/i) {
$url = $1;
system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.jpg", "$url");
system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.jpg");
print "http://<串のIP>/images/$pid-$count.jpgn";
}
elsif ($_ =~ /(.*.gif)/i) {
$url = $1;
system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.gif", "$url");
system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.gif");
print "http://<串のIP>/images/$pid-$count.gifn";
}
else {
print "$_n";;
}
$count++;
}
変換したimagesをhttpdで公開する様にして、その画像をクライアントに返します。※httpdとsquidの実行ユーザは同じにするか、グループを同じにしてください。(画像が読み込めません。。。)
あと、画像が溜まって行くので、定期的に削除する様にcronにでも登録してください。


