Сетка ЖЖ с автопостингом

1 234
Hedgehog1o
На сайте с 14.06.2009
Offline
40
#21
waal:
около 200 рег :)

угу, неактивированных...

с левым гмаил мылом...

все с датой рождения 10 апреля 1981 года...

допиливать и допиливать

Дроп-домены с ТИЦ от 5$ (http://t.co/4JWuowQ6o7) - зарегистрироваться и получить список освобождающихся доменов
W
На сайте с 24.07.2009
Offline
21
#22
Hedgehog1o:
угу, неактивированных...
с левым гмаил мылом...
все с датой рождения 10 апреля 1981 года...
допиливать и допиливать

вы хотите чтоб я выложил нормальный код ? с подключенной БД , подтверждением по мылу , с авторегой и автопостером по крону ?

p/s Было бы забавно. :) Что во мне переборет. Не любовь к пабле. Или задор от темы :)

waal добавил 28.11.2010 в 00:50

А да.... мыло , дата реги и прочее. Проблемма. :) Сверх...... даже так.

Палююю тему. пишем что-то типа антирега. Для себя.

Идем на любой хостинг. смотрим чтоб письма с несуществующих адресов перенаправлялось на существующий. Вяжем домен на хостинг. прописываем ящик к примеру antireg@ваш-домен.ru

Сборщика всех НЕСУЩЕСТВУЮЩИХ адресов перенаправляем на antireg@ваш-домен.ru

прописываем в скрипте автореги

$result = post('https://www.livejournal.com/create.bml','lj_form_auth='.$lj_form_auth[1].'&Widget%5BCreateAccount%5D_user='.$login.'&Widget%5BCreateAccount%5D_email='.$login.'%40ваш-домен.ru&Widget%5BCreateAccount%5D_password1='.$password.'&Widget%5BCreateAccount%5D_password2='.$password.'&Widget%5BCreateAccount%5D_gender=M&Widget%5BCreateAccount%5D_bday_mm=4&Widget%5BCreateAccount%5D_bday_dd=10&Widget%5BCreateAccount%5D_bday_yyyy=1981&recaptcha_challenge_field='.$captcha[1].'&recaptcha_response_field='.$text.'&Widget%5BCreateAccount%5D_news=1&Widget%5BCreateAccount%5D_submit=Create+Account','https://www.livejournal.com/create.bml');

подрубаете на хостере

<?php
class wspPop3
{
var $fs;
var $twt;
var $Error;

function wspPop3()
{
$this->twt = 5;
$this->fs = false;
$this->Error = '';
}

// читать из потока
function Read(&$buff, $lst=false, $lim=4096)
{
$this->Error = 'Не открыт ящик';
if (!$this->fs)
return false;
$this->Error = 'Нет данных в потоке';
if(feof($this->fs))
return false;
while(!preg_match("/\r\n/", $str))
$str = fread($this->fs, $lim);
if($str[0] !== '+')
{
$this->Error = 'Ошибка: '.$str;
return false;
};
if (!$lst)
{
$buff = $str;
return true;
};

while(!preg_match("/.*(\r\n\.\r\n).*/", $str))
$str = $str.fread($this->fs, $lim);
$buff = explode("\r\n", $str);
while((count($buff) > 1)and($buff[count($buff)-1] != '.'))
unset($buff[count($buff)-1]);
if ($buff[count($buff)-1] == '.')
unset($buff[count($buff)-1]);
return true;
}

// запись в поток и возврат вывода
function Write($snd, &$buff)
{
$this->Error = 'Не открыт ящик';
if (!$this->fs)
return false;

$cmd = explode(' ', $snd);
foreach($cmd as $key => $val)
$cmd[$key] = strtoupper(trim($val));

$buff = '';
$snd = trim($snd)."\r\n";
if(!fwrite($this->fs, $snd))
{
$this->Error = 'Ошибка отсылки команды серверу';
return false;
};

$lst = ((($cmd[0] == "RETR")and(intval($cmd[1]) > 0))or
(($cmd[0] == "LIST")and(!isset($cmd[1])))or
(($cmd[0] == "TOP")and(intval($cmd[1]) > 0)and(intval($cmd[2]) > 0)));
return $this->Read(&$buff, $lst);
}

// открыть ящик
function Open($srv, $usr, $pwd, $auto=true, $port=110, $tm=30)
{
if($this->fs)
{
if(!$auto)
{
$this->Error = 'Подключение уже выполнено';
return false;
};
$this->Close();
};

$this->fs = fsockopen($srv, $port, $errno, $errstr, $tm);
if(!$this->fs)
{
$this->Error = 'Ошибка подключения к почтовому серверу '.$errstr.' ('.$errno.')';
return false;
};
$inf = null;
if (!$this->Read(&$inf))
{
$this->Close();
$this->Error = 'Ошибка получения информации от сервера';
return false;
};

$buff = null;
$snd = "USER ".$usr;
if(!$this->Write($snd, &$buff))
return false;

$snd = "PASS ".$pwd;
if(!$this->Write($snd, &$buff))
return false;

$this->Error = "";
return true;
}
// закрыть работу с ящиком
function Close()
{
$buff = null;
$this->Write("QUIT", &$buff);
if($this->fs)
fclose($this->fs);
$this->fs = false;
}

// список писем
function Lst(&$lst)
{
$this->Error = 'Не открыт ящик';
if (!$this->fs)
return false;
$buff = null;
if(!$this->Write("LIST", &$buff))
return false;
for($i=1; $i<count($buff); $i++)
$lst[$i] = explode(' ', $buff[$i], 2);
return true;
}

// чтение письма
function GetMail($id, &$head, &$text, $del=false)
{
$this->Error = 'Не открыт ящик';
if (!$this->fs)
return false;
$buff = null;
if(!$this->Write("RETR ".$id, &$buff))
return false;

$i = 1;
while(strlen($buff[$i]) > 0)
$head[] = $buff[$i++];
$i++;
while($i < count($buff))
$text[] = $buff[$i++];

if($del)
$this->Write("DELE ".$id, &$buff);
return true;
}

};


$pop3 = new wspPop3();
$opn = $pop3->Open('ip-pop3', 'login', 'pass'); // !!! ПОСТАВИТЬ нужные данные
if ($opn)
{
$head = null;
$text = null;
$mls = array();
$pop3->Lst(&$mls);
foreach($mls as $key => $val)
{
$head = null; $text = null;
if($pop3->GetMail($key, &$head, &$text, false))
ToBase($head, $text);
echo '<hr>';
};

};

$pop3->Close();
unset($pop3);



// функция обработки письма - в частности - занесение в БД
function ToBase($head, $text)
{
// сам процесс занесения информации в БД
$from = null;
foreach($head as $key => $val)
{
if (preg_match("/From/i", $val))
$from = htmlspecialchars($val);
};
echo '<b>'.$from.'</b> <div style="border:1px solid #FF0000">'.nl2br(htmlspecialchars(implode("\r\n", $text)))."</div>";
};
?>

юзаете мобильный антирег. и без палева :)

waal добавил 28.11.2010 в 01:03

p/s В личке уже просьбы чтоб выложил все.

Народ. хз. Вроде тема еще не мертва :) Опять залез на "этот серч" :)

автопостер выложу. Пожее. Но он по сути мало что решает. Самое "сложное" найти контент и поставить всю сетку на автомат. Если сможете это - то остальное для вас "орешки" , а если нет. То этот код мало что порешает :) как-то-так

Конверт 253$/1k - здесь (http://tinyurl.com/3xtjr7e)!
Hedgehog1o
На сайте с 14.06.2009
Offline
40
#23
waal:
Самое "сложное" найти контент и поставить всю сетку на автомат. Если сможете это - то остальное для вас "орешки" , а если нет. То этот код мало что порешает :) как-то-так

Первая за весь офтоп здравая мысль :)

а код выкладывайте, я думаю это многим интересно будет

Newmanseo
На сайте с 02.02.2010
Offline
71
#24

как вы индексируете сетку?

Сгенерировать и импортировать.
Hedgehog1o
На сайте с 14.06.2009
Offline
40
#25
Newmanseo:
как вы индексируете сетку?

внутренняя рандомная перелинковка между постами

АП ТИЦ показал, что одни нулевые ЖЖ на другие ЖЖ тица по таким ссылкам не дали (по крайней мере за этот срок и на этом количестве).

За 2 месяца эксплуатации из 500 шт засуспенжено 2%, в бане яндекса 2%

M0
На сайте с 17.07.2009
Offline
236
#26

Заказал и получил 100 жж с постом, все сделано оперативно и на достойном уровне.

Теперь буду развивать свои блоги.

Скупка компьютеров, мониторов и другой оргтехники 1 ( http://www.lompb.ru/besplatnay-utilizaziy-orgtehniki.htm )
Nikolaevichhhh
На сайте с 15.11.2010
Offline
72
#27

автопостер бы еще увидеть.

appear suddenly
Hedgehog1o
На сайте с 14.06.2009
Offline
40
#28
Nikolaevichhhh:
автопостер бы еще увидеть.

я его видел, поверьте на слово - красивый 🚬

Допиливаю версию до автосборки контента и автопубликации (сейчас работает с заранее подготовленным текстом)

W
На сайте с 24.07.2009
Offline
21
#29
Nikolaevichhhh:
автопостер бы еще увидеть.

Мда.....

Рабочий тут .... даже два.

скачать библиотеку тут

<?php
//подключаем библиотеку
include_once 'xml-rpc/lib/xmlrpc.inc';
//выставляем внутреннюю кодировку,
//чтоб не было проблем с перекодированием
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
header('Content-type:text/html;charset=utf-8');

//логин и пароль к ЖЖ
$u_name = '';
$u_pass = '';

//обращаемся к www.livejournal.com/interface/xmlrpc
$lj = new xmlrpc_client(
'/interface/xmlrpc','www.livejournal.com',80);
//кодировка клиента
$lj->request_charset_encoding = 'UTF-8';
//чтоб возвращал в виде php-переменных
$lj->return_type = 'phpvals';
//если нужен дебаг
//$lj->setDebug(3);

//получаем chellange
$chellange = $lj->send(
new xmlrpcmsg('LJ.XMLRPC.getchallenge'));
if($chellange->faultCode()){
die(
'Невозможно получить chellange:'.
$chellange->faultString());
}
$c = $chellange->value();

//собираем данные для поста
$data = array();
//имя пользователя
$data['username'] = new xmlrpcval($u_name,'string');
//метод аутентификации: clear, cookie или challenge
$data['auth_method'] = new xmlrpcval('challenge','string');
//строка с challenge
$data['auth_challenge'] = new xmlrpcval($c['challenge'],'string');
//шифруем пароль
$data['auth_response'] = new xmlrpcval(
md5($c['challenge'] . md5($u_pass)),'string');
//версия протокола 0 или 1
//если используется 1, то все данные должны
//быть в кодировке UTF-8
$data['ver'] = new xmlrpcval('1','string');
//символ перевода строк \n или \r\n
$data['lineendings']=new xmlrpcval("\n",'string');
//название поста в UTF-8
$data['subject'] = new xmlrpcval(
mb_convert_encoding('Тестовый постинг в жж' ,
'UTF-8','UTF-8'),'string');
//текст поста в UTF-8
$data['event'] = new xmlrpcval(
mb_convert_encoding(
'Это первый тестовый пост в жж с помощью xml 0_o , тру ля-ля','UTF-8','UTF-8'),'string');
//дата
$data['day'] = new xmlrpcval(date('d'),'string');
$data['mon'] = new xmlrpcval(date('m'),'string');
$data['year'] = new xmlrpcval(date('Y'),'string');
$data['hour'] = new xmlrpcval(date('H'),'string');
$data['min'] = new xmlrpcval(date('i'),'string');
//доступ к посту публичный
$data['security'] = new xmlrpcval('public','string');
//некоторые мета-данные
$data['props'] = new xmlrpcval(array(
//true, если пост в отформатирован в html
'opt_preformatted' => new xmlrpcval(true,'boolean'),
//true, если запись добавляем задним числом
'opt_backdated' => new xmlrpcval(true,'boolean'),
//список тегов через запятую в UTF-8
'taglist' => new xmlrpcval(
mb_convert_encoding('постинг,библиотеки,xml',
'UTF-8','UTF-8'),'string'),
),'struct');
$d = new xmlrpcval($data,'struct');
//вызываем процедуру LJ.XMLRPC.postevent
$result = $lj->send(new xmlrpcmsg(
'LJ.XMLRPC.postevent', array($d)),0,'http11');
//если произошла ошибка, то сообщаем об ошибке
if($result->faultCode()){
die('Ошибка постинга:'.$result->faultString());
}
//если все нормально, то сервер вернет
//структуру с 3-мя переменными:
//itemid - идентификатор поста
//url - URL-адрес поста
//anum - аутентификационный номер,
//созданный для этой записи
$p_data = $result->value();
echo 'Пост успешно добавлен. Прочитать его можно'.
' <a href="'.$p_data['url'].
'" target="_blank">здесь</a><br />';
echo $p_data['anum']."<br />";
echo $p_data['itemid']."<br />";
?>

пример постинга

p/s Журнал должен быть активирован по мылу.

Hedgehog1o
На сайте с 14.06.2009
Offline
40
#30
waal:
Рабочий тут .... даже два.

Это просто постер, но таки да- несколько правильных кликов и будет авто.

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий