mirror of
https://github.com/opelly27/streetmerchant.git
synced 2026-05-20 07:37:39 +00:00
feat: low bandwidth mode (#294)
Co-authored-by: Jef LeCompte <jeffreylec@gmail.com>
This commit is contained in:
@@ -49,6 +49,7 @@ function envOrNumber(environment: string | undefined, number?: number): number {
|
||||
const browser = {
|
||||
isHeadless: envOrBoolean(process.env.HEADLESS),
|
||||
isTrusted: envOrBoolean(process.env.BROWSER_TRUSTED, false),
|
||||
lowBandwidth: envOrBoolean(process.env.LOW_BANDWIDTH, false),
|
||||
maxBackoff: envOrNumber(process.env.PAGE_BACKOFF_MAX, 3600000),
|
||||
maxSleep: envOrNumber(process.env.PAGE_SLEEP_MAX, 10000),
|
||||
minBackoff: envOrNumber(process.env.PAGE_BACKOFF_MIN, 10000),
|
||||
|
||||
+8
-1
@@ -5,11 +5,18 @@ import {adBlocker} from './adblocker';
|
||||
import {fetchLinks} from './store/fetch-links';
|
||||
import {getSleepTime} from './util';
|
||||
import puppeteer from 'puppeteer-extra';
|
||||
import resourceBlock from 'puppeteer-extra-plugin-block-resources';
|
||||
import stealthPlugin from 'puppeteer-extra-plugin-stealth';
|
||||
import {tryLookupAndLoop} from './store';
|
||||
|
||||
puppeteer.use(stealthPlugin());
|
||||
puppeteer.use(adBlocker);
|
||||
if (Config.browser.lowBandwidth) {
|
||||
puppeteer.use(resourceBlock({
|
||||
blockedTypes: new Set(['image', 'font'])
|
||||
}));
|
||||
} else {
|
||||
puppeteer.use(adBlocker);
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the bot.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
declare module 'puppeteer-extra-plugin-block-resources';
|
||||
+4
-1
@@ -42,6 +42,9 @@ export async function usingPage<T>(browser: Browser, cb: (page: Page, browser: B
|
||||
}
|
||||
|
||||
export async function closePage(page: Page) {
|
||||
await disableBlockerInPage(page);
|
||||
if (!Config.browser.lowBandwidth) {
|
||||
await disableBlockerInPage(page);
|
||||
}
|
||||
|
||||
await page.close();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user