Th3-822 icon

[rapidleech][d] dizzcloud_com.php

Th3-822 | PRO | 07/20/13 11:27:06 PM UTC | 0 ⭐ | 712 👁️ | Never ⏰ | []
PHP |

5.01 KB

|

None

|

0 👍

/

0 👎

<?php
 
if (!defined('RAPIDLEECH')) {
    require_once('index.html');
    exit();
}
 
class dizzcloud_com extends DownloadClass {
    private $page, $cookie;
    public function Download($link) {
        global $premium_acc;
        $this->cookie = array();
        if (!preg_match('@^https?://(?:www\.)?dizzcloud\.com/dl/(\w{7})/?@i', $link, $fid)) html_error('Invalid Link?');
        $this->link = $fid[0];
        $this->fid = $fid[1];
 
        if (empty($_POST['step']) || $_POST['step'] != '1') {
            $this->page = $this->GetPage($link, $this->cookie);
            is_present($this->page, '>File not found<', 'The file you were looking for could not be found');
        }
 
        if ($_REQUEST['premium_acc'] == 'on' && ((!empty($_REQUEST['premium_user']) && !empty($_REQUEST['premium_pass'])) || (!empty($premium_acc['dizzcloud_com']['user']) && !empty($premium_acc['dizzcloud_com']['pass'])))) $this->Login();
        else $this->FreeDL();
    }
 
    private function Get_Reply($content) {
        if (!function_exists('json_decode')) html_error('Error: Please enable JSON in php.');
        $content = ltrim($content);
        if (($pos = strpos($content, "\r\n\r\n")) > 0) $content = trim(substr($content, $pos + 4));
        $cb_pos = strpos($content, '{');
        $sb_pos = strpos($content, '[');
        if ($cb_pos === false && $sb_pos === false) html_error('Json start braces not found.');
        $sb = ($cb_pos === false || $sb_pos < $cb_pos) ? true : false;
        $content = substr($content, strpos($content, ($sb ? '[' : '{')));$content = substr($content, 0, strrpos($content, ($sb ? ']' : '}')) + 1);
        if (empty($content)) html_error('No json content.');
        $rply = json_decode($content, true);
        if ($rply === NULL) html_error('Error reading json.');
        return $rply;
    }
 
    private function FreeDL() {
        if (empty($_POST['step']) || $_POST['step'] != '1') {
            if (preg_match('@Next free download from your ip will be available in <b>\d+ \w+@i', $this->page, $err)) html_error($err[0].'</b>');
            if (!preg_match('@https?://(?:[^/]+\.)?(?:(?:google\.com/recaptcha/api)|(?:recaptcha\.net))/(?:(?:challenge)|(?:noscript))\?k=([\w|\-]+)@i', $this->page, $pid)) html_error('reCAPTCHA not found.');
            $this->cookie = GetCookiesArr($this->page, $this->cookie);
 
            $data = $this->DefaultParamArr($this->link, (empty($this->cookie)) ? 0 : encrypt(CookiesToStr($this->cookie)));
            $data['step'] = '1';
 
            $this->reCAPTCHA($pid[1], $data);
            exit;
        } else {
            if (empty($_POST['recaptcha_response_field'])) html_error('You didn\'t enter the image verification code.');
            if (!empty($_POST['cookie'])) $this->cookie = StrToCookies(decrypt(urldecode($_POST['cookie'])));
 
            $query = array();
            $query['type'] = 'recaptcha';
            $query['challenge'] = urlencode($_POST['recaptcha_challenge_field']);
            $query['capture'] = urlencode($_POST['recaptcha_response_field']);
 
            $page = $this->GetPage($this->link.'?'.http_build_query($query), $this->cookie);
            $reply = $this->Get_Reply($page);
            if (!empty($reply['err'])) html_error('Error: '.htmlentities($reply['err']));
            if (empty($reply['href']) || !preg_match('@https?://[\w\-]+\.cloudstoreservice\.net/[^\'\"\t<>\r\n]+@i', $reply['href'], $dlink)) {
                if (!empty($reply['href']) && stripos($reply['href'], '/dl/') === 0) html_error('Expired/Used/Invalid DL Session.');
                html_error('Error: Download link not found.');
            }
 
            $this->RedirectDownload($dlink[0], urldecode(basename(parse_url($dlink[0], PHP_URL_PATH))));
        }
    }
 
    private function PremiumDL() {
        $page = $this->GetPage($this->link, $this->cookie);
        if (!preg_match('@https?://[\w\-]+\.cloudstoreservice\.net/[^\'\"\t<>\r\n]+@i', $page, $dlink)) html_error('Error: Download-link not found.');
 
        $this->RedirectDownload($dlink[0], urldecode(basename(parse_url($dlink[0], PHP_URL_PATH))));
    }
 
    private function Login() {
        global $premium_acc;
        $pA = (!empty($_REQUEST['premium_user']) && !empty($_REQUEST['premium_pass']) ? true : false);
        $user = ($pA ? $_REQUEST['premium_user'] : $premium_acc['dizzcloud_com']['user']);
        $pass = ($pA ? $_REQUEST['premium_pass'] : $premium_acc['dizzcloud_com']['pass']);
 
        if (empty($user) || empty($pass)) html_error('Login Failed: User or Password is empty. Please check login data.');
        $post = array();
        $post['email'] = urlencode($user);
        $post['pass'] = urlencode($pass);
 
        $purl = 'http://dizzcloud.com/';
        $page = $this->GetPage($purl.'login', $this->cookie, $post, $purl.'login');
 
        $this->cookie = GetCookiesArr($page);
        if (empty($this->cookie['auth_uid']) || empty($this->cookie['auth_hash'])) html_error('Login failed: User/Password incorrect?.');
 
        $page = $this->GetPage($purl, $this->cookie, 0, $purl.'login');
        if (stripos($page, '/logout') === false) html_error('Login Error.');
 
        if (stripos($page, '>Premium till') === false) {
            $this->changeMesg(lang(300).'<br /><b>Account isn\\\'t premium</b><br />Using it as member.');
            $this->page = $this->GetPage($this->link, $this->cookie);
            return $this->FreeDL();
        } else return $this->PremiumDL();
    }
}
 
// [20-7-2013]  Written by Th3-822.
// [24-3-2014]  Fixed FreeDL. - Th3-822
 
?>

Comments