ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHPDownload
  #1  
Старый 02.07.2007, 20:37
Аватар для Ntkiller
Ntkiller
Новичок
Регистрация: 30.06.2007
Сообщений: 5
Провел на форуме:
19112

Репутация: 27
По умолчанию PHPDownload

Начал разработку скрипта на php, который будет эмулировать браузер, основная цель - закачка файлов с докачкой, где докачка не поддерживается(например rapidshare) Также можно использовать для создания всяких web-proxy, скриптов отсылки смс на телефоны без использования iframe, накрутчиков посещений. Сейчас реализовано немного, а именно:
1) User-Agent берется из настроек класса
2) Refer устанавливается автоматически, простые проверки на рефер выдерживает
3) Работает с cookies
4) Пошаговая система интегрирована в ядро.

Также доступен 1 модуль - для закачки с rapidshare, он тоже только начал разрабатываться, пока что не реализовано:
1)Определение имени файла(всегда result.rar)
2)Выбор зеркала

Глючит но работает))

Для работы нужно чтобы был установлен cUrl.

Как думаете есть ли смысл в подобном проекте? Что-бы вы хотели в нем увидеть?

Всем желающим помочь в тестировании исходные коды выкладываю, отписываться в теме, если происходят глюки НЕКАЧАЙТЕ СРАЗУ ДРУГОЙ ФАЙЛ, сначала сохраните файлы res1.htm и res2.htm и потом передайте мне, тогда я смогу постараться решить проблему.

Вот код ядра:
Код:
<?php
	//TODO:CURL_ERRORS
	class CORE
	{

  var $form='';
  var $cookie='';
  var $userAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)';
  var $refer='';

  function Init()
  {
  	//Init?
  }

  function getStep()
  {
  	If((isset($_GET['step'])) && (intval($_GET['step']) != 0))
  	{
    return intval($_GET['step'])
  	} else {
    return 1;
  	}
  }

  function setCookieFile($name)
  {
  	$this->cookie=$name;
  }

  function addEdit($name,$value='')
  {
  	//TODO:NETXLINE
  	//TODO:LABEL
  	If($value=='')
  	{
    $this->form.='<input type=text name="'.$name.'">';
  	} else {
    $this->form.='<input type=text name="'.$name.'" value="'.$value.'">';
  	}
  }

  function addElement($element)
  {
  	$this->form.=$element;
  }

  function setRefer($refer)
  {
  	$this->refer=$refer;
  }

  function doRequest($url,$postfields='',$infile='')
  {
  	$curl=curl_init()
  	curl_setopt($curl,CURLOPT_URL,$url)
  	curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1)
  	$cookie=$this->cookie;
  	If($cookie!='')
  	{
    curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie)
    curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie)
  	}
  	$userAgent=$this->userAgent;
  	If($userAgent != '')
  	{
    curl_setopt($curl,CURLOPT_USERAGENT,$userAgent)
  	}
  	$refer=$this->refer;
  	If($refer != '')
  	{
    curl_setopt($curl,CURLOPT_REFERER,$refer)
  	}
  	$this->refer=$url;
  	If($postfields!='')
  	{
    curl_setopt($curl,CURLOPT_POST,1)
    curl_setopt($curl,CURLOPT_POSTFIELDS,$postfields)
  	}
  	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1)
  	If($infile!='')
  	{
    curl_setopt($curl,CURLOPT_FILE,$infile)
    curl_exec($curl)
  	} else {
    $result = curl_exec($curl)
    return $result;
  	}
  }

  function display($hasNext=1)
  {
  	If($hasNext==1)
  	{
    $form='<FORM method=GET action="">';
    $form.=$this->form;
    $form.='<input type=hidden name="step" value='.($this->getStep()+1).'>';
                                $form.='<input type=submit value=Next>';
    $form.='</FORM>';
    print $form;
  	} else {
    print $this->form;
  	}
  }
	}
?>
Вот код Файла, который использует ядро для закачки с rapidshare:

Код:
<?
 include('./core.php')
 $core=new Core()
 $core->Init()
 $core->setCookieFile('./cookie.txt')
 $step=$core->getStep()
 If($step==1)
 {
  $core->addElement('url:')
  $core->addEdit('url')
  $core->display()
 }
 If($step==2)
 {
  $result = $core->doRequest($_GET['url'])
  $file=fopen('res1.htm','w')
  fputs($file,$result)
  fclose($file)
  eregi('<form action="(.*)" method="post">',$result,$action)
  $action=$action[1];
  $result = $core->doRequest($action,'dl.start=Free')
  $file=fopen('res2.htm','w')
  fputs($file,$result)
  fclose($file)
  eregi('You have reached the download-limit for free-users. Want to download more?',$result,$limit)
  If(isset($limit))
  {
   $core->addElement('DownloadLimit Try again Later.')
   $core->displayƐ)
  } else {
   eregi('<h3>No premium user. Please enter<br><img src=http://pro-hack.ru:81/forum/"(.*)"><br>here:',$result,$image)
   $image=$image[1];
   eregi('<form name="dl" action="([^"]*)" method="post">',$result,$action)
   $action=$action[1];
   $file=fopen('./img.jpg','w')
   $core->doRequest($image,'',$file)
   fclose($file)
   $core->addElement('<input type="hidden" name="act" value="'.$action.'">')
   $core->addElement('<img src=http://pro-hack.ru:81/forum/"img.jpg">')
   $core->addElement('<input type="edit" name="code">')
   $core->display()
  }
 }
 If($step==3)
 {
  set_time_limitƐ)
  $action = $_GET['act'];
  $submit = 'Download%20via%20GlobalCrossing';
  $code=$_GET['code'];
  $file=fopen('./result.rar','w')
  $result=$core->doRequest($action,'actionstring='.$submit.'&accesscode='.$code.'',$file)
  fclose($file)
  $core->addElement('<a href="result.rar">Done</a>')
  $core->displayƐ)
 }
?>
Интересно услышать ваше мнение по проекту.
 
Ответить с цитированием

  #2  
Старый 01.08.2007, 21:23
Аватар для x-demon
x-demon
Постоянный
Регистрация: 10.06.2007
Сообщений: 476
Провел на форуме:
924649

Репутация: 299
Отправить сообщение для x-demon с помощью ICQ Отправить сообщение для x-demon с помощью AIM Отправить сообщение для x-demon с помощью MSN Отправить сообщение для x-demon с помощью Yahoo
По умолчанию

Развивай, что забросил... А по хорошему - внедри эти функции в rapidget.spb.ru
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ