Advertisement
Th3-822

[rapidleech][u] depositfiles.com_member.php

Sep 9th, 2012
660
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.15 KB | None | 0 0
  1. <?php
  2. ######## Account Info ########
  3. $upload_acc['depositfiles_com']['user'] = ''; //Set your login
  4. $upload_acc['depositfiles_com']['pass'] = ''; //Set your password
  5. ########################
  6.  
  7. $_GET['proxy'] = isset($_GET['proxy']) ? $_GET['proxy'] : '';
  8. $not_done = true;
  9. $continue_up = false;
  10.  
  11. if ($upload_acc['depositfiles_com']['user'] && $upload_acc['depositfiles_com']['pass']) {
  12.     $default_acc = true;
  13.     $_REQUEST['up_login'] = $upload_acc['depositfiles_com']['user'];
  14.     $_REQUEST['up_pass'] = $upload_acc['depositfiles_com']['pass'];
  15.     $_REQUEST['action'] = 'FORM';
  16.     echo "<b><center>Using Default Login.</center></b>\n";
  17. } else $default_acc = false;
  18.  
  19. if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'FORM') $continue_up = true;
  20. else {
  21.     echo "<table border='0' style='width:270px;' cellspacing='0' align='center'>
  22.     <form method='POST'>
  23.     <input type='hidden' name='action' value='FORM' />
  24.     <tr><td style='white-space:nowrap;'>&nbsp;Login*</td><td>&nbsp;<input type='text' name='up_login' value='' style='width:160px;' /></td></tr>
  25.     <tr><td style='white-space:nowrap;'>&nbsp;Password*</td><td>&nbsp;<input type='password' name='up_pass' value='' style='width:160px;' /></td></tr>\n";
  26.     echo "<tr><td colspan='2' align='center'><br /><input type='submit' value='Upload' /></td></tr>\n";
  27.     echo "<tr><td colspan='2' align='center'><small>*You can set it as default in <b>".basename(__FILE__)."</b></small></td></tr>\n";
  28.     echo "</table>\n</form>\n";
  29. }
  30.  
  31. if ($continue_up) {
  32.     $login = $not_done = false;
  33.     $cookie = array('lang_current' => 'en');
  34.     $domain = CheckDomain('depositfiles.com');
  35.     $referer = "https://$domain/";
  36.  
  37.     // Login
  38.     echo "<table style='width:600px;margin:auto;'>\n<tr><td align='center'>\n<div id='login' width='100%' align='center'>Login to $domain</div>\n";
  39.  
  40.     if (!empty($_REQUEST['up_login']) && !empty($_REQUEST['up_pass'])) {
  41.         if (!$default_acc && !empty($_POST['up_encrypted']) && $_POST['up_encrypted'] == 'true') {
  42.             $_REQUEST['up_login'] = decrypt(urldecode($_REQUEST['up_login']));
  43.             $_REQUEST['up_pass'] = decrypt(urldecode($_REQUEST['up_pass']));
  44.         }
  45.         SkipLoginC(strtolower($_REQUEST['up_login']), $_REQUEST['up_pass']);
  46.         $login = true;
  47.     } else echo "<b><center>Login not found or empty, using non member upload.</center></b>\n";
  48.  
  49.     // Retrive upload ID
  50.     echo "<script type='text/javascript'>document.getElementById('login').style.display='none';</script>\n<div id='info' width='100%' align='center'>Retrive upload ID</div>\n";
  51.  
  52.     $page = cURL($referer, $cookie, 0, $referer);
  53.  
  54.     if (!preg_match('@https?://fileshare\d+\.(?:depositfiles|dfiles)\.[^/:\r\n\t\"\'<>]+(?:\:\d+)?/[\w\-]+/[^\'"\r\n\<>;\s\t]*@i', $page, $up)) html_error('Error: Cannot find upload server.');
  55.  
  56.     $post = array();
  57.     $post['format'] = 'html5';
  58.     $post['member_passkey'] = cut_str($page, 'sharedkey="', '"');
  59.     $post['fm'] = '_root';
  60.     $post['fmh'] = '';
  61.  
  62.     if (empty($post['member_passkey'])) html_error('Upload sharedkey Not Found.');
  63.  
  64.     $up_url = $up[0];
  65.  
  66.     // Uploading
  67.     echo "<script type='text/javascript'>document.getElementById('info').style.display='none';</script>\n";
  68.  
  69.     $url = parse_url($up_url);
  70.     $url['scheme'] = 'http'; // Force HTTP on upload.
  71.     $upfiles = upfile($url['host'], defport($url), $url['path'].(!empty($url['query']) ? '?'.$url['query'] : ''), $referer, 0, $post, $lfile, $lname, 'files', '', $_GET['proxy'], $pauth, 0, $url['scheme']);
  72.  
  73.     // Upload Finished
  74.     echo "<script type='text/javascript'>document.getElementById('progressblock').style.display='none';</script>\n";
  75.  
  76.     is_page($upfiles);
  77.  
  78.     $json = json2array($upfiles, 'Upload Error');
  79.  
  80.     if (!empty($json['download_url'])) {
  81.         $download_link = $json['download_url'];
  82.         if (!empty($json['delete_url'])) $delete_link = $json['delete_url'];
  83.  
  84.         // Optional?
  85.         cURL($referer.'api/upload/add_info?url='.urlencode($json['download_url']).'&size='.$fsize, $cookie, 0, $referer);
  86.     } else {
  87.         if (!$default_acc) textarea($upfiles);
  88.         html_error('Download link not found.');
  89.     }
  90. }
  91.  
  92. function CheckDomain($domain) {
  93.     global $cookie, $pauth;
  94.     $domain = strtolower($domain);
  95.     $url = "https://$domain/";
  96.     $page = cURL($url, $cookie, 0, $url);
  97.     if (($hpos = strpos($page, "\r\n\r\n")) > 0) $page = substr($page, 0, $hpos);
  98.     if (stripos($page, "\nLocation: ") !== false && preg_match('@\nLocation: (?:https?:)?//(?:[^/\r\n]+\.)?((?:depositfiles|dfiles)\.[^/:\r\n\t\"\'<>]+)(?:\:\d+)?/@i', $page, $redir_domain)) {
  99.         $redir_domain = strtolower($redir_domain[1]);
  100.         if ($domain != $redir_domain) $domain = $redir_domain;
  101.     }
  102.     return $domain;
  103. }
  104.  
  105. function json2array($content, $errorPrefix = 'Error') {
  106.     if (!function_exists('json_decode')) html_error('Error: Please enable JSON in php.');
  107.     if (empty($content)) html_error("[$errorPrefix]: No content.");
  108.     $content = ltrim($content);
  109.     if (($pos = strpos($content, "\r\n\r\n")) > 0) $content = trim(substr($content, $pos + 4));
  110.     $cb_pos = strpos($content, '{');
  111.     $sb_pos = strpos($content, '[');
  112.     if ($cb_pos === false && $sb_pos === false) html_error("[$errorPrefix]: JSON start braces not found.");
  113.     $sb = ($cb_pos === false || $sb_pos < $cb_pos) ? true : false;
  114.     $content = substr($content, strpos($content, ($sb ? '[' : '{')));$content = substr($content, 0, strrpos($content, ($sb ? ']' : '}')) + 1);
  115.     if (empty($content)) html_error("[$errorPrefix]: No JSON content.");
  116.     $rply = json_decode($content, true);
  117.     if ($rply === NULL) html_error("[$errorPrefix]: Error reading JSON.");
  118.     return $rply;
  119. }
  120.  
  121. function Login($user, $pass) {
  122.     global $default_acc, $cookie, $domain, $referer, $pauth;
  123.     $errors = array('CaptchaInvalid' => 'Wrong CAPTCHA entered.', 'InvalidLogIn' => 'Invalid Login/Pass.', 'CaptchaRequired' => 'Captcha Required.');
  124.     if (!empty($_POST['step']) && $_POST['step'] == '1') {
  125.         html_error('reCAPTCHA2 Not Supported ATM.');
  126.         /*
  127.         if (empty($_POST['recaptcha_response_field'])) html_error('You didn\'t enter the image verification code.');
  128.         $post = array('recaptcha_challenge_field' => $_POST['recaptcha_challenge_field'], 'recaptcha_response_field' => $_POST['recaptcha_response_field']);
  129.         $post['login'] = urlencode($user);
  130.         $post['password'] = urlencode($pass);
  131.  
  132.         $page = cURL($referer . 'api/user/login', $cookie, $post, $referer.'login.php?return=%2F');
  133.         $json = json2array($page, 'Login Error P');
  134.         if (!empty($json['error'])) html_error('Login Error'. (!empty($errors[$json['error']]) ? ': ' . $errors[$json['error']] : '..'));
  135.         elseif ($json['status'] != 'OK') html_error('Login Failed');
  136.  
  137.         $cookie = GetCookiesArr($page, $cookie);
  138.         if (empty($cookie['autologin'])) html_error('Login Error: Cannot find "autologin" cookie');
  139.  
  140.         SaveCookies($user, $pass); // Update cookies file
  141.         return true;
  142.         */
  143.     } else {
  144.         $post = array();
  145.         $post['login'] = urlencode($user);
  146.         $post['password'] = urlencode($pass);
  147.  
  148.         $page = cURL($referer . 'api/user/login', $cookie, $post, $referer.'login.php?return=%2F');
  149.         $json = json2array($page, 'Login Error');
  150.         if (!empty($json['error']) && $json['error'] != 'CaptchaRequired') html_error('Login Error'. (!empty($errors[$json['error']]) ? ': ' . $errors[$json['error']] : '.'));
  151.         elseif ($json['status'] == 'OK') {
  152.             $cookie = GetCookiesArr($page, $cookie);
  153.             if (empty($cookie['autologin'])) html_error('Login Error: Cannot find "autologin" cookie.');
  154.             SaveCookies($user, $pass); // Update cookies file
  155.             return true;
  156.         } elseif (empty($json['error']) || $json['error'] != 'CaptchaRequired') html_error('Login Failed.');
  157.  
  158.         // Captcha Required
  159.         $page = cURL($referer.'login.php?return=%2F', $cookie, 0, $referer);
  160.         $cookie = GetCookiesArr($page, $cookie);
  161.  
  162.         if (!preg_match('@(https?://([^/\r\n\t\s\'\"<>]+\.)?(?:depositfiles|dfiles)\.[^/:\r\n\t\"\'<>]+(?:\:\d+)?)/js/base2\.js@i', $page, $jsurl)) html_error('Cannot find captcha.');
  163.         $jsurl = (empty($jsurl[1])) ? 'https://' . $domain . $jsurl[0] : $jsurl[0];
  164.         $page = cURL($jsurl, $cookie, 0, $referer.'login.php?return=%2F');
  165.  
  166.         if (!preg_match('@recaptcha2PublicKey\s*=\s*[\'\"]([\w\.\-]+)@i', $page, $cpid)) html_error('reCAPTCHA2 Not Found.');
  167.  
  168.         $post = array('action' => 'FORM');
  169.         $post['step'] = '1';
  170.         if (!$default_acc) {
  171.             $post['up_encrypted'] = 'true';
  172.             $post['up_login'] = urlencode(encrypt($user));
  173.             $post['up_pass'] = urlencode(encrypt($pass));
  174.         }
  175.         html_error('reCAPTCHA2 Not Supported ATM.');
  176.     }
  177. }
  178.  
  179. function IWillNameItLater($cookie, $decrypt=true) {
  180.     if (!is_array($cookie)) {
  181.         if (!empty($cookie)) return $decrypt ? decrypt(urldecode($cookie)) : urlencode(encrypt($cookie));
  182.         return '';
  183.     }
  184.     if (count($cookie) < 1) return $cookie;
  185.     $keys = array_keys($cookie);
  186.     $values = array_values($cookie);
  187.     $keys = $decrypt ? array_map('decrypt', array_map('urldecode', $keys)) : array_map('urlencode', array_map('encrypt', $keys));
  188.     $values = $decrypt ? array_map('decrypt', array_map('urldecode', $values)) : array_map('urlencode', array_map('encrypt', $values));
  189.     return array_combine($keys, $values);
  190. }
  191.  
  192. function SkipLoginC($user, $pass) {
  193.     global $cookie, $domain, $referer, $secretkey, $pauth;
  194.     if (!defined('DOWNLOAD_DIR')) {
  195.         global $options;
  196.         if (substr($options['download_dir'], -1) != '/') $options['download_dir'] .= '/';
  197.         define('DOWNLOAD_DIR', (substr($options['download_dir'], 0, 6) == 'ftp://' ? '' : $options['download_dir']));
  198.     }
  199.  
  200.     $filename = DOWNLOAD_DIR.basename('depositfiles_ul.php');
  201.     if (!file_exists($filename)) return Login($user, $pass);
  202.  
  203.     $file = file($filename);
  204.     $savedcookies = unserialize($file[1]);
  205.     unset($file);
  206.  
  207.     $hash = hash('crc32b', $user.':'.$pass);
  208.     if (array_key_exists($hash, $savedcookies)) {
  209.         $_secretkey = $secretkey;
  210.         $secretkey = sha1($user.':'.$pass);
  211.         $testCookie = (decrypt(urldecode($savedcookies[$hash]['enc'])) == 'OK') ? IWillNameItLater($savedcookies[$hash]['cookie']) : '';
  212.         $secretkey = $_secretkey;
  213.         if ((is_array($testCookie) && count($testCookie) < 1) || empty($testCookie)) return Login($user, $pass);
  214.  
  215.         $page = cURL($referer, $testCookie, 0, $referer);
  216.         if (stripos($page, 'style="display: none;" data-type="guest"') === false) return Login($user, $pass);
  217.         $cookie = $testCookie; // Update cookies
  218.         SaveCookies($user, $pass); // Update cookies file
  219.         return true;
  220.     }
  221.     return Login($user, $pass);
  222. }
  223.  
  224. function SaveCookies($user, $pass) {
  225.     global $cookie, $secretkey;
  226.     $maxdays = 31; // Max days to keep cookies saved
  227.     $filename = DOWNLOAD_DIR.basename('depositfiles_ul.php');
  228.     if (file_exists($filename)) {
  229.         $file = file($filename);
  230.         $savedcookies = unserialize($file[1]);
  231.         unset($file);
  232.  
  233.         // Remove old cookies
  234.         foreach ($savedcookies as $k => $v) if (time() - $v['time'] >= ($maxdays * 24 * 60 * 60)) unset($savedcookies[$k]);
  235.     } else $savedcookies = array();
  236.     $hash = hash('crc32b', $user.':'.$pass);
  237.     $_secretkey = $secretkey;
  238.     $secretkey = sha1($user.':'.$pass);
  239.     $savedcookies[$hash] = array('time' => time(), 'enc' => urlencode(encrypt('OK')), 'cookie' => IWillNameItLater($cookie, false));
  240.     $secretkey = $_secretkey;
  241.  
  242.     write_file($filename, "<?php exit(); ?>\r\n" . serialize($savedcookies));
  243. }
  244.  
  245. //[06-9-2012] Written by Th3-822.
  246. //[01-1-2013] Fixed login. - Th3-822 (Happy New Year)
  247. //[20-1-2013] Updated for df's new domains. - Th3-822
  248. //[25-3-2017] Switched to cURL/https, fixed domain checker & fixed login & upload. - Th3-822
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement