mirror of
https://github.com/LightZirconite/Microsoft-Rewards-Bot.git
synced 2026-01-09 09:06:15 +00:00
refactor: Change default exports to named exports for consistency
This commit is contained in:
@@ -1,10 +0,0 @@
|
|||||||
// Health check endpoint for Vercel
|
|
||||||
module.exports = function handler(req, res) {
|
|
||||||
res.json({
|
|
||||||
status: 'ok',
|
|
||||||
timestamp: new Date().toISOString(),
|
|
||||||
endpoints: {
|
|
||||||
reportError: '/api/report-error'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import Browser from '../browser/Browser'
|
import { Browser } from '../browser/Browser'
|
||||||
import { MicrosoftRewardsBot } from '../index'
|
import { MicrosoftRewardsBot } from '../index'
|
||||||
import type { AccountProxy } from '../interface/Account'
|
import type { AccountProxy } from '../interface/Account'
|
||||||
import { log } from '../util/notifications/Logger'
|
import { log } from '../util/notifications/Logger'
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { getAntiDetectionScript, getTimezoneScript } from '../util/security/Anti
|
|||||||
import { loadSessionData, saveFingerprintData } from '../util/state/Load'
|
import { loadSessionData, saveFingerprintData } from '../util/state/Load'
|
||||||
import { logFingerprintValidation, validateFingerprintConsistency } from '../util/validation/FingerprintValidator'
|
import { logFingerprintValidation, validateFingerprintConsistency } from '../util/validation/FingerprintValidator'
|
||||||
|
|
||||||
class Browser {
|
export class Browser {
|
||||||
private bot: MicrosoftRewardsBot
|
private bot: MicrosoftRewardsBot
|
||||||
|
|
||||||
constructor(bot: MicrosoftRewardsBot) {
|
constructor(bot: MicrosoftRewardsBot) {
|
||||||
@@ -281,6 +281,4 @@ class Browser {
|
|||||||
|
|
||||||
return updatedFingerPrintData
|
return updatedFingerPrintData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Browser
|
|
||||||
@@ -13,7 +13,7 @@ import { extractBalancedObject } from '../util/core/Utils'
|
|||||||
import { saveSessionData } from '../util/state/Load'
|
import { saveSessionData } from '../util/state/Load'
|
||||||
|
|
||||||
|
|
||||||
export default class BrowserFunc {
|
export class BrowserFunc {
|
||||||
private bot: MicrosoftRewardsBot
|
private bot: MicrosoftRewardsBot
|
||||||
|
|
||||||
constructor(bot: MicrosoftRewardsBot) {
|
constructor(bot: MicrosoftRewardsBot) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { logError } from '../util/notifications/Logger'
|
|||||||
|
|
||||||
type DismissButton = { selector: string; label: string; isXPath?: boolean }
|
type DismissButton = { selector: string; label: string; isXPath?: boolean }
|
||||||
|
|
||||||
export default class BrowserUtil {
|
export class BrowserUtil {
|
||||||
private bot: MicrosoftRewardsBot
|
private bot: MicrosoftRewardsBot
|
||||||
|
|
||||||
private static readonly DISMISS_BUTTONS: readonly DismissButton[] = [
|
private static readonly DISMISS_BUTTONS: readonly DismissButton[] = [
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { Retry } from '../util/core/Retry'
|
|||||||
import { AdaptiveThrottler } from '../util/notifications/AdaptiveThrottler'
|
import { AdaptiveThrottler } from '../util/notifications/AdaptiveThrottler'
|
||||||
import { logError } from '../util/notifications/Logger'
|
import { logError } from '../util/notifications/Logger'
|
||||||
import { getActivityStatsTracker } from '../util/state/ActivityStatsTracker'
|
import { getActivityStatsTracker } from '../util/state/ActivityStatsTracker'
|
||||||
import JobState from '../util/state/JobState'
|
import { JobState } from '../util/state/JobState'
|
||||||
|
|
||||||
// Selector patterns (extracted to avoid magic strings)
|
// Selector patterns (extracted to avoid magic strings)
|
||||||
const ACTIVITY_SELECTORS = {
|
const ACTIVITY_SELECTORS = {
|
||||||
|
|||||||
14
src/index.ts
14
src/index.ts
@@ -7,15 +7,15 @@ import fs from 'fs'
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import type { Page } from 'playwright'
|
import type { Page } from 'playwright'
|
||||||
import { createInterface } from 'readline'
|
import { createInterface } from 'readline'
|
||||||
import BrowserFunc from './browser/BrowserFunc'
|
import { BrowserFunc } from './browser/BrowserFunc'
|
||||||
import BrowserUtil from './browser/BrowserUtil'
|
import { BrowserUtil } from './browser/BrowserUtil'
|
||||||
import Humanizer from './util/browser/Humanizer'
|
import { Humanizer } from './util/browser/Humanizer'
|
||||||
import { getMemoryMonitor, stopMemoryMonitor } from './util/core/MemoryMonitor'
|
import { getMemoryMonitor, stopMemoryMonitor } from './util/core/MemoryMonitor'
|
||||||
import { formatDetailedError, normalizeRecoveryEmail, shortErrorMessage, Util } from './util/core/Utils'
|
import { formatDetailedError, normalizeRecoveryEmail, shortErrorMessage, Util } from './util/core/Utils'
|
||||||
import Axios from './util/network/Axios'
|
import { AxiosClient } from './util/network/Axios'
|
||||||
import { QueryDiversityEngine } from './util/network/QueryDiversityEngine'
|
import { QueryDiversityEngine } from './util/network/QueryDiversityEngine'
|
||||||
import { log, stopWebhookCleanup } from './util/notifications/Logger'
|
import { log, stopWebhookCleanup } from './util/notifications/Logger'
|
||||||
import JobState from './util/state/JobState'
|
import { JobState } from './util/state/JobState'
|
||||||
import { loadAccounts, loadConfig } from './util/state/Load'
|
import { loadAccounts, loadConfig } from './util/state/Load'
|
||||||
import { MobileRetryTracker } from './util/state/MobileRetryTracker'
|
import { MobileRetryTracker } from './util/state/MobileRetryTracker'
|
||||||
import { detectBanReason } from './util/validation/BanDetector'
|
import { detectBanReason } from './util/validation/BanDetector'
|
||||||
@@ -68,7 +68,7 @@ export class MicrosoftRewardsBot {
|
|||||||
private accountJobState?: JobState
|
private accountJobState?: JobState
|
||||||
private accountRunCounts: Map<string, number> = new Map()
|
private accountRunCounts: Map<string, number> = new Map()
|
||||||
|
|
||||||
public axios!: Axios
|
public axios!: AxiosClient
|
||||||
|
|
||||||
constructor(isMobile: boolean) {
|
constructor(isMobile: boolean) {
|
||||||
this.isMobile = isMobile
|
this.isMobile = isMobile
|
||||||
@@ -525,7 +525,7 @@ export class MicrosoftRewardsBot {
|
|||||||
const errors: string[] = []
|
const errors: string[] = []
|
||||||
const banned = { status: false, reason: '' }
|
const banned = { status: false, reason: '' }
|
||||||
|
|
||||||
this.axios = new Axios(account.proxy)
|
this.axios = new AxiosClient(account.proxy)
|
||||||
this.queryEngine = this.buildQueryEngine()
|
this.queryEngine = this.buildQueryEngine()
|
||||||
const verbose = process.env.DEBUG_REWARDS_VERBOSE === '1'
|
const verbose = process.env.DEBUG_REWARDS_VERBOSE === '1'
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ export async function createBrowserInstance(
|
|||||||
email: string
|
email: string
|
||||||
): Promise<BrowserContext> {
|
): Promise<BrowserContext> {
|
||||||
const browserModule = await import('../../browser/Browser')
|
const browserModule = await import('../../browser/Browser')
|
||||||
const Browser = browserModule.default
|
const browserInstance = new browserModule.Browser(bot)
|
||||||
const browserInstance = new Browser(bot)
|
|
||||||
return await browserInstance.createBrowser(proxy, email)
|
return await browserInstance.createBrowser(proxy, email)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -363,5 +363,3 @@ export class Humanizer {
|
|||||||
this.actionCount = 0
|
this.actionCount = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Humanizer
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { HttpsProxyAgent } from 'https-proxy-agent'
|
|||||||
import { SocksProxyAgent } from 'socks-proxy-agent'
|
import { SocksProxyAgent } from 'socks-proxy-agent'
|
||||||
import { AccountProxy } from '../../interface/Account'
|
import { AccountProxy } from '../../interface/Account'
|
||||||
|
|
||||||
class AxiosClient {
|
export class AxiosClient {
|
||||||
private instance: AxiosInstance
|
private instance: AxiosInstance
|
||||||
private account: AccountProxy
|
private account: AccountProxy
|
||||||
|
|
||||||
@@ -152,6 +152,4 @@ class AxiosClient {
|
|||||||
private sleep(ms: number): Promise<void> {
|
private sleep(ms: number): Promise<void> {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms))
|
return new Promise(resolve => setTimeout(resolve, ms))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default AxiosClient
|
|
||||||
@@ -108,5 +108,3 @@ export class JobState {
|
|||||||
return this.baseDir
|
return this.baseDir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default JobState
|
|
||||||
|
|||||||
Reference in New Issue
Block a user