-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathgmail.js
More file actions
260 lines (209 loc) · 9.61 KB
/
gmail.js
File metadata and controls
260 lines (209 loc) · 9.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
// Installer Information
// Installer Node js
// Open CMD
// npm install readline-sync
// npm install puppeteer
// npm install puppeteer-extra
// npm install puppeteer-extra-plugin-stealth
// npm install node-random-name
// npm install fs
// npm install delay
// npm install string
// npm install console
// npm install os
// npm install moment
// npm install figlet
// npm install chalk
// npm install fetch
// npm install request
const readlineSync = require('readline-sync');
const puppeteer = require('puppeteer-extra');
var random_name = require('node-random-name');
const fs = require('fs');
const delay = require('delay');
const S = require('string' );
const { error, Console } = require('console');
const { type } = require('os');
var no = 1;
var moment = require("moment");
var figlet = require('figlet');
var chalk = require('chalk');
var fetch = require('node-fetch');
var request = require('request');
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())
let browser = null;
let page = null;
const _this = this;
let retries = 0;
let isReleased = false;
var isLite = false;
(async () => {
console.log(
chalk.white(
figlet.textSync('Gmail Creator', { horizontalLayout: 'fitted' })
)
);
console.log(' Copyright 2K21')
console.log('\n');
var BuserDah = readlineSync.question('[+] Password Yang Diinginkan : ');
var recover = readlineSync.question('[+] Email Recovery Yang Diinginkan : ');
while (true) {
var name1 = random_name({first:true});
var name2 = random_name({last:true});
var fullname = name1+name2;
var emailAcc = fullname+nope(5);
const $options = { waitUntil: 'networkidle2' };
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://accounts.google.com/signup/v2', $options);
const FirstName = await page.$('input[name="firstName"]')
await FirstName.type(name1)
await FirstName.dispose()
const LastName = await page.$('input[name="lastName"]')
await LastName.type(name2)
await LastName.dispose()
await delay(2000)
const EmaiLField = await page.$('input[type="email"]')
await EmaiLField.type(emailAcc)
await EmaiLField.dispose()
const Password = await page.$('input[name="Passwd"]')
await Password.type(BuserDah)
await Password.dispose()
const PasswordField = await page.$('input[name="ConfirmPasswd"]')
await PasswordField.type(BuserDah)
await PasswordField.dispose()
await delay(3000)
const ButtonField = await page.$('button[class="VfPpkd-LgbsSe VfPpkd-LgbsSe-OWXEXe-k8QpJ VfPpkd-LgbsSe-OWXEXe-dgl2Hf nCP5yc AjY5Oe DuMIQc qIypjc TrZEUc lw1w4b"]')
await ButtonField.click()
await ButtonField.dispose()
console.log('\n');
console.log('[' + no + ']' + ' Berhasil Register Dengan Email ' + emailAcc + '@gmail.com');
await delay(4000)
if (page.url().includes('webgradsidvphone')) {
var nohp = readlineSync.question(' Nomor Handphone : ');
const otpNumber = await page.$('#phoneNumberId')
await otpNumber.type(nohp)
await otpNumber.dispose()
await page.keyboard.press('Enter')
await delay(2000)
if (page.url().includes('webgradsidvphone')) {
const info = await page.evaluate(() =>{
return document.querySelector('div[class="o6cuMc"').innerText;
})
console.log(' ',info);
} else if (page.url().includes('webgradsidvverify')) {
var otp = readlineSync.question(' Otp Code : ');
const otpCode = await page.$('input[name="code"]')
await otpCode.type(otp)
await otpCode.dispose()
const buttonNumber = await page.$('div[class="FliLIb DL0QTb"]')
await buttonNumber.click()
await buttonNumber.dispose()
await delay(4000)
if (page.url().includes('webgradsidvverify')) {
const info = await page.evaluate(() =>{
return document.querySelector('div[class="o6cuMc"').innerText;
})
console.log(' ',info);
await page.keyboard.down('Control');
await page.keyboard.press('A');
await page.keyboard.up('Control');
await page.keyboard.press('Backspace');
var otp = readlineSync.question(' Otp Code : ');
const otpCode = await page.$('input[name="code"]')
await otpCode.type(otp)
await otpCode.dispose()
const buttonNumber = await page.$('div[class="FliLIb DL0QTb"]')
await buttonNumber.click()
await buttonNumber.dispose()
await delay(2000)
} else if (page.url().includes('webpersonaldetails')) {
const emailRecover = await page.$('#view_container > div > div > div.pwWryf.bxPAYd > div > div.WEQkZc > div > form > span > section > div > div > div.akwVEf.OcVpRe > div.d2CFce.cDSmF.OcVpRe > div > div.aCsJod.oJeWuf > div > div.Xb9hP > input');
await emailRecover.type(recover)
await emailRecover.dispose()
const TanggalLahir = await page.$('input[name="day"]')
await TanggalLahir.type('15')
await TanggalLahir.dispose()
await page.keyboard.press('Tab');
await page.keyboard.press('PageDown');
const TahunLahir = await page.$('input[name="year"]')
await TahunLahir.type('1999')
await TahunLahir.dispose()
await page.keyboard.press('Tab');
await page.keyboard.press('PageDown');
const PressButton = await page.$('div[class="FliLIb DL0QTb"]')
await PressButton.click()
await PressButton.dispose()
await delay(2000)
if (page.url().includes('webphoneusage')) {
console.log(' Berhasil Input Data')
const AwwButton = await page.$('div[class="FliLIb DL0QTb"]')
await AwwButton.click()
await AwwButton.dispose()
await delay(2000)
if (page.url().includes('webtermsofservice')) {
console.log(' Berhasil Confirm Terms Of Service')
const cokAsu = await page.$('div[class="FliLIb DL0QTb"]')
await cokAsu.click()
await cokAsu.dispose()
fs.appendFileSync("gmailCreator.txt", emailAcc + '|' + BuserDah + '|' + nohp + '|' + recover + '\n');
console.log(' Berhasil Register And Save File To gmailCreator.txt');
console.log('\n');
}
}
}
}
} else if (page.url().includes('webpersonaldetails')) {
const TanggalLahir = await page.$('input[name="day"]')
await TanggalLahir.type('15')
await TanggalLahir.dispose()
await page.keyboard.press('Tab');
await page.keyboard.press('PageDown');
const TahunLahir = await page.$('input[name="year"]')
await TahunLahir.type('1999')
await TahunLahir.dispose()
await page.keyboard.press('Tab');
await page.keyboard.press('PageDown');
const PressButton = await page.$('div[class="FliLIb DL0QTb"]')
await PressButton.click()
await PressButton.dispose()
await delay(2000)
if (page.url().includes('webphoneusage')) {
console.log(' Berhasil Input Data')
const AwwButton = await page.$('div[class="FliLIb DL0QTb"]')
await AwwButton.click()
await AwwButton.dispose()
await delay(2000)
if (page.url().includes('webtermsofservice')) {
console.log(' Berhasil Confirm Terms Of Service')
const cokAsu = await page.$('div[class="FliLIb DL0QTb"]')
await cokAsu.click()
await cokAsu.dispose()
fs.appendFileSync("gmailCreator.txt", emailAcc + '|' + BuserDah + '|' + nohp + '|' + recover + '\n');
console.log(' Berhasil Register And Save File To gmailCreator.txt');
}
}
} else {
console.log(' Blocked IP');
}
no++;
}
})();
function nope(length) {
var result = '';
var characters = '12314567890';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
function calculateDays(startDate,endDate)
{
var start_date = moment(startDate, 'YYYY-MM-DD HH:mm:ss');
var end_date = moment(endDate, 'YYYY-MM-DD HH:mm:ss');
var duration = moment.duration(end_date.diff(start_date));
var days = duration.asDays();
return days;
}