Fixes arguments issues, added interactive IP usage exceeded.

This commit is contained in:
2023-05-20 23:29:55 +02:00
parent 093836c319
commit 83d7a1d726
5 changed files with 38 additions and 11 deletions

View File

@@ -1,4 +1,6 @@
MAIL_USER=
MAIL_PASSWORD=
MAIL_HOST=
MAIL_PORT=993
MAIL_PORT=993
MS_ACCOUNT_COUNT=3
AWS_ACCOUNT_COUNT=1

17
main.js
View File

@@ -7,14 +7,13 @@ const { createAWSAccount } = require('./modules/awsHandler');
const args = process.argv.slice(2);
async function microsoft() {
const numAccounts = 1;
const numAccounts = process.env.MS_ACCOUNT_COUNT;
await connect();
const accountPromises = [];
for (let i = 0; i < numAccounts; i++) {
const promise = await createAccount(createDriver());
accountPromises.push(promise);
console.log(`Account ${i + 1} done!`);
await new Promise((resolve) => setTimeout(resolve, 20000));
}
await Promise.all(accountPromises);
console.log('All accounts done!');
@@ -22,8 +21,16 @@ async function microsoft() {
}
async function aws() {
const numAccounts = process.env.AWS_ACCOUNT_COUNT;
await connect();
await createAWSAccount(createDriver());
const accountPromises = [];
for (let i = 0; i < numAccounts; i++) {
const promise = await createAWSAccount(createDriver());
accountPromises.push(promise);
console.log(`Account ${i + 1} done!`);
}
await Promise.all(accountPromises);
console.log('All accounts done!');
await disconnect();
}
@@ -32,8 +39,8 @@ for (let i = 0; i < args.length; i++) {
if (args[i] === '--aws') {
aws();
}
else {
else if (args[i] === '--ms') {
microsoft();
}
}
}
}

View File

@@ -26,7 +26,7 @@ function createDriverChrome() {
.forBrowser('chrome')
.setChromeOptions(
new chrome.Options()
.windowSize({ width: 1024, height: 768 })
.windowSize({ width: 1280, height: 768 })
.addArguments(`--user-agent=${userAgent}`),
)
.build();
@@ -45,7 +45,7 @@ function createDriverFirefox() {
.forBrowser('firefox')
.setFirefoxOptions(
new firefox.Options()
.windowSize({ width: 1024, height: 768 })
.windowSize({ width: 1280, height: 768 })
.addArguments(`--user-agent=${userAgent}`),
)
.build();
@@ -63,7 +63,7 @@ function createDriverEdge() {
.forBrowser('MicrosoftEdge')
.setEdgeOptions(
new edge.Options()
.windowSize({ width: 1024, height: 768 })
.windowSize({ width: 1280, height: 768 })
.addArguments(`--user-agent=${userAgent}`),
)
.build();
@@ -88,6 +88,7 @@ function createDriver() {
}
}
let driver;
console.log(browserType);
switch (browserType) {
case 'firefox':
driver = createDriverFirefox();
@@ -107,4 +108,4 @@ function createDriver() {
module.exports = {
createDriver,
};
};

View File

@@ -1,11 +1,19 @@
const fs = require('fs');
const path = require('path');
const readline = require('readline');
const { promisify } = require('util');
const { By, Key, until } = require('selenium-webdriver');
const { createIdentity } = require('./identityHandler');
const { getCodeFromEmail } = require('./codeHandler');
const { clickTime, urlTime, timeoutLoading } = require('./speedHandler').getSpeed();
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const questionAsync = promisify(rl.question).bind(rl);
async function createAccount(driver) {
try {
@@ -88,6 +96,16 @@ async function createAccount(driver) {
const source = await driver.getPageSource();
if (source.includes('Phone number')) {
console.log('Ip usage exceeded please switch IP');
const answer = await questionAsync('Would you like to continue? [y/n] ');
rl.close();
if (answer.toLowerCase() === 'n' || answer.toLowerCase() === 'no') {
console.log('Program stopped.');
await driver.quit();
process.exit(0);
}
else {
console.log('Continuing...');
}
}
else {
await driver.wait(until.titleContains('Welcome'), 300000);

View File

@@ -21,7 +21,6 @@ function getSpeed() {
}
}
}
console.log(`Using ${speed} speed`);
const { click: timeTypeClick, url: timeTypeUrl, timeout: timeTypeTimeoutLoading } = speeds[speed];
return { clickTime: timeTypeClick, urlTime: timeTypeUrl, timeoutLoading: timeTypeTimeoutLoading };
}