Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Request = require('request');
- var MongoClient = require('mongodb').MongoClient;
- var cheerio = require('cheerio');
- var randomUseragent = require('random-useragent');
- var proxyChecker = require('./proxy_checker.js');
- var prompt = require('prompt');
- require('console-png').attachTo(console);
- var proxies = 0;
- var phantom = require("phantom");
- var _ph, _page, _outObj;
- var Horseman = require('node-horseman');
- var horseman = new Horseman();
- var owners = {};
- proxyChecker.checkProxiesFromFile(
- // The path to the file containing proxies
- 'proxy.txt',
- {
- // the complete URL to check the proxy
- url: 'https://login.aliexpress.com/join/buyer/expressJoin.htm?spm=2114.11020108.0.0.irtHVf&cc=&return=https%3A%2F%2Fru.aliexpress.com%2Fru_home.htm',
- // an optional regex to check for the presence of some text on the page
- regex: /confirm-password-ph/,
- timeout: 5000
- },
- // Callback function to be called after the check
- function(host, port, ok, statusCode, err) {
- if(ok) {
- proxies++;
- //if(proxies == 1)
- createAccount(host+":"+port);
- }
- }
- );
- setInterval(function() {
- console.log('Working proxies: '+proxies);
- }, 30000);
- var accounts;
- MongoClient.connect('mongodb://127.0.0.1:27017/aliexpress', function (err, db) { // Подключаемся к БД
- accounts = db.collection('accounts');
- });
- var a = {"Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"a","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"i","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"i","б":"b","ю":"yu"};
- function transliterate(word){
- return word.split('').map(function (char) {
- return a[char] || char;
- }).join("");
- }
- var createAccount = function(proxy) {
- var _jar = Request.jar();
- var request = Request.defaults({"jar": _jar, "timeout": 50000, "gzip": true, "proxy" : "http://"+proxy});
- var useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36';
- request.get({
- headers: {'Referer' : 'https://aliexpress.com/', 'User-Agent': useragent},
- uri: 'https://login.aliexpress.com/join/buyer/expressJoin.htm?spm=2114.11020108.0.0.irtHVf&cc=&return=https%3A%2F%2Fru.aliexpress.com%2Fru_home.htm'
- }, function(err, response, body) {
- if(!body) {
- console.log("No body");
- proxies--;
- return;
- }
- var $ = cheerio.load(body);
- var csrf = $('[name=_csrf_token_]').attr('value');
- var u_token = $('[name=u_token]').attr('value');
- var pageId = (new Date() - 0 + '' + Math.floor((Math.random() * 1000)));
- var csi = $('[name=_csi_]').attr('value');
- Request.get('http://randus.ru/api.php', function(err, response, body) {
- if(!body) {
- createAccount(proxy);
- return;
- }
- body = JSON.parse(body);
- var f_name = transliterate(body.fname);
- var l_name = transliterate(body.lname);
- var username = body.login;
- var password = body.password;
- //var useragent = randomUseragent.getRandom();
- var body = '_csrf_token_='+csrf+'&action=buyer%2Fmain_buyer_register_action&event_submit_do_buyer_register=anything&from=&return=&cc=®isterFrom=AliExpress®isterDevice=OTHER.PC®isterInvoker=wslogin&u_token='+u_token+'&src=&groupName=expressJoinGroup&_csi_=1526b898c5c046fea291597ddc9f672f&ws_score_session_id=&pageId='+pageId+'&_fmj.ex._0.e='+username+'%40mailforspam.com&_fmj.ex._0.f='+f_name+'&_fmj.ex._0.l='+l_name+'&_fmj.ex._0.p='+password+'&_fmj.ex._0.pa='+password+'&_fmj.ex._0.i=6Qmw';
- request.post({
- headers: {'Referer' : 'https://login.aliexpress.com/join/buyer/expressJoin.htm?spm=2114.11020108.0.0.irtHVf&cc=&return=https%3A%2F%2Fru.aliexpress.com%2Fru_home.htm', 'content-type' : 'application/x-www-form-urlencoded', 'User-Agent': useragent},
- uri: 'https://login.aliexpress.com/join/buyer/expressJoin.htm?spm=2114.11020108.0.0.irtHVf&cc=&return=https%3A%2F%2Fru.aliexpress.com%2Fru_home.htm',
- body: body
- }, function(err, response, body) {
- if(!response) {
- console.log("No response");
- proxies--;
- return;
- }
- if(!response.headers.location) {
- console.log("No redirect");
- proxies--;
- return;
- }
- request.get({
- headers: {'Referer' : 'https://login.aliexpress.com/join/buyer/expressJoin.htm', 'User-Agent': useragent},
- uri: response.headers.location
- }, function(err, response, body) {
- if(!body) {
- console.log("No body 2");
- createAccount(proxy);
- return;
- }
- var token = body.match(/token\: \'(.*?)\'/);
- var target = body.match(/var targetUrl = \'(.*?)\'/);
- request.get({
- headers: {'Referer' : response.request.uri.href, 'User-Agent': useragent},
- uri: 'https://login.aliexpress.com'+target[1]
- }, function(err, response, body) {
- if(!body) {
- console.log("No body 3");
- createAccount(proxy);
- return;
- }
- var token2 = body.match(/token\:\"(.*?)\"/);
- request.get({
- headers: {'Referer' : response.request.uri.href, 'User-Agent': useragent},
- uri: 'https://passport.alipay.com/mini_apply_st.js?site=4&callback=window.xmanDealTokenCallback&token='+token2[1]
- }, function(err, response, body) {
- if(!body) {
- console.log("No body 4");
- createAccount(proxy);
- return;
- }
- var st = body.match(/st\"\:\"(.*?)\"/);
- request.get({
- headers: {'Referer' : response.request.uri.href, 'User-Agent': useragent},
- uri: 'https://login.aliexpress.com/validateST.htm?u_token='+token[1]+'&st='+st[1]
- }, function(err, response, body) {
- if(!body) {
- console.log("No body 5");
- createAccount(proxy);
- return;
- }
- body = JSON.parse(body.replace('var xman_success=',''));
- request.get({
- headers: {'Referer' : response.request.uri.href, 'User-Agent': useragent},
- uri: body.xlogin_urls[0]
- }, function(err, response, body) {
- if(!response) {
- createAccount(proxy);
- return;
- }
- console.log("Created "+username);
- var _csrf_token_ = '';
- var gameid = '201609170001';
- var playGame = function(subGameGroup, callback) {
- try {
- console.log(username+" playing gameID: "+subGameGroup);
- var ownerMemberId;
- if(subGameGroup in owners) {
- ownerMemberId = owners[subGameGroup];
- pg_cont();
- } else {
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://ru.aliexpress.com/store/'+subGameGroup
- }, function(err, response, body) {
- if(!body) {
- playGame(subGameGroup, callback);
- return;
- }
- //console.log(body);
- var ownerMemberId = body.match(/ownerMemberId\: \'(.*?)\'/);
- if(!ownerMemberId) {
- playGame(subGameGroup, callback);
- return;
- } else {
- ownerMemberId = ownerMemberId[1];
- try {
- pg_cont();
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- }
- });
- }
- var pg_cont = function() {
- try {
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://verify.aliexpress.com/token/token_json.htm'
- }, function(err, response, body) {
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://promotion.aliexpress.com/game/ajaxInitGame.do?inviteParam=ft3gS6JZMoOigLlgbyXoJqRctK7WmjJqUJUZzE%2BCQ%2FZ%2F17n3kXYVXg%3D%3D&gameId='+gameid+'&subGameGroup='+subGameGroup
- }, function(err, response, body) {
- try {
- body = JSON.parse(body);
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- if(!body) {
- console.log("Error getting rewardIndex for gameID: "+subGameGroup);
- callback()
- return;
- }
- if(!body.success) {
- console.log("Error getting rewardIndex for gameID: "+subGameGroup);
- callback()
- return;
- }
- var rewardIndex = body.gameRewardData.rewardIndex;
- var umidToken = body.umidToken;
- console.log(umidToken);
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://promotion.aliexpress.com/game/ajaxPlayGame.do?inviteParam=ft3gS6JZMoOigLlgbyXoJqRctK7WmjJqUJUZzE%2BCQ%2FZ%2F17n3kXYVXg%3D%3D&gameId='+gameid+'&subGameGroup='+subGameGroup+'&asac=DFL2D1SJSMWJPWZWHUIL00'
- }, function(err, response, body) {
- try {
- body = JSON.parse(body);
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- if(!body) {
- console.log("Error getting rewardIndex for gameID: "+subGameGroup);
- callback()
- return;
- }
- if(!body.success) {
- console.log(body);
- console.log("Error getting playRecordId for gameID: "+subGameGroup);
- callback(body.code);
- return;
- }
- var playRecordId = body.playRecordId;
- var rewards = [];
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://promotion.aliexpress.com/game/ajaxFinishGame.do?inviteParam=ft3gS6JZMoOigLlgbyXoJqRctK7WmjJqUJUZzE%2BCQ%2FZ%2F17n3kXYVXg%3D%3D&gameId='+gameid+'&gameFrom=1&playRecordId='+playRecordId+'&rewardIndex='+rewardIndex+'&subGameGroup='+subGameGroup+'&asac=DFL2D1SJSMWJPWZWHUIL00'
- }, function(err, response, body) {
- if(body) {
- try {
- body = JSON.parse(body)['gameReward'];
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- rewards.push(body);
- }
- request.get({
- headers: {'Referer' : 'https://ru.aliexpress.com/store/'+subGameGroup, 'User-Agent': useragent},
- uri: 'https://promotion.aliexpress.com/game/ajaxFinishGame.do?inviteParam=ft3gS6JZMoOigLlgbyXoJqRctK7WmjJqUJUZzE%2BCQ%2FZ%2F17n3kXYVXg%3D%3D&gameId='+gameid+'&gameFrom=1&playRecordId='+playRecordId+'&rewardIndex='+rewardIndex+'&subGameGroup='+subGameGroup+'&asac=DFL2D1SJSMWJPWZWHUIL00'
- }, function(err, response, body) {
- if(body) {
- try {
- body = JSON.parse(body)['gameReward'];
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- rewards.push(body);
- }
- if(rewards.length > 0) {
- accounts.findOne({username: username}, function(err, acc) {
- if(!acc)
- accounts.insert({username: username, password: password, rewards : rewards});
- else {
- rewards.forEach(function(reward) {
- accounts.update({username: username}, { $push: {rewards : reward}});
- });
- }
- });
- }
- callback();
- });
- });
- });
- });
- });
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- }
- } catch(e) {
- console.log(e);
- playGame(subGameGroup, callback);
- return;
- }
- }
- var maxDay = 2;
- var loadDay = function(day) {
- if(day > maxDay)
- return;
- Request.get({
- headers: {'Referer' : 'http://sale.aliexpress.com/ru/__pc/1111_gameland.htm', 'User-Agent': useragent},
- uri: 'https://gpsfront.aliexpress.com/queryGpsProductAjax.do?widgetId=5019064&day='+day
- }, function(err, response, body) {
- var shops = JSON.parse(body).shops;
- var offset = 0;
- var initGame = function() {
- playGame(shops[offset].shopId, function(error) {
- if(error == -40004 || error == -20105)
- return;
- offset++;
- if(offset == shops.length) {
- day++;
- if(day > maxDay) {
- console.log("Ended all shops and days");
- } else {
- loadDay(day);
- }
- } else {
- setTimeout(function() {
- initGame();
- }, 10000);
- }
- });
- }
- initGame();
- });
- }
- var getCsrf = function() {
- request.get({
- headers: {'Referer' : 'http://sale.aliexpress.com/ru/__pc/1111_gameland.htm', 'User-Agent': useragent},
- uri: 'https://bbang.ru.aliexpress.com/store/1736661'
- }, function(err, response, body) {
- try {
- var $ = cheerio.load(body);
- _csrf_token_ = $('[name=_csrf_token]').attr('value');
- console.log(_csrf_token_);
- loadDay(1);
- } catch(e) {
- getCsrf();
- }
- });
- }
- getCsrf();
- //playGame();
- setTimeout(function() {
- createAccount(proxy);
- }, 60000);
- });
- });
- });
- });
- });
- });
- });
- });
- }
- //createAccount('94.20.21.38:3128');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement