upload_end/ 40777 000000 000000 0 11365023041 10525 5 ustar root upload_end/0x/ 40777 000000 000000 0 11365023041 11054 5 ustar root upload_end/upload/ 40777 000000 000000 0 11365023041 12011 5 ustar root upload_end/upload-end.cgi 100666 000000 000000 4104 11470543460 13266 ustar root #!/usr/local/bin/perl
# 無名祭祀書 - upload-end.cgi
#
# http://ame.x0.com/ (原案)
# + http://project13.s10.xrea.com/ (デザインのネタ元)
# + S.S. (upload.html埋め込み)
# 改造及び再配布はご自由に。
# 出バグ。
# b : 「以下のアドレスへアップロードが完了しました。」のアドレスがおかしい。
# > 自力で修正してください。
#
# ファイルを格納するディレクトリ名
$upload = 'upload';
# アプできるファイルの最大サイズ
$max_size = 512 * 1024;
# スクリプトのタイトル
$title = 'Unaussprechlichen Kulten';
if (!opendir DIR, $upload) { $error = 'そんなディレクトリはないよ?'; }
close DIR;
if ($ENV{'CONTENT_LENGTH'} > $max_size) { $error = 'ファイルが大きすぎます!'; }
if (!$ENV{'CONTENT_LENGTH'} || $error) { &html; }
$ENV{'TZ'} = "JST-9";
($sec,$min,$hour,$mday,$mon,$year,$wday,$d,$d) = localtime(time);
$date = sprintf("%04d%02d%02d-%02d%02d%02d", $year + 1900, $mon + 1, $mday, $hour, $min, $sec);
binmode(STDIN);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$buffer =~ /filename=\".+\.(.+)\"\r\n/;
$ext = $1;
if ($ext eq "") { &html; }
$buffer =~ /\r\n\r\n/;
$buffer = $';
$buffer =~ s/\r\n.+\r\n$//;
if ($buffer eq "") { &html; }
$filename = $date.'.'.$ext;
open(W, "> ./$upload/$filename");
binmode(W);
print W $buffer;
close(W);
$error = "
以下のアドレスへアップロードが完了しました。
\n";
$error.= "http://$ENV{HTTP_HOST}/$upload/$filename";
&html;
sub html {
print "Content-type: text/html\n\n";
print <<"_HTML_";
$title
$title
$error
_HTML_
exit;
}
upload_end/upload-end_2nd.cgi 100666 000000 000000 4407 11470543500 14032 ustar root #!/usr/local/bin/perl
# 無名祭祀書 (第二版) - upload-end_2nd.cgi
#
# http://ame.x0.com/ (原案)
# + http://project13.s10.xrea.com/ (デザインのネタ元)
# + S.S. (upload.html埋め込み)
# 改造及び再配布はご自由に。
# 出バグ。
# b : 「以下のアドレスへアップロードが完了しました。」のアドレスがおかしい。
# > 自力で修正してください。
#
# ファイルを格納するディレクトリ名
$upload = 'upload';
# 保存ファイル名の接頭辞
$prefix = 'up';
# アプできるファイルの最大サイズ
$max_size = 512 * 1024;
# スクリプトのタイトル
$title = 'Unaussprechlichen Kulten';
if (!opendir DIR, $upload) { $error = 'そんなディレクトリはないよ?'; }
@files = grep { /^$prefix(\d+)\.(\w+)$/ } readdir DIR;
close DIR;
$numbers = 0;
@files = reverse(@files);
if (@files[0] =~ m/^$prefix(\d+)\.(\w+)$/i) { $numbers = $1; }
&numbers;
if ($ENV{'CONTENT_LENGTH'} > $max_size) { $error = 'ファイルが大きすぎます!'; }
if (!$ENV{'CONTENT_LENGTH'} || $error) { &html; }
binmode(STDIN);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$buffer =~ /filename=\".+\.(.+)\"\r\n/;
$ext = $1;
if ($ext eq "") { &html; }
$buffer =~ /\r\n\r\n/;
$buffer = $';
$buffer =~ s/\r\n.+\r\n$//;
if ($buffer eq "") { &html; }
$filename = $prefix.''.$test.'.'.$ext;
open(W, "> ./$upload/$filename");
binmode(W);
print W $buffer;
close(W);
$numbers = $test;
&numbers;
$error = "以下のアドレスへアップロードが完了しました。
\n";
$error.= "http://$ENV{HTTP_HOST}/$upload/$filename";
&html;
sub html {
print "Content-type: text/html\n\n";
print <<"_HTML_";
$title
$title
$stack
$error
_HTML_
exit;
}
sub numbers {
$test = sprintf ("%05d", $numbers + 1);
$stack = "now numbers $test\n";
} upload_end/upload-end_hex.cgi 100666 000000 000000 4421 11470543471 14136 ustar root #!/usr/local/bin/perl
# 無名祭祀書 (第三版) - upload-end_hex.cgi
#
# http://ame.x0.com/ (原案)
# + http://project13.s10.xrea.com/ (デザインのネタ元)
# + S.S. (upload.html埋め込み)
# 改造及び再配布はご自由に。
# 出バグ。
# b : 「以下のアドレスへアップロードが完了しました。」のアドレスがおかしい。
# > 自力で修正してください。
#
# ファイルを格納するディレクトリ名
$upload = '0x';
# アプできるファイルの最大サイズ
$max_size = 512 * 1024;
# スクリプトのタイトル
$title = 'Unaussprechlichen Kulten';
if (!opendir DIR, $upload) { $error = 'そんなディレクトリはないよ?'; }
@files = grep { /^(\w+)\.(\w+)$/ } readdir DIR;
close DIR;
$numbers = 0;
@files = reverse(@files);
if (@files[0] =~ m/^(\w+)\.(\w+)$/i) { $numbers = $1; }
&numbers;
if ($ENV{'CONTENT_LENGTH'} > $max_size) { $error = 'ファイルが大きすぎます!'; }
if (!$ENV{'CONTENT_LENGTH'} || $error) { &html; }
binmode(STDIN);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$buffer =~ /filename=\".+\.(.+)\"\r\n/;
$ext = $1;
if ($ext eq "") { &html; }
$buffer =~ /\r\n\r\n/;
$buffer = $';
$buffer =~ s/\r\n.+\r\n$//;
if ($buffer eq "") { &html; }
$filename = $numbers.'.'.$ext;
open(W, "> ./$upload/$filename");
binmode(W);
print W $buffer;
close(W);
&numbers;
$error = "以下のアドレスへアップロードが完了しました。
\n";
$error.= "http://$ENV{HTTP_HOST}/$upload/$filename";
&html;
sub html {
print "Content-type: text/html\n\n";
print <<"_HTML_";
$title
$title
$stack
$error
_HTML_
exit;
}
sub numbers {
$number = hex($numbers);
$number++;
$numbers = sprintf('%X', $number);
while (length($numbers) < 4) {
$numbers = '0' . $numbers;
}
$stack = "now numbers $numbers\n";
}
upload_end/ł.txt 100666 000000 000000 2054 11470543430 14150 ustar root #-- upload_end(x3) --#
#
# http://ame.x0.com/ (原案)
# + http://project13.s10.xrea.com/ (デザインのネタ元)
# + S.S. (upload.html埋め込み)
#
『コンセプト』
管理者向けのアップローダー…なのかな?
同梱されているスクリプトの違いを言うと…
upload-end.cgi
日付からファイル名を生成。
upload-end_2nd.cgi
up[番号].[拡張子] の形でファイルを生成、一般向け。
upload-end_hex.cgi
up[番号(16進数)].[拡張子] の形でファイルを生成、少しでもURLを削りたい人向け。
と言うところかな?
『その他』
多分予期せぬバグとかが潜んでいてそうなので、
サポートに関しては「A2D1の塒」までどうぞ。
URL:http://noemi.oinarisan.com/
『更新履歴』
2010/04/21 edit
タイトルの設定を追加
何もアップロードしないで投稿した場合はリロードするようにFix.
拡張子が無いファイルを投稿した場合はリロードするようにFix.
2010/04/10 edit
とりあえず公開。