[Скрипт под Human Emulator] Авторегер ftp на narod.ru

12
Z
На сайте с 15.09.2008
Offline
64
4051

Скрипт регистрирует ftp аккуанты на сервисе narod.ru. Скрипт работает через сервис Antigate, поэтому каптчу вводить ручками не надо. После того как скрипт зарегистрировал аккуант, он соединяется с хостингом и заливает файл index.html, только после того как файл будет успешно загружен на сервер, данные для доступа к ftp записываются в файл narod.txt.

Для корректной работы скрипта необходимо на локальном диске C:\ создать файл index.html. Скрипт поддерживает прокси.



<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");


// Antigate API KEY
$ac = "";

$browser->enable_proxy("all connections","выш прокси адрес");

$nick = $submitter->generate_random_nick_name(9);
$name = $submitter->generate_random_name("RU");
$fname = $submitter->generate_random_second_name("RU");
$pass = $submitter->generate_random_nick_name(8);



$browser->clear_cookies("");
$browser->clear_cash();
$browser->clear_history();
$browser->clear_address_bar_history();

$browser->navigate('http://narod.yandex.ru/');
$browser->wait_for(60,1);


$anchor->click_by_inner_text('Создайте свой сайт',true);
$browser->wait_for(60,1);

$anchor->click_by_inner_text('Зарегистрироваться',true);
$browser->wait_for(60,1);

$input->set_value_by_name('iname',$name);
$browser->wait_for(60,1);

$input->set_value_by_name('fname',$fname);
$browser->wait_for(60,1);

$input->set_value_by_name('login',$nick);
$browser->wait_for(60,1);

$button->click_by_name('done');
$browser->wait_for(60,1);

$input->set_value_by_name('passwd',$pass);
$input->set_value_by_name('passwd2',$pass);

$listbox->select_name_by_inner_name('hintq','2');

$input->set_value_by_name('hinta','фундю');


$image->save_to_file_by_number(2,"C:/temp/captcha.jpg");
$captcha= $image->recognize_by_anticaptcha("", "C:/temp/captcha.jpg",$ac,"http://antigate.com/");


$input->set_value_by_name('code',$captcha);

$button->click_by_name('newform');
$browser->wait_for(60,1);


sleep(5);


$browser->navigate('http://narod.yandex.ru/disk/narod/');
$browser->wait_for(60,1);




if($anchor->click_by_inner_text('Выход',true)){
$browser->wait_for(60,1);




if ($ftp->connect("ftp.narod.ru","$nick","$pass",21,false)){


if ($ftp->put_file("ftp.narod.ru","C:\index.html","index.html")){


$fp = fopen ("narod.txt", "a+");
fwrite ($fp, "ftp.narod.ru;$nick;$pass\r\n");
fclose ($fp);



}



$ftp->disconect("ftp.narod.ru");


}



}











// Quit
$app->quit();
?>


P.S. Пишу скрипты под Human Emulator. E-mail: zircool@inbox.ru

T
На сайте с 13.01.2009
Offline
50
#1

Напишу тоже самое, только с использыванием curl и без всякой херни, типо Human Emulatoe

TAFF
На сайте с 28.08.2008
Offline
140
#2

Troytft, У Вас есть опыт написания многопоточных скриптов с использованием Curl и соксов?

✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
V
На сайте с 14.08.2010
Offline
2
#3

Напишу то же самое на python без использования всякой херни типа PHP :D

Опыт использования curl и socks-проксей есть.

Пишу скрипты на PHP, python, ruby (/ru/forum/531834)
J4
На сайте с 21.05.2009
Offline
99
#4

Пишите, ждем кода в топике)))

T
На сайте с 13.01.2009
Offline
50
#5

TAFF, многопоточных - нет, парсерами почти не занимаюсь, в основном разработка сайтов на фрейморках своем/Yii

C
На сайте с 15.07.2008
Offline
59
#6
TAFF:
Troytft, У Вас есть опыт написания многопоточных скриптов с использованием Curl и соксов?

А что конкретно необходимо - можно в ЛС подробности. Возможно смогу вам помочь.

V
На сайте с 14.08.2010
Offline
2
#7
Пишите, ждем кода в топике)))

Пожалуйста. Правда по FTP яндекс меня не пущает, я не знаю почему. Мне неинтересно выяснять т.к. эту байду я just for fun писал :)



# -*- coding: utf-8 -*-
from grab import Grab
import logging
import re
import time
from ftplib import FTP

from tools import account
from tools.captcha.antigate import solve_captcha
import settings

def main():
acc = {}
g = Grab()
g.setup(log_dir='dumps', log_file='dumps/log.html')
g.request(url='http://narod.yandex.ru/')
g.follow_link(u'Создайте свой сайт')
g.follow_link(u'Зарегистрироваться')
g.set_input('iname', account.random_ru_fname())
g.set_input('fname', account.random_ru_lname())
acc['login'] = account.random_login()
g.set_input('login', acc['login'])
while True:
g.submit()
if g.search_rex('логин.*?уже.*?занят', re.S):
acc['login'] = account.random_login()
g.set_input('login', acc['login'])
else:
break

password = account.random_password()
acc['password'] = password
g.set_input('passwd', password)
g.set_input('passwd2', password)
g.set_input('hintq', '1')
g.set_input('hinta', account.random_ru_lname())

g2 = None
while True:
if g2 is None or g.search(u'неправильно ввели контрольные'):
g2 = g.clone()
g2.request(url=g.xpath('//img[@class="captcha-img"]')[0].get('src'))
solution = solve_captcha(settings.ANTIGATE_KEY, g2.response_body)
g.set_input('code', solution)
g.submit('newform')
if g.search(u'Поздравляем'):
break

time.sleep(5)
g.request(url='http://narod.yandex.ru/disk/narod/')

ftp = FTP('ftp.narod.ru')
ftp.set_debuglevel(2)
ftp.login(acc['login'], acc['password'])
ftp.storbinary('STOR index.html', StringIO('Preved Medved!'))
open('var/narod.txt', 'a').write('ftp.narod.ru;%s;%s\n' % (acc['login'], acc['password']))

logging.debug('Done')

if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format='%(message)s')
main()
TAFF
На сайте с 28.08.2008
Offline
140
#8
verdegal:
Правда по FTP яндекс меня не пущает, я не знаю почему.

Первый конект должен идти через обычный FTP клиент, второй уже может идти через скрипты

Orangesoda
На сайте с 22.08.2010
Offline
17
#9

А я на Java могу, но просто так писать не буду =)

[Удален]
#10

ну и калл ваш хуман .. интерфейс именования функций полный русский матерный словец ...

bearman добавил 23.08.2010 в 00:35

многопоточный регер - интересно :)

но не на хумане, он как и любой паразит жрет дофига :D

12

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