#!/usr/bin/perl

name: MediaFire
short: MF
uri: qr{mediafire\.com/}
cookie: mf
slots: 8
status: OK 2009-08-31

start:
	GET( $-{_uri} );
	$-{first_page} = $-{_referer};

	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" );

	! /^(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;

	$-{_referer} = $-{first_page};
	DOWNLOAD( $uri );

# vim:ts=4:sw=4
