From 296b4ded69b29f520a3e00a209d18d22062fdd8f Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Sat, 17 Oct 2020 12:35:16 -0600 Subject: [PATCH 1/6] feat: add incognito mode --- README.md | 1 + src/config.ts | 1 + src/store/lookup.ts | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a127d0a0a8..dbb0041e33 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Here is a list of variables that you can use to customize your newly copied `.en | `EMAIL_TO` | Destination Email | Defaults to username if not set. Can be comma separated | | `EMAIL_USERNAME` | Gmail address | E.g.: `jensen.robbed.us@gmail.com` | | `HEADLESS` | Puppeteer to run headless or not | Debugging related, default: `true` | +| `INCOGNITO` | Puppeteer to run incognito or not | Debugging related, default: `false` | | `IN_STOCK_WAIT_TIME` | Time to wait between requests to the same link if it has that card in stock | In seconds, default: `0` | | `LOG_LEVEL` | [Logging levels](https://github.com/winstonjs/winston#logging-levels) | Debugging related, default: `info` | | `LOW_BANDWIDTH` | Blocks images/fonts to reduce traffic | Disables ad blocker, default: `false` | diff --git a/src/config.ts b/src/config.ts index 0c47fa7d2c..27d17fcafc 100644 --- a/src/config.ts +++ b/src/config.ts @@ -109,6 +109,7 @@ function envOrNumberMax(environmentMin: string | undefined, environmentMax: stri const browser = { isHeadless: envOrBoolean(process.env.HEADLESS), + isIncognito: envOrBoolean(process.env.INCOGNITO, false), isTrusted: envOrBoolean(process.env.BROWSER_TRUSTED, false), lowBandwidth: envOrBoolean(process.env.LOW_BANDWIDTH, false), maxBackoff: envOrNumberMax(process.env.PAGE_BACKOFF_MIN, process.env.PAGE_BACKOFF_MAX, 3600000), diff --git a/src/store/lookup.ts b/src/store/lookup.ts index e018b0828c..d1cf1c6b8e 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -35,7 +35,8 @@ async function lookup(browser: Browser, store: Store) { continue; } - const page = await browser.newPage(); + const context = await browser.createIncognitoBrowserContext(); + const page = (config.browser.isIncognito ? await context.newPage() : await browser.newPage()); page.setDefaultNavigationTimeout(config.page.timeout); await page.setUserAgent(config.page.userAgent); From b237bfb5b760a63024a42120440fd6697a2a25aa Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Mon, 19 Oct 2020 17:13:29 -0600 Subject: [PATCH 2/6] Update lookup.ts --- src/store/lookup.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/store/lookup.ts b/src/store/lookup.ts index d1cf1c6b8e..314bd6d96f 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -35,8 +35,8 @@ async function lookup(browser: Browser, store: Store) { continue; } - const context = await browser.createIncognitoBrowserContext(); - const page = (config.browser.isIncognito ? await context.newPage() : await browser.newPage()); + const context = (config.browser.isIncognito) ? await browser.createIncognitoBrowserContext() : browser.defaultBrowserContext(); + const page = (config.browser.isIncognito) ? await context.newPage() : await browser.newPage(); page.setDefaultNavigationTimeout(config.page.timeout); await page.setUserAgent(config.page.userAgent); @@ -63,8 +63,8 @@ async function lookup(browser: Browser, store: Store) { // used to detect bot traffic, it introduces a 5 second page delay // before redirecting to the next page await processBackoffDelay(store, link, statusCode); - await closePage(page); + if (config.browser.isIncognito) {await context.close();} } /* eslint-enable no-await-in-loop */ } From bbd93096a72a1cc3d468f6aa1fead11396a5ddca Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Mon, 19 Oct 2020 17:19:53 -0600 Subject: [PATCH 3/6] Update lookup.ts --- src/store/lookup.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/store/lookup.ts b/src/store/lookup.ts index 314bd6d96f..90493270ae 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -35,8 +35,8 @@ async function lookup(browser: Browser, store: Store) { continue; } - const context = (config.browser.isIncognito) ? await browser.createIncognitoBrowserContext() : browser.defaultBrowserContext(); - const page = (config.browser.isIncognito) ? await context.newPage() : await browser.newPage(); + const context = (config.browser.isIncognito ? await browser.createIncognitoBrowserContext() : browser.defaultBrowserContext();) + const page = (config.browser.isIncognito ? await context.newPage() : await browser.newPage();) page.setDefaultNavigationTimeout(config.page.timeout); await page.setUserAgent(config.page.userAgent); @@ -64,7 +64,9 @@ async function lookup(browser: Browser, store: Store) { // before redirecting to the next page await processBackoffDelay(store, link, statusCode); await closePage(page); - if (config.browser.isIncognito) {await context.close();} + if (config.browser.isIncognito) { + await context.close(); + } } /* eslint-enable no-await-in-loop */ } From d5085e2510cb7fd815eb0b1f9834fa145b2b00e9 Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Mon, 19 Oct 2020 17:21:12 -0600 Subject: [PATCH 4/6] Update lookup.ts --- src/store/lookup.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/store/lookup.ts b/src/store/lookup.ts index 90493270ae..3d41ffde15 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -35,8 +35,8 @@ async function lookup(browser: Browser, store: Store) { continue; } - const context = (config.browser.isIncognito ? await browser.createIncognitoBrowserContext() : browser.defaultBrowserContext();) - const page = (config.browser.isIncognito ? await context.newPage() : await browser.newPage();) + const context = (config.browser.isIncognito ? await browser.createIncognitoBrowserContext() : browser.defaultBrowserContext()); + const page = (config.browser.isIncognito ? await context.newPage() : await browser.newPage()); page.setDefaultNavigationTimeout(config.page.timeout); await page.setUserAgent(config.page.userAgent); From 906a9610fc1b25d8ebfe90a6327b279b133213c2 Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Mon, 19 Oct 2020 17:51:47 -0600 Subject: [PATCH 5/6] Update lookup.ts --- src/store/lookup.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/store/lookup.ts b/src/store/lookup.ts index 3d41ffde15..2e5295641b 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -63,6 +63,7 @@ async function lookup(browser: Browser, store: Store) { // used to detect bot traffic, it introduces a 5 second page delay // before redirecting to the next page await processBackoffDelay(store, link, statusCode); + await closePage(page); if (config.browser.isIncognito) { await context.close(); From a9de91da7dd16be758de1ae66e7497b8d1e26465 Mon Sep 17 00:00:00 2001 From: GRINSPANKER13 Date: Mon, 19 Oct 2020 17:59:07 -0600 Subject: [PATCH 6/6] Revert "Update lookup.ts" This reverts commit 906a9610fc1b25d8ebfe90a6327b279b133213c2. --- src/store/lookup.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/store/lookup.ts b/src/store/lookup.ts index 2e5295641b..3d41ffde15 100644 --- a/src/store/lookup.ts +++ b/src/store/lookup.ts @@ -63,7 +63,6 @@ async function lookup(browser: Browser, store: Store) { // used to detect bot traffic, it introduces a 5 second page delay // before redirecting to the next page await processBackoffDelay(store, link, statusCode); - await closePage(page); if (config.browser.isIncognito) { await context.close();