[Архив] Guest Spam Pro - Zumо - by Nulled.WS Team

Статус
В этой теме нельзя размещать новые ответы.
Штука рабочая. Но требует доводки молотком. Например по поводу прокси:

Код:
         foreach ($furls as $url)
{$content.=file_get_contents(trim($url) );}

То есть добавить trim($url), иначе прокси не получите. А в начале написать

Код:
set_time_limit(0);

Для бесконечного времени выполнения, или сколько секунд на отработку даете.

А спамилка на самом деле примитивная: если есть изменяемое hidden поле, то спамилка никогда не пробьет такую форму, хоть как извращайся.

Речь о той, что в свободном доступе лежала. Не знаю что там после 40 сообщений раздают, но 200 за это чудо явно многовато.
 
выложите плиззз полностью рабочую версию...:ah:
 
Spam IT

В большинстве спамилок сейча можно поля настроить, например Spam IT
 
много ты полей настроил ? и ещё больше интересует насколько верно ты их натсроил :)
 
угу, папку mb в студию :)
 
Пожалуйста.
*** скрытое содержание ***
Импорт из файла происходит с помощью upload, так что есть ограничение на размер загружаемого файла в настройках php.ini хостера. По дефолту стоит 2 Мб.
И ещё, при импорте удоляются повторяющиеся ссылки.
Будь добр выложи ещё раз, ссылка померла:bc:
 
Спасибо вам большое за ту работу, которую вы делаете! :)
 
Штука рабочая. Но требует доводки молотком. Например по поводу прокси:

Код:
         foreach ($furls as $url)
{$content.=file_get_contents(trim($url) );}

То есть добавить trim($url), иначе прокси не получите. А в начале написать

Код:
set_time_limit(0);

Для бесконечного времени выполнения, или сколько секунд на отработку даете.

А спамилка на самом деле примитивная: если есть изменяемое hidden поле, то спамилка никогда не пробьет такую форму, хоть как извращайся.

Речь о той, что в свободном доступе лежала. Не знаю что там после 40 сообщений раздают, но 200 за это чудо явно многовато.

У меня с ней тоже проблемы были, в ней много недоработок, в том числе и в плане нестабильности многопоточности.
 
Вот правленные мной index.php и function.php, а то раньше в упор не хотело загружать базу из файла и отображать данные.
Не забываем жать спасибо ;)

index.php:
Код:
<?php
/*
##     Релиз выпущен Nulled.WS - Nulled Warez Scripts
##     Команда: GriZone, Nosferatu, Zeratul
##     Наш сайт: http://Nulled.WS/
##     Наш форум: http://Nulled.WS/Forum/
##     Пожалуйста не стирайте данный текст!
*/
include 'config.php';
set_time_limit(0);
$version='';


if(substr(PHP_OS,0,3)!='WIN')
{
    // проверка на совместимость хостинга
    if(!function_exists('curl_multi_init'))
            mdie('Не установлен curl или версия php < 5');
    if(!is_writeable('tmp'))
            mdie('Не установлены права на запись на папку tmp');
}
else
        //msg('Под windows спамилка не будет работать');
    ;


$mods=glob('mod/*.php');
foreach($mods as $mod)
        include $mod;

$proxy_total_count=countrec('proxy');


if(!isset($_GET['s']) || $_GET['s']=='profiles')
{
    $page_title='Профили';
    if(isset($_POST['save']))
    {
        if(strlen($_POST['add']['name'])>0)
                ins('profiles',$_POST['add']);

        foreach($_POST['name'] as $id=>$name)
        {
            upd('profiles',array(
                    'name'=>$_POST['name'][$id],
                    'base'=>$_POST['base'][$id],
            ),'id='.i($id));

            if(strlen($name)<=0)
                    q("DELETE FROM `profiles` WHERE `id`=".i($id));
        }
        refresh();
    }
    $profiles=rows("SELECT * FROM `profiles`");

    $tpl='profiles';
}
elseif($_GET['s']=='fields')
{
    $pid=i($_GET['profile_id']);
        $profile=row("SELECT * FROM `profiles` WHERE id=$pid");

    $page_title='Поля профиля '.$profile['name'];

    if(isset($_GET['clearflds']))
    {
        q('DELETE FROM `fields` WHERE `profile_id`='.$pid);
        refresh('?s=fields&profile_id='.$pid);
    }

    if(isset($_POST['save']))
    {

        if(strlen($_POST['add']['name'])>0)
        {
            $_POST['add']['profile_id']=$pid;
            ins('fields',$_POST['add']);

        }

        foreach($_POST['name'] as $id=>$name)
        {
            upd('fields',array(
                'name'=>$_POST['name'][$id],
                'value'=>$_POST['value'][$id],
            ),'id='.i($id));

            if(strlen($name)<=0)
                    q("DELETE FROM `fields` WHERE `id`=".i($id));
        }
        refresh();
    }
    if(isset($_POST['makeflds']))
    {
        $form=file_get_contents($_POST['formurl']);
        preg_match("#<form.*>(.*)</form>#isU",$form,$ret);
        $form=$ret[1];

        preg_match_all("#<input.*>#isU",$form,$inputs);



        foreach ($inputs[0] as $n=>$input)
        {

                preg_match("#type=[\"']{0,1}([a-z]{4,10})[\"']{0,1}#i",$input,$ret);
                if(isset($ret[1]))
                        $flds[$n]['type']=$ret[1];
                else
                        $flds[$n]['type']='text';

                if(preg_match("#name=[\"']{0,1}([a-z_]{1,20})[\"']{0,1}#i",$input,$ret))
                $flds[$n]['name']=$ret[1];

                if(preg_match("#value=[\"']{0,1}([a-z_ 0-9]{1,25})[\"']{0,1}#i",$input,$ret))
                $flds[$n]['value']=$ret[1];
        }

        if(preg_match("#<textarea.*name=[\"']{0,1}([a-z_]{4,20})[\"']{0,1}.*>.*</textarea>#is",$form,$txtar))
        {
                $flds[$n+1]['type']='text';
                $flds[$n+1]['name']=$txtar[1];
        }



        $names=array();

        foreach ($flds as $fld)
        {
            if($fld['type']=='reset' || $fld['name']=='' || in_array($fld['name'],$names) )
                    continue;
            elseif($fld['type']=='hidden' ||
            $fld['type']=='submit' ||
            $fld['type']=='radio')
            ins('fields',array(
            'profile_id'=>$pid,
            'name'=>$fld['name'],
            'value'=>$fld['value'],
            ));

            elseif($fld['type']=='checkbox')
                    continue;

            elseif($fld['type']=='text')
            {
                $newval='';

                if(strpos($fld['name'],'name')!==false)
                        $newval='do:rand(names.txt)';
                if(strpos($fld['name'],'mail')!==false)
                        $newval='do:rand(emails.txt)';
                if(strpos($fld['name'],'town')!==false || strpos($fld['name'],'city')!==false  )
                        $newval='do:rand(citys.txt)';
                if(strpos($fld['name'],'state')!==false)
                        $newval='do:rand(states.txt)';
                if(strpos($fld['name'],'country')!==false || strpos($fld['name'],'locati')!==false)
                        $newval='do:rand(countrys.txt)';

                if($newval=='')
                        $newval='$';

                ins('fields',array(
                'profile_id'=>$pid,
                'name'=>$fld['name'],
                'value'=>$newval,
                ));
            }
            $names[]=$fld['name'];
        }
        refresh();
    }

    $fields=rows("SELECT * FROM `fields` WHERE `profile_id`=".$pid);
        $tpl='fields';
}
elseif($_GET['s']=='messages')
{
    $page_title='Добавление сообщения для рассылки ';

    $profiles=rows("SELECT * FROM `profiles`");
    if(!isset($_GET['pid']))
            refresh('?s=messages&pid='.$profiles[0]['id']);
    else
    {
        $pid=i($_GET['pid']);
        $profile=row("SELECT * FROM `profiles` WHERE id=$pid");
        $fields_rec=rows("SELECT * FROM `fields` WHERE `profile_id`='$pid' AND `value`='$'");

        if(isset($_POST['save']))
        {
            $fields=rows("SELECT * FROM `fields` WHERE `profile_id`='$pid'");
            $post_data='';
            foreach($fields as $n=>$fld)
            {
                if($fld['value']=='$')
                {
                    $value=$_POST['values'][$fld['name']];
                }
                elseif(preg_match("#do\:([a-z0-9_]{2,20})\((.*)\)#",$fld['value'],$ret))
                {
                    $action=$ret[1];
                    $action_args=$ret[2];
                    $call='mod_'.$action;
                    if(function_exists($call))
                        $value=$call($action_args);
                    else
                        $value='Error at call '.$call;
                }
                else
                    $value=$fld['value'];

                $post_data.=$fld['name'].'='.urlencode($value).'&';
            }
            $base_urls=rows("SELECT * FROM `base` WHERE `profile_id`=$pid");
            foreach( $base_urls as $url)
            {

                if($url['url']=='')continue;

                ins('send',array(
                    'url'=>$url['url'],
                    'post'=>$post_data,
                    'proxy'=>(int)isset($_POST['proxy']),
                ));
            }

            refresh();

        }
    }
    $tpl='messages';
}
elseif($_GET['s']=='stat')
{
    $count_send=countrec('send');
    $page_title='Состояние ';
    $tpl='stat';
}
elseif($_GET['s']=='base')
{
    unset($base_urls);
    $base_urls = array();
    unset($good_urls);
    $good_urls = array();
    unset($die_urls);
    $die_urls = array();

    $profile_id=i($_GET['profile_id']);
    $profile=row("SELECT * FROM `profiles` WHERE `id`=$profile_id");
    $count_u=mysql_num_rows(q("SELECT * FROM `base` WHERE `profile_id`=$profile_id"));
    $count_du=mysql_num_rows(q("SELECT * FROM `base` WHERE `profile_id`=$profile_id AND `status`='bad'"));

    $page_title='База профиля '.$profile['name'];

    if(isset($_POST['showall']))
    {
#        if(is_array($base_urls))
        $base_urls=rows("SELECT * FROM `base` WHERE `profile_id`=$profile_id");
        foreach($base_urls as $url)
                echo $url['url'].'<br>';
        exit;
    }
    elseif(isset($_POST['showgood']))
    {
#        if(is_array($good_urls))
        $good_urls=rows("SELECT * FROM `base` WHERE `profile_id`=$profile_id AND `status`='good'");
        foreach($good_urls as $url)
                echo $url['url'].'<br>';
        exit;
    }
    elseif(isset($_POST['showbad']))
    {
#        if(is_array($die_urls))
        $die_url=rows("SELECT * FROM `base` WHERE `profile_id`=$profile_id AND `status`='bad'");
        foreach($die_urls as $url)
                echo $url['url'].'<br>';
        exit;
    }
    elseif(isset($_POST['delbad']))
    {
            q("DELETE FROM `base` WHERE `profile_id`=$profile_id AND `status`='bad'");
        refresh();
    }
    elseif(isset($_POST['delall']))
    {
        q("DELETE FROM `base` WHERE `profile_id`=$profile_id");
        refresh();
    }
    elseif(isset($_POST['updb']))
    {
            unset($lines);
            $lines = array();
            $lines=file($_FILES['db']['tmp_name']);
        if(isset($_POST['clear']))
                q("DELETE FROM `base` WHERE `profile_id`=$profile_id");
#        if(isset($lines[0]) && strlen($lines[0])>0)
#                $q='INSERT INTO `base` (`url`,`profile_id`) VALUES (\''.addslashes(esc(trim($lines[0]))).'\','.$profile_id.')';
#        q(addslashes($q));
#        unset($lines[0]);
        foreach($lines as $line)
        {
            $line=addslashes(trim($line));
            if(strlen($line)>0) {
                $q="INSERT INTO `base` (`url`,`profile_id`) VALUES ('$line','$profile_id')";
                q($q);
            }
        }
        refresh();
    }
    elseif(isset($_POST['indb']))
    {
            unset($lines);
            $lines = array();
                $lines=explode("\n",$_POST['db']);
        if(isset($_POST['clear']))
                q("DELETE FROM `base` WHERE `profile_id`=$profile_id");
#        if(isset($lines[0]) && strlen($lines[0])>0)
#            $q='INSERT INTO `base` (`url`,`profile_id`) VALUES (\''.addslashes(esc(trim($lines[0]))).'\','.$profile_id.')';
#        q(addslashes($q));
#        unset($lines[0]);
        foreach($lines as $line)
        {
            $line=addslashes(trim($line));
            if(strlen($line)>0) {
                $q="INSERT INTO `base` (`url`,`profile_id`) VALUES ('$line','$profile_id')";
                q($q);
            }
        }
        refresh();
    }
    $tpl='base';
}
elseif($_GET['s']=='proxy')
{
        $page_title='Прокси ';

        $tpl='proxy';

        if(isset($_GET['do']) &&  $_GET['do']=='clear')
        {
            q("TRUNCATE `proxy`");
            $out='Список прокси успешно очищен';
        }
        elseif(isset($_GET['do']) &&  $_GET['do']=='search')
        {
            $furls=file('data/-find_proxy.txt');
            $content='';
            foreach ($furls as $url)
                    $content.=file_get_contents(trim($url));

            preg_match_all("#[0-9\.]{7,15}\:[0-9]{2,5}#is",$content,$ret);

            foreach($ret[0] as $prox)
            {
                $e=explode(':',$prox);
                ins('proxy',array(
                'ip'=>$e[0],
                'port'=>$e[1],
                ));
            }
            refresh('?s=proxy');
        }

}


error_reporting(E_ERROR);
chdir('tpl');
include $tpl.'.htm';
/*   5
##                      Nulled.WS
##                 Nulled Warez Scripts
##          Team: Zeratul, Grizone, Nosferatu
*/
?>

function.php:
Код:
<?
/*
##     Релиз выпущен Nulled.WS - Nulled Warez Scripts
##     Команда: GriZone, Nosferatu, Zeratul
##     Наш сайт: http://Nulled.WS/
##     Наш форум: http://Nulled.WS/Forum/
##     Пожалуйста не стирайте данный текст!
*/
function connect()
{
        global $link;
        if($link=mysql_connect(DBHOST,DBUSER,DBPASS))
                if(mysql_select_db(DBNAME,$link))
                {
                        q("set names utf8");
                        return true;
                }
                else
                        return false;
        else
                return false;
}

function i($i){return intval($i);}



function debug($s)
{
        if(DEBUG)
    {
        echo '<!-- ';
            if(is_array($s))
            {
            echo "\r\n";
            print_r($s);
            echo "\r\n";
        }
            else
                    echo $s;
            echo ' -->'."\r\n";
        }
}



function q($q)
{
        global $link;
        if(!$link)
                connect();
        if($res=mysql_query($q,$link))
                debug($q);
        else
                debug($q.' !FAIL! '.mysql_error());
        return $res;

}

function row($q)
{

        return mysql_fetch_assoc(q($q));


}

function ins($table,$data)
{
        global $link;
        $q='INSERT INTO `'.$table.'`(';
        $n=0;
        foreach($data as $key=>$value)
        {
                $q.="`".$key."`";
                if($n<(count($data)-1))
                        $q.=',';
                $n++;
        }
        $q.=')VALUES(';
        $n=0;
        foreach($data as $key=>$value)
        {
                $q.="'".esc($value)."'";
                if($n<(count($data)-1))
                        $q.=',';
                $n++;
        }
        $q.=')';

        q($q);
        return mysql_insert_id($link);
}


function upd($table,$data,$cond='')
{
        $q='UPDATE `'.$table.'` SET ';
        $n=0;
        foreach($data as $key=>$value)
        {
                $q.="`".$key."`='".esc($value)."'";
                if($n<(count($data)-1))
                        $q.=',';
                $n++;
        }
        $q.=' WHERE '.$cond;
        q($q);
}

function countrec($table,$conditions='',$sql='')
{
        if($conditions!="") $conditions=" WHERE $conditions";
    if($sql=='')$sql="SELECT COUNT(*) FROM `$table` $conditions";
        $res=row($sql);
        return i(@$res['COUNT(*)']);
}


function rows($q)
{
        global $link;
        $res=q($q);
        while(@$a=mysql_fetch_assoc($res))
                @$result[]=$a;


        return @$result;

}

function exf($t,$f,$v)
{
        $rows=rows("SELECT * FROM $t WHERE `$f`='".esc($v)."'");
        if(count($rows>0))
                return $rows[0];
        else
                return false;


}
// Р?Р+С?Р·Р°С'РчР>С?Р?Р? esc() Р?Р>С? $cond
function dinc($t,$f,$cond)
{
        q("UPDATE `$t` SET `$f`=`$f`+1 WHERE $cond");

}

function ddec($t,$f,$cond)
{
        q("UPDATE `$t` SET `$f`=`$f`-1 WHERE $cond");

}

function esc($s){return mysql_escape_string($s);}

function hesc($s){return htmlspecialchars($s);}

function mm($s,$min,$max)
{
        if(strlen($s)>$min && strlen($s)<$max)
                return true;
        else
                return false;
}



function refresh($url=false)
{
    $url=$url?$url:$_SERVER['REQUEST_URI'];
        header('Location: '.$url);
        exit;
}


function fpc($name,$data)
{
        $fp=fopen($name,'w');
        fputs($fp,$data);
        fclose($fp);

}

function fac($name,$data)
{
        $fp=fopen($name,'a');
        fputs($fp,$data);
        fclose($fp);

}

function wlog($str)
{
        echo $str."\n";
        ob_flush();
        fac('logs/'.date('d.m.y').'.log','['.date('H:i:s').'] => '.$str."\n");
        return true;

}

function mdie($msg)
{

                die("<font color=red>$msg</font>");
}

function msg($msg)
{

                echo("<script> alert('$msg')</script>");
}

function parse_form($form)
{
}


include'inc/http.php';
//include'inc/google.php';

if(!connect())
        mdie('Не удаётся соеденится с БД');

/*
##                      Nulled.WS
##                 Nulled Warez Scripts
##          Team: Zeratul, Grizone, Nosferatu
*/
?>
 
  • Нравится
Реакции: che4
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху