From 83d7a1d7267aa825c9ba2e99028580306252f3b5 Mon Sep 17 00:00:00 2001 From: Lightemerald Date: Sat, 20 May 2023 23:29:55 +0200 Subject: [PATCH] Fixes arguments issues, added interactive IP usage exceeded. --- .env.sample | 4 +++- main.js | 17 ++++++++++++----- modules/driverManager.js | 9 +++++---- modules/microsoftHandler.js | 18 ++++++++++++++++++ modules/speedHandler.js | 1 - 5 files changed, 38 insertions(+), 11 deletions(-) diff --git a/.env.sample b/.env.sample index fd9867c..c03f547 100644 --- a/.env.sample +++ b/.env.sample @@ -1,4 +1,6 @@ MAIL_USER= MAIL_PASSWORD= MAIL_HOST= -MAIL_PORT=993 \ No newline at end of file +MAIL_PORT=993 +MS_ACCOUNT_COUNT=3 +AWS_ACCOUNT_COUNT=1 \ No newline at end of file diff --git a/main.js b/main.js index 1d05d74..accffd6 100644 --- a/main.js +++ b/main.js @@ -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(); } } -} \ No newline at end of file +} diff --git a/modules/driverManager.js b/modules/driverManager.js index d4d751d..78d1352 100644 --- a/modules/driverManager.js +++ b/modules/driverManager.js @@ -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, -}; \ No newline at end of file +}; diff --git a/modules/microsoftHandler.js b/modules/microsoftHandler.js index 44df3b7..b056fc9 100644 --- a/modules/microsoftHandler.js +++ b/modules/microsoftHandler.js @@ -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); diff --git a/modules/speedHandler.js b/modules/speedHandler.js index d35409a..dbf5814 100644 --- a/modules/speedHandler.js +++ b/modules/speedHandler.js @@ -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 }; }