....
This commit is contained in:
parent
59036799cf
commit
95dd9f5696
80
index.ts
80
index.ts
|
@ -1,5 +1,5 @@
|
|||
import fs = require('fs');
|
||||
import { database, database as db, settings } from './database'
|
||||
import { database as db, settings } from './database'
|
||||
import prompt from 'prompts';
|
||||
import logger from "./logger"
|
||||
import * as telegram from 'telegram';
|
||||
|
@ -8,7 +8,7 @@ import { AccountInterface } from './interfaces/databaseInterface';
|
|||
import { sleep } from 'telegram/Helpers';
|
||||
import findFreePorts from 'find-free-ports';
|
||||
import { waitNewMessages, startNewTorDocker, getIP, getMessagesByEntity, isBannedByClient } from './utils';
|
||||
import { connect, disconnect, tor } from "node-tor-control";
|
||||
import { connect, tor } from "node-tor-control";
|
||||
import Miner from '@ulixee/miner';
|
||||
import Hero from '@ulixee/hero';
|
||||
import { portsInterface, usedIPInterface } from "./interfaces/otherInterfaces"
|
||||
|
@ -17,9 +17,7 @@ import ExecuteJsPlugin from '@ulixee/execute-js-plugin';
|
|||
import _ from 'lodash';
|
||||
import Docker from 'dockerode';
|
||||
import cliProgress from "cli-progress"
|
||||
import { isAxiosError } from 'axios';
|
||||
import BigInteger from "big-integer";
|
||||
import { EntityLike } from 'telegram/define';
|
||||
|
||||
const addAccounts: () => Promise<void> = async () => {
|
||||
let apiId: number = 0
|
||||
|
@ -222,7 +220,7 @@ const farm: () => Promise<void> = async () => {
|
|||
await client.connect();
|
||||
if ((await client.checkAuthorization()) == false) {
|
||||
logger.error(`Account ${worker.phoneNumber} is not authorizated`);
|
||||
continue
|
||||
continue workersLoop
|
||||
} else {
|
||||
logger.debug(`Successfully connected to account ${worker.phoneNumber}`);
|
||||
// https://gram.js.org/beta/modules/Api.channels.html
|
||||
|
@ -244,7 +242,7 @@ const farm: () => Promise<void> = async () => {
|
|||
usedIPs.filter((value) => { return _.isEqual(worker, value.worker) })[0].current = ''
|
||||
usedIPs.filter((value) => { return _.isEqual(worker, value.worker) })[0].usedIps.pop()
|
||||
await hero.close()
|
||||
continue
|
||||
continue workersLoop
|
||||
}
|
||||
|
||||
// leaving old groups
|
||||
|
@ -365,14 +363,14 @@ const farm: () => Promise<void> = async () => {
|
|||
} catch (err){
|
||||
logger.error(`Some error due doing tasks\n${err}\n${err.stack}`)
|
||||
}
|
||||
database.updateUser(worker);
|
||||
// db.updateUser(worker);
|
||||
await hero.close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return workers
|
||||
}
|
||||
|
||||
|
||||
|
@ -399,7 +397,7 @@ const farm: () => Promise<void> = async () => {
|
|||
if (workersGroups.length != Math.ceil(workers.length / settings.pararels)) {
|
||||
logger.warn(`There is strange thing with workersGroups\n${workersGroups.length} ${Math.ceil(workers.length / settings.pararels)}`);
|
||||
}
|
||||
let pararels: Promise<void>[] = [];
|
||||
let pararels: Promise<AccountInterface[]>[] = [];
|
||||
let _ports = await findFreePorts(workers.length * 3 + 1);
|
||||
const miner = new Miner();
|
||||
await miner.listen({ port: _ports[_ports.length - 1] });
|
||||
|
@ -444,6 +442,10 @@ const farm: () => Promise<void> = async () => {
|
|||
for (const result of results) {
|
||||
if (result.status == 'rejected') {
|
||||
logger.warn(`Promise is caanceled due ${result.reason}`);
|
||||
} else{
|
||||
for (const worker of result.value){
|
||||
await db.updateUser(worker)
|
||||
}
|
||||
}
|
||||
}
|
||||
logger.debug('Closing opened docker containers ')
|
||||
|
@ -461,39 +463,39 @@ const farm: () => Promise<void> = async () => {
|
|||
(async () => {
|
||||
while (true) {
|
||||
|
||||
const answer = await prompt({
|
||||
type: 'select',
|
||||
name: 'menu',
|
||||
message: 'Choose action',
|
||||
choices: [
|
||||
((await db.getUsers()).length > 0) ? { title: 'Start', description: 'Starting farm', value: 'start' } : { title: 'Start', description: 'Add accounts first...', value: 'start', disabled: true },
|
||||
{ title: 'Add accounts', description: 'Add accounts to database', value: 'addAccounts' },
|
||||
{ title: 'Check balances', value: 'checkBalances', disabled: true },
|
||||
{ title: 'Withdraw', value: 'withdraw', disabled: true },
|
||||
{ title: 'Exit', description: 'You realy dont know what it mean?' }
|
||||
]
|
||||
})
|
||||
switch (answer.menu) {
|
||||
case 'addAccounts':
|
||||
await addAccounts();
|
||||
break;
|
||||
case 'start':
|
||||
while (true) {
|
||||
try {
|
||||
await farm();
|
||||
} catch (err) {
|
||||
logger.error(`Unknown error\n${err.stack}\n${typeof err}`);
|
||||
break;
|
||||
const answer = await prompt({
|
||||
type: 'select',
|
||||
name: 'menu',
|
||||
message: 'Choose action',
|
||||
choices: [
|
||||
((await db.getUsers()).length > 0) ? { title: 'Start', description: 'Starting farm', value: 'start' } : { title: 'Start', description: 'Add accounts first...', value: 'start', disabled: true },
|
||||
{ title: 'Add accounts', description: 'Add accounts to database', value: 'addAccounts' },
|
||||
{ title: 'Check balances', value: 'checkBalances', disabled: true },
|
||||
{ title: 'Withdraw', value: 'withdraw', disabled: true },
|
||||
{ title: 'Exit', description: 'You realy dont know what it mean?' }
|
||||
]
|
||||
})
|
||||
switch (answer.menu) {
|
||||
case 'addAccounts':
|
||||
await addAccounts();
|
||||
break;
|
||||
case 'start':
|
||||
while (true) {
|
||||
try {
|
||||
await farm();
|
||||
} catch (err) {
|
||||
logger.error(`Unknown error\n${err.stack}\n${typeof err}`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
logger.info('Bye bye');
|
||||
process.exit();
|
||||
default:
|
||||
logger.info('Bye bye');
|
||||
process.exit();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})();
|
||||
|
|
Loading…
Reference in New Issue