# $Id: MediaFire 10867 2009-10-26 22:47:10Z sparky $
# Get::MediaFire - File getter plugin for rsget.pl
#
# 2009 (c) Przemysław Iskra <sparky@pld-linux.org>
#		This program is free software,
# you may distribute it under GPL v2 or newer.

name: MediaFire
short: MF
uri: qr{mediafire\.com/}
cookie: mf
slots: max
status: OK 2009-10-22

start:
	GET( $-{_uri} );

	if ( $-{_referer} =~ /error\.php/ ) {
		ERROR( "file not found" ) if /Invalid File/;
		ERROR( "some error" );
	}

	! m{You requested: (.*?) \(($STDSIZE)\)</div>};
	INFO( name => $1, asize => $2 );

	! /cu\('(.*?)','(.*?)','(.*?)'\);/;
	GET( "/dynamic/download.php?qk=$1&pk=$2&r=$3", keep_referer => 1 );

	! /^(var.*var.*var.*)\s*function/m;
	my $vars = $1;
	my %vars = map { /var (.*?)='(.*?)'/ } split /;/, $vars;

	! m{href=\\"http://"\s*\+\s*(.*?)\s*\+'"};
	my $order = $1;
	my $code = join "", map { /'(.*)'/ ? $1 : $vars{ $_ } } split /\s*\+\s*/, $order;
	my $uri = "http://" . $code;

	CLICK_DOWNLOAD( $uri );

# vim: filetype=perl:ts=4:sw=4
