- Автор темы
- #1
U kogo nibud est klass ili prosto kod kotorij otpravljal bi pisma po SMTP cherez Socks??
U menja tut est kod , eslib vi pomogli chtob on eshe i s Socks4 rabotal bilo bi chudo. Ja ne znaju kak eto sdelat
Добавлено через 13 минут
plachu 10WMZ za pomosh
U menja tut est kod , eslib vi pomogli chtob on eshe i s Socks4 rabotal bilo bi chudo. Ja ne znaju kak eto sdelat
Код:
<?php
set_time_limit(0);
$proxies = explode(PHP_EOL, file_get_contents("proxy.lst"));
function hex2bin($dump) {
$dump = str_replace(' ', '', $dump); // вырезаем пробелы
$res='';
for ($i=0, $c=strlen($dump); $i<=$c; $i+=2) {
$bt = (isset($dump[$i]) ? $dump[$i] : '0') . (isset($dump[$i+1]) ? $dump[$i+1] : '0');
$res = $res.chr(hexdec($bt)); // переводим в dec и возвращаем символ по ascii коду
}
return $res;
}
function hex($dump) {
$res='';
for($i = 0, $c = strlen($dump); $i<$c; $i++)
{
if($i+1==strlen($dump)){$res=$res.dechex(ord($dump[$i]));} else {$res=$res . dechex(ord($dump[$i]))." ";}
}
return $res;
}
function len_test($dump) {
if(strlen($dump)==1) {$dump="0".$dump;}
return $dump;
}
$host = 'smtp.yandex.ru';
$port = 25;
class socks5 {
var $socket;
var $connected;
var $debug;
function socks5($ip, $port) {
if ($this->socket = pfsockopen($ip, (int)$port, $errno, $errstr)) {
$buf["send"] = pack("C3", 0x05, 0x01, 0x00);
fwrite($this->socket, $buf["send"]);
$buf["recv"] = fread($this->socket, 1024);
$responce = unpack("Cversion/Cmethod", $buf["recv"]);
if ($responce["version"] == 0x05 and $responce["method"] == 0x00) {
return true;
}
fclose($this->socket);
}
return false;
}
function connect($host, $port) {
if ($this->socket) {
if (ip2long($host) == -1) {
$buf["send"] = pack("C5", 0x05, 0x01, 0x00, 0x03, strlen($host)).$host.pack("n", $port);
} else {
$buf["send"] = pack("C4Nn", 0x05, 0x01, 0x00, 0x01, ip2long(gethostbyname($host)), $port);
}
fwrite($this->socket, $buf["send"]);
$buf["recv"] = fread($this->socket, 1024);
$responce = unpack("Cversion/Cresult/Creg/Ctype/Lip/Sport", $buf["recv"]);
if ($responce["version"] == 0x05 && $responce["result"] == 0x00) {
$this->connected = true;
return true;
}
}
$this->connected = false;
return false;
}
function send($buffer, $length = 0) {
if ($length = 0) {
$length = strlen($buffer);
}
if ($this->socket && $this->connected) {
fwrite($this->socket, $buffer, $length);
$output = fread($this->socket, 1024);
return $output;
}
return false;
}
}
foreach($proxies as $proxy) {
$bad = true;
if (!empty($proxy)) {
list($socks_host, $socks_port) = explode(':', $proxy);
$socks = new socks5($socks_host, $socks_port);
$socks->connect($host, $port);
$msg = "HELO mail.ru\r\n".
"FROM: support@yandex.ru\r\n".
"TO: abuse@yandex.ru\r\n";
"\r\n".
"TEST\r\n".
".";
$result = $socks->send($msg);
echo $result;
$bad = false;
}
$fp = fopen( ( $bad ? 'bad' : 'good') . '.txt', 'a+');
fwrite($fp, $proxy . PHP_EOL);
fclose($fp);
}
?>
Добавлено через 13 минут
plachu 10WMZ za pomosh