Files
streetmerchant/search/search_index.json

1 line
115 KiB
JSON

{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Features \u00b6 First and foremost, this service will not automatically buy for you. Checks stock continuously -- runs 24/7, 365, looking for the items you want. Ready for checkout -- ability to add to cart when available and even opens the browser for you. Notifications galore -- when you're not by your computer, worry free with notifications to most platforms and devices when an item comes in stock. Getting started \u00b6 You'll find most of the content on the left sidebar. The right sidebar will help you navigate a page. Contributing \u00b6 Give helpful tips and tricks to the community based wiki . Add to the documentation through pull requests . Fork and make a pull request to the repository. Looking for help \u00b6 Have an idea, question, or need help? Visit our GitHub discussion board . Ran into a bug? File a GitHub issue . Looking to hang out and talk shop? Join us on Discord . Supporting the project \u00b6 The best way to support me is to donate to Diabetes Research Institute . The Diabetes Research Institute leads the world in cure-focused diabetes research. diabetesresearch.org If you feel inclined to support me directly, here are those options: GitHub Sponsors Paypal","title":"Home"},{"location":"#features","text":"First and foremost, this service will not automatically buy for you. Checks stock continuously -- runs 24/7, 365, looking for the items you want. Ready for checkout -- ability to add to cart when available and even opens the browser for you. Notifications galore -- when you're not by your computer, worry free with notifications to most platforms and devices when an item comes in stock.","title":"Features"},{"location":"#getting-started","text":"You'll find most of the content on the left sidebar. The right sidebar will help you navigate a page.","title":"Getting started"},{"location":"#contributing","text":"Give helpful tips and tricks to the community based wiki . Add to the documentation through pull requests . Fork and make a pull request to the repository.","title":"Contributing"},{"location":"#looking-for-help","text":"Have an idea, question, or need help? Visit our GitHub discussion board . Ran into a bug? File a GitHub issue . Looking to hang out and talk shop? Join us on Discord .","title":"Looking for help"},{"location":"#supporting-the-project","text":"The best way to support me is to donate to Diabetes Research Institute . The Diabetes Research Institute leads the world in cure-focused diabetes research. diabetesresearch.org If you feel inclined to support me directly, here are those options: GitHub Sponsors Paypal","title":"Supporting the project"},{"location":"about/","text":"About \u00b6 Background \u00b6 Remember on September 17 th , 2020 at 9 AM EST the Nvidia site went from Notify Me to Out of Stock instantly? Well, they didn't sell any cards. The real reason was that they weren't ready to sell them to us yet. That's right, they turned off their third party storefronts because they were being overloaded with our clicks. They still kept the other cards that use those APIs online, but they removed that one. It was re-enabled at some point for a brief moment, but the same thing happened -- servers overloaded with API requests. This is where streetmerchant comes in. It doesn't buy anything for you, but it makes it more of a stress free job to refresh and check sites while you go about your daily business. People took off work, missed appointments, and gave up other lively needs in hopes to buy a graphics card . Now we reach beyond graphics cards in hopes for other products! Please enjoy, jef","title":"About"},{"location":"about/#about","text":"","title":"About"},{"location":"about/#background","text":"Remember on September 17 th , 2020 at 9 AM EST the Nvidia site went from Notify Me to Out of Stock instantly? Well, they didn't sell any cards. The real reason was that they weren't ready to sell them to us yet. That's right, they turned off their third party storefronts because they were being overloaded with our clicks. They still kept the other cards that use those APIs online, but they removed that one. It was re-enabled at some point for a brief moment, but the same thing happened -- servers overloaded with API requests. This is where streetmerchant comes in. It doesn't buy anything for you, but it makes it more of a stress free job to refresh and check sites while you go about your daily business. People took off work, missed appointments, and gave up other lively needs in hopes to buy a graphics card . Now we reach beyond graphics cards in hopes for other products! Please enjoy, jef","title":"Background"},{"location":"changelog/","text":"Changelog \u00b6 3.5.0 (2021-03-02) \u00b6 Features \u00b6 add restart time for leaking Chromium in Ubuntu ( #1880 ) ( 1009ce6 ) add terraform infra as code for AWS fargate ( #1987 ) ( d341ef7 ) clean up proxy logging with n/N in each lookup ( #1839 ) ( 8df4339 ) notification: add simple SmartThings switch activation ( #1902 ) ( c22c960 ) notification: add Streamlabs support ( #1872 ) ( edb39f8 ) nvidia: updated store for europe ( #1732 ) ( 2143b15 ) sms: add US Cellular ( #1874 ) ( 4455e4e ) store: add globaldata ( #2004 ) ( 5effbae ) store: add ldlc (FR) ( #2037 ) ( a7be09d ) store: add netonnet-no ( #1989 ) ( e6803d4 ) store: add Norwegian stores ( #1985 ) ( 5a5927b ) store: add novoatalho (PT) ( #2043 ) ( a3c726b ) store: add PCDiga.com ( #1990 ) ( 2501f6b ) store: corsair-uk ( #1733 ) ( c81282e ) use node 15, use package version ( #2066 ) ( eee669b ) Bug Fixes \u00b6 alternate: update URLs ( #1814 ) ( d63685f ) amazon-ca: out of stock check was missing ( #1885 ) ( 0e65f33 ) amazon-ca: update selector ( #1851 ) ( 3293184 ) amazon-uk: add label for ps5 ( 8ee6815 ), closes #2036 discord: ensure first group in list is notified ( #1788 ) ( 9791568 ) docs: nvidia store changes ( #1797 ) ( de1427c ) galaxus: update selector ( #1730 ) ( 1015358 ) microcenter: properly flag in stock items ( #1754 ) ( ce609fb ) nvidia: update inStock text ( #1850 ) ( 4f57df0 ) remove package-lock.json ( e3d0980 ) vuugo: add out of stock check ( #1731 ) ( 9695e29 ) web: 404 Error / page not visible ( #1825 ) ( 95b4a15 ) wipoid: corrected 3070 / 3080 links ( #1879 ) ( 2572c8a ) 3.4.1 (2021-01-17) \u00b6 Bug Fixes \u00b6 proxy: build proxyList correctly ( c177aed ) 3.4.0 (2021-01-17) \u00b6 Features \u00b6 add browser opening to test:notification ( f87053c ) add c8 and mocha for testing ( f87053c ) add command parameter to set custom dotenv conf ( #1590 ) ( b03d242 ) add redis ( #1390 ) ( fb82526 ) asus: add outOfStock label ( #1653 ) ( d0a4667 ), closes #368 azerty: add ryzen 5000 series ( #878 ) ( ca59777 ) caseking: add 3060ti/3070 cards / add missing 3080/3090 cards ( #1715 ) ( b2ebac3 ) galaxus: update selector, add out of stock check ( #1607 ) ( c9cda1e ) lookup: add max price for xbox ( f34a808 ), closes #1436 lookup: add protection against infinite recursion for Cloudflare ( #1505 ) ( 1cf618c ), closes #1459 #1490 lookup: handle Cloudflare DDoS protection ( #1434 ) ( f86a825 ), closes #1297 proshop-de: add proshop-de inStock selector ( #1633 ) ( 9c2ea8d ) proxy: fallback to a global proxy list ( #1388 ) ( be1953b ) pushover: add screenshot to push notification if available ( #1552 ) ( f9a3d03 ) remove stale user agents, use top 50 ( 6e2a162 ) store: add johnlewis store, add shopto store ( #1481 ) ( ec8d357 ) store: add equippr & futurex for DE region ( #1501 ) ( 5b70ff1 ) store: add GPU and CPU support for Vuugo ( #1555 ) ( 8ab6e1f ) store: add more italian sites ( #1701 ) ( cb898c7 ) store: add pcking and acompc ( #1470 ) ( beee355 ) store: add SG Location for Amazon and Newegg ( #1600 ) ( ef926d2 ) store: addition of several australian sites ( #1651 ) ( 2fa8937 ) store: specify links to navigate to between product searches ( #1542 ) ( 0982774 ) twilio: add support to have multiple numbers ( #1450 ) ( 83508bc ) update Docker and ci ( f87053c ) vsgamers: add maxPrice selector( #1682 ) ( 84382de ) web: properly set for attribute for labels ( #1626 ) ( c0638d2 ) Bug Fixes \u00b6 acompc: false positives ( #1699 ) ( 0a1198b ) amazon-de-warehouse: update wrong maxPrice selector ( #1514 ) ( 90fb430 ) bandh: asus cards / out of stock check added ( #1670 ) ( b821eab ) bestbuy: shorter pageview urls and missing carturl links ( #1613 ) ( 8faf320 ), closes #1610 computeruniverse: false positives ( #1698 ) ( e0849c4 ) disable redis if not configured ( 6bc7737 ), closes #1516 galaxus: maxPrice selector ( #1469 ) ( 7a5bc22 ) galaxus: update selector ( 14.01.2020 07:00 ) ( #1664 ) ( a768eb4 ) galaxus: update selector ( #1578 ) ( ad5bd55 ) galaxus: update selector ( #1599 ) ( 445a007 ) galaxus: update selector ( #1705 ) ( 2120d29 ) lookup: check out of stock before price ( #1422 ) ( 02d29c3 ) lookup: remove mobile versions of user agent ( 96ae818 ) newegg: false positives (all stores) ( #1714 ) ( 3f191bb ) properly pass array entries as separate indices ( #1502 ) ( 0c6e2d5 ) proxy: fix requests with proxies ( #1408 ) ( f65df4c ) proxy: update proxy module ( #1451 ) ( ab03702 ), closes #1437 store: link builder in UK stores ( #1486 ) ( eb59dc3 ) store: Update 30 series links and models for store.asus.com ( #1645 ) ( 20bea85 ), closes #1637 store: update missing/mislabeled cards for Canadian retailers ( #1574 ) ( 082776c ) store: update out of stock detection for MediaMarkt and Saturn ( #1549 ) ( 4f86d24 ), closes #1545 webui: handling of file serving ( #1383 ) ( 445689e ) wipoid: added 3090/3080/3070/3060ti/ryzen store items ( #1683 ) ( be54171 ) 3.3.0 (2020-12-13) \u00b6 Features \u00b6 discord: dynamic currency symbol ( #1328 ) ( cccfde2 ) docs: add mkdocs ( 243109a ) docs: add table sorting ( #1258 ) ( 5955d10 ) lookup: use random user agents ( #1335 ) ( b599c23 ) notification: add discord groups ( #1211 ) ( 2632386 ) notification: add sound player executable option ( #1301 ) ( 8d19231 ) playstation: add queuing selector ( #1173 ) ( 67b19a7 ) store: add darkhero motherboard to asus and microcenter ( #1336 ) ( 29175c7 ) store: add EBGames ( #1281 ) ( 27cfb94 ) store: add Irish store variants ( #1373 ) ( f70998f ) store: add Megekko ( #1216 ) ( 30bed2a ) store: add several Australian stores, add some 3080 brands/models ( #1367 ) ( 579cb97 ) store: add Toys R Us ( #1257 ) ( ac0bd2a ) store: add Walmart (CA) ( #1253 ) ( b535b47 ) Bug Fixes \u00b6 adblock: proxy another function to produce less errors ( #1379 ) ( eb70076 ) amazon-it: maxPrice selector and links ( #1239 ) ( 84f2cb7 ) amazon-nl: inStock selector ( b6964b0 ), closes #1366 bestbuy-ca: add outOfStock text ( 58f0a9c ), closes #1269 bestbuy-ca: update selectors to help false positives ( #1278 ) ( 0525119 ), closes #895 ci: mkdocs deps ( 1f63e99 ) config: disable docker by default ( dca916b ) config: remove quotes ( ef452d8 ) discord: notification groupings ( ad0b2fe ) docker: run in docker, and build scripts for docker ( #1291 ) ( c74ea28 ) eprice: inStock selector ( 5e1dfc3 ), closes #1067 newegg: dedupe nitro+ models ( #1300 ) ( 7329c6e ), closes #1230 newegg: price selector and mobile inStock ( c3beedc ), closes #1356 pushover: add expire and retry ( 0072dda ), closes #983 store: update UK stores ( #1372 ) ( 02825d0 ) .env backwards compatibility ( 9b7c7e2 ) add setRequestInterception ( #1312 ) ( a44621f ), closes #826 store: italian store checks ( #1212 ) ( e3eb386 ) Reverts \u00b6 allow users to still use USER_AGENT ( 3386e8f ) 3.2.0 (2020-12-06) \u00b6 Features \u00b6 bestbuy: add 3060 series ( #1074 ) ( e9a39c4 ) bestbuy-ca: add 3060ti cards ( 29478bf ) notification: add price to links ( #1209 ) ( 15ec12b ), closes #1188 #673 #1187 proxy: socks5 support ( #933 ) ( 364c6c2 ) store: add 3060ti to newegg-ca, canadacomputer, memoryexpress ( #1172 ) ( 09f0236 ) store: add amazon-de-warehouse ( #1102 ) ( 6de8c4a ) store: add antonline store ( #1042 ) ( 19eece1 ) store: add argos with ps5 ( b2f5c1a ) store: add awd(uk), add 3060ti link builders ( #1114 ) ( 36e3806 ) store: add custom labels for links ( #1183 ) ( f7b32e8 ), closes #1132 #1163 store: add el corte ingles ( #1107 ) ( 75ee95b ) store: add ePrice store ( #1016 ) ( 30a51a3 ) store: add Euronics DE ( #1045 ) ( 1774afc ) store: add expert ( #1105 ) ( 202698f ) store: add Gamestop DE ( #1046 ) ( 79a3f33 ) store: add Medimax ( #1057 ) ( 7d29ef8 ) store: add Otto ( #1096 ) ( af96c5f ) store: add smythstoys ( 1ed0593 ) store: add some italian stores with ps5 links ( #976 ) ( f663579 ) store: add spielegrotte ( #1056 ) ( cf70f1f ) store: add wipoid store ( #1018 ) ( feae978 ) store: update the italian store links ( #1002 ) ( de7036c ) topachat: add maxPrice ( d7f2427 ), closes #1097 add proxy rotation (settable per store) ( #1026 ) ( 490d44e ) Bug Fixes \u00b6 amazon: price and cart buttons ( 6fd023e ), closes #1125 amazon-de: inStock selector ( 14cbd5a ), closes #1178 amazon-de: remove xbox cart links ( cbc4330 ), closes #1095 bestbuy-ca: model always indicating in stock ( #1145 ) ( 06f3aaf ) bestbuy-ca: replace old evga xc3 ultra ( #1058 ) ( 65df944 ) canadacomputers: add inStock selector, use english links ( #889 ) ( 06214eb ) memoryexpress: add backorder to outOfStock selector ( #890 ) ( 67605a6 ) newegg: maxPrice selector using used price ( feddac7 ), closes #1052 newegg: typo in 5800x url( #903 ) ( a99eecb ) scan: links builder ( #1161 ) ( ca5553c ) smythstoys: add out of stock label ( 5bbdfa2 ) store: add backoffStatusCodes and new captcha container ( #1110 ) ( 0b11238 ) store: removes unnecessary newegg links from bestbuy ( #1126 ) ( f2ae423 ), closes #1119 store: update euroFormat for expert and otto ( #1108 ) ( e198e44 ) walmart: instock container and add test:series ( 21e74cf ), closes #1106 related products being picked up on scan ( #954 ) ( db18157 ) 3.1.0 (2020-11-22) \u00b6 Features \u00b6 asus: add backoff codes ( #790 ) ( 501ea34 ) canadacomputers: add ryzen 5000 series ( #842 ) ( 6f27330 ) coolmod: add maxPrice ( #862 ) ( 4b689cb ) newegg-ca: add big navi links ( #843 ) ( 6d292a1 ) notification: add product link to email and telegram ( #816 ) ( 777c31b ) playstation: add outOfStock label ( #812 ) ( eb314af ) store: add PlayStation store ( #806 ) ( 7c28c7f ) store: add 3070 models to pccomponentes & coolmod ( #820 ) ( d0ebffd ) store: add amd rx 6000 series model ( #832 ) ( 89a762e ) store: add captcha check to saturn and mediamarkt ( #876 ) ( 2d01cfd ) store: add corsair sfx PSUs ( #881 ) ( e552c91 ) store: add topachat ( #776 ) ( c38bebb ) store: add vsgamers ( #767 ) ( 53739e0 ) add amazon-fr to stores. ( #766 ) ( 02d7c47 ) store: support for canadacomputers ( #772 ) ( bd69e47 ) Bug Fixes \u00b6 amazon: add 5800x and 5600x ( #802 ) ( 167713b ) bestbuy-ca: use proper selector ( #801 ) ( 63d550c ) config: correcting newline split for multiple user agents ( #824 ) ( f16a9fb ) store: generate links only for selected stores ( 292e360 ), closes #694 Reverts \u00b6 correcting newline split for multiple user agents ( af631c8 ), closes #824 pipeline changes ( efe0d64 ) 3.0.0 (2020-11-12) \u00b6 \u26a0 BREAKING CHANGES \u00b6 removed duplicated Model Features \u00b6 amazon: add more 3070s ( #719 ) ( dde9837 ) coolmod: add zen 3 ( #754 ) ( 3270292 ) discord: add cart link to embed ( #762 ) ( ccb207a ) store: support for kabum (amd and rtx 30 series) ( #727 ) ( 23d061b ) add option to disable auto add to cart ( #759 ) ( a5249ec ) fix metadata in logging, lint prettier, typed Model s ( #747 ) ( 318e626 ) amazon-ca: add ps5 ( #713 ) ( 2570056 ) amd: add 5950 config ( #685 ) ( 31a3d8f ) amd: add env vars and series filtering ( #696 ) ( df3b10b ) galaxus: add zen 3 ( #729 ) ( 4e086e9 ) mindfactory: add ryzen 5900x, 5950x ( #720 ) ( 0362bf8 ) notification: add philips hue ( #681 ) ( c8a9b0b ) notification: support for multiple phone numbers ( #738 ) ( 9f28fe5 ) ps5: add console and digital edition ( #709 ) ( 42ef7cf ) store: add arlt and amd-de ( #721 ) ( 38937f6 ) store: add game store, add ps5 for uk stores ( #736 ) ( 0128718 ) store: add ps5 to german stores ( #715 ) ( 2291b8e ) store: add xbox series x and s ( #732 ) ( 314f533 ) store: add zen 3 to german stores ( #702 ) ( 71d5cb4 ) store: add zen 3 to more stores ( #698 ) ( 760ddf5 ) store: Adds AM3 to microcenter ( #707 ) ( 8a45905 ) target: add additional selector for 'ship it' ( #737 ) ( ab1fddf ) add production scripts and better Dockerfile ( 0d14500 ), closes #710 bring back ascii banner, but make it configurable ( #703 ) ( 0a680e9 ) memoryexpress website support ( #717 ) ( c02241c ) Bug Fixes \u00b6 docker: copy web directory ( #745 ) ( 0754fec ) walmart: ps5 digital url ( #763 ) ( 841647c ) environment variables to match ryzen cpus ( 5db8348 ) revert to 14.15.0 until 15 is stable for tsc ( 2955ea7 ), closes #691 Code Refactoring \u00b6 removed duplicated Model ( d19dd5a ) 2.0.0 (2020-11-05) \u00b6 \u26a0 BREAKING CHANGES \u00b6 update naming to streetmerchant Features \u00b6 asus: realtime api ( #675 ) ( 018784e ) newegg-ca: realtime api ( #674 ) ( 3c5407f ) Bug Fixes \u00b6 filterBrandsSeriesModels: always loop all stores ( #680 ) ( 6ced13e ) Miscellaneous Chores \u00b6 update naming to streetmerchant ( 3f9b3c6 ) 1.7.0 (2020-11-03) \u00b6 Features \u00b6 add deprecation notices ( 601742c ) newegg realtime api ( #664 ) ( 5b3e95a ) Bug Fixes \u00b6 banner: add version to docker image ( #649 ) ( 1d2a33b ) 1.6.0 (2020-10-29) \u00b6 Features \u00b6 add series to Discord webhook ( #618 ) ( 273d058 ) api: add rudimentary web control panel ( #183 ) ( 373d1a9 ) store: add founders editions to notebooksbilliger.de ( #593 ) ( 2e5db7a ) store: add max price containers to multiple stores ( #579 ) ( f9c4c25 ) store: add new cards to german web shops ( #597 ) ( 699de57 ) store: Add PCComponentes and Amazon-ES Stores. ( #558 ) ( 062201f ) store: support for azerty ( #557 ) ( 58416e1 ) store: support for coolmod ( #605 ) ( c1dda4f ) add meta to logger ( #437 ) ( ae6bc86 ) add alternate.nl support ( #552 ) ( aca6523 ) add asus-de store and asus 3080 tuf/oc to amazon-de ( #436 ) ( b4d8733 ) add caseking and proshop-de store ( #521 ) ( 1aaa102 ) add coolblue store ( #482 ) ( 5c61333 ) add german stores ( #462 ) ( 85a07dc ) add incognito mode ( #534 ) ( 2b6457e ) add link series to error message for better context ( #265 ) ( 332b4a8 ) Add PagerDuty Integration ( #565 ) ( 11ee0bf ) add proshop-dk ( #524 ) ( dc2fcf5 ) add support for multiple browser user agents ( #547 ) ( 10a81dc ) add uk stores ( #455 ) ( b9b6b55 ) allow filtering per model by a specific series ( #595 ) ( a42418f ) optional per store min and max page sleep time ( #576 ) ( 503d76f ) notification: add to field for email ( #327 ) ( 8828dd1 ) store: add ttl for scan ( #555 ) ( 4847725 ) add rog strix oc to amazon-de ( #471 ) ( e5909c5 ) add support for specifying smtp server ( #458 ) ( 160ae37 ) allow multiple microcenter locations ( #487 ) ( 2b0eab6 ) clear cookies and cache ( #515 ) ( 1f89945 ), closes #417 max price per series ( #451 ) ( 8adc07a ) mqtt alerts ( #538 ) ( 68ff5bf ) twitch chat notification, multiple telegram chat ids and german web shop overhaul ( #528 ) ( 675f13a ) docker: add docker and publish images to ghcr ( #411 ) ( c857985 ) notification: add at&t prepaid carrier ( #425 ) ( eb9d082 ) notification: add pushover priority setting ( #186 ) ( f277172 ) notification: add Twillio notification provider ( #344 ) ( f2f8d81 ) store: add pny ( #295 ) ( f6760d3 ) store: add 3090s to amazon-ca ( #274 ) ( e992cf4 ) store: add additional cards to all stores ( #286 ) ( d25a643 ) store: add amazon cards and cartUrl s ( #284 ) ( d69189f ) store: add asus strix oc to asus store ( #385 ) ( e55398e ) store: add evga 3090 to newegg canada ( #396 ) ( 313d176 ) store: add ftw3 ultra to microcenter ( #448 ) ( 5109227 ) store: add gamestop ( #390 ) ( 7148451 ) store: add models to bestbuy ( #421 ) ( 4085136 ) store: add rog-strix-3080 to newegg-ca ( #489 ) ( 207bc41 ) add norway to nvidia-api ( #304 ) ( eda6c85 ) configurable status code behaviours ( #340 ) ( 3b7487e ) enhanced lookup behaviour ( #270 ) ( b868d1a ) in stock wait time per link now ( c7a716f ) low bandwidth mode ( #294 ) ( 0aa7ab5 ) max price filtering ( #383 ) ( fd294d2 ) store: adds aorus master 3080 to newegg ( #402 ) ( fddc002 ) retry logic for nvidia session token and adding to cart ( #347 ) ( 1bac1b9 ) support for proxy server ( #352 ) ( fdcd787 ) store: nvidia debug card for \"product details\" page ( #337 ) ( 5b8d774 ) Bug Fixes \u00b6 amazon.{nl,de} test urls ( #345 ) ( 589fbbc ) envOrNumber behavior ( #364 ) ( 7d8897c ) nvidia-api ( #314 ) ( 8d8e5b5 ) add amazon-nl , captcha amazon-de , add ftw3 newegg ( #293 ) ( a2983eb ) add status code 429 to bandh backOffStatusCodes ( #404 ) ( 7a981e7 ) add support for stores label text to have uppercase letters ( #526 ) ( 5ea7cc4 ) asus store links ( #573 ) ( f6db348 ) bestbuy label container selector precision ( #491 ) ( cbc3b0b ) corrected norway locales ( #356 ) ( d2476dd ) cyclical dependencies ( ed970fc ), closes #468 denver microcenter name ( #296 ) ( 349f55d ) dutch stores components ( #513 ) ( 586029c ) gamestop false positives ( #395 ) ( d3bb507 ) in stock wait time ( #325 ) ( 07bd246 ), closes #315 max price getter updated to match .env ( #516 ) ( 32f114b ), closes #514 #510 page sleep ( #586 ) ( a2af30b ), closes #594 #576 remove 3090 drid for DK/FI regions ( #361 ) ( f1d22d1 ) trim strings from comma-separated values ( #472 ) ( f7ed865 ) typo in maxPrice for 3090 ( #496 ) ( e073590 ) update gigabyte model vision oc ( #550 ) ( 4fefe22 ) update new additions with web panel and sleep operations ( #606 ) ( 61a23fe ) update pushbullet import to match package ( #637 ) ( d7360f7 ) env: default LOG_LEVEL ( 9636572 ) notification: discord false triggers ( #346 ) ( 3b90bbb ) notification: sms subject output ( #298 ) ( 03755d5 ) notifications: twilio client creation ( #349 ) ( 5414b24 ) store: gamestop label.inStock ( 9e7976d ) store: pccomponents model normalization ( #563 ) ( 699e77d ) updating amazon test model card to an in stock product ( #492 ) ( 81daa7c ) config: MAX_PRICE quotations ( #426 ) ( b7e5941 ) store: container names on nvidia ( #333 ) ( 772de90 ) store: update inStock and maxPrice for newegg, newegg-ca ( #433 ) ( 628cab1 ), closes #400 Reverts \u00b6 reduce false-positive during ci/cd ( 79b9bfe ) 1.5.0 (2020-09-24) \u00b6 Features \u00b6 filter models ( #261 ) ( e1b34a9 ) log: colors for console logs ( #207 ) ( 0ad67fe ) notification: add desktop notifications ( #140 ) ( 722eaf3 ) notification: add pushbullet, add url with notifications ( #226 ) ( 74490ea ) notification: twitter integration ( #224 ) ( 908ed35 ) store: add bannedSeller label for stores ( #173 ) ( 71c6774 ) store: add amazon-de ( #167 ) ( 8a70f14 ) store: add bestbuy.ca ( #229 ) ( 22fd22f ) store: add evga eu ( #172 ) ( 605bdd7 ) store: add evga model ( #220 ) ( 190388c ) store: add microcenter store location config ( #215 ) ( d6a27c9 ) stores: add 3090 for bestbuy, newegg ( #249 ) ( dd45dba ) stores: add 3090s for amazon-ca, bestbuy-ca, newegg-ca ( #258 ) ( 482fb58 ) add chromium sandbox skipping ( #209 ) ( 2065680 ) deprecate nvidia (api), add 3080 add 3090 ( 9f470f0 ) invert logic ( #141 ) ( 6608a79 ) multiple discord roles and webhooks, qol for envs ( #260 ) ( 8913879 ) store: add newegg.ca ( #160 ) ( 76f5849 ), closes #159 store: add office depot ( #157 ) ( 0df2dcf ) store: add zotac store ( #214 ) ( 7875855 ) add delay on captcha to try and evade faster ( #119 ) ( 4f83b3b ) bestbuy bypass international splash, newegg add to cart ( #153 ) ( 133a54f ) card series filter, fix: newegg oosLabels ( #120 ) ( 252459d ) custom user agent ( #121 ) ( d9be3fe ) include screenshot for emails + sms notifications ( #144 ) ( 7191e03 ) load puppeteer faster, run stores in parallel ( #83 ) ( d1a5aa1 ) set country in config, login to nvidia when starting ( #162 ) ( ebd6091 ) temporarily pause requests if store has stock ( #147 ) ( 6413144 ) update for complex add to cart, fix nvidia ( #108 ) ( 3ea146d ) notification: discord integration ( #82 ) ( a3fc07d ) scraping: change lookup impl, add randomize sleep ( #110 ) ( dc0f710 ) store: add adorama ( #104 ) ( 5b91065 ) store: add asus ( #102 ) ( a501cf7 ) Bug Fixes \u00b6 store: adorama captcha config ( #234 ) ( 9a53917 ) color logs and notification ( 76b28a6 ) notification: change discord ping visibility ( #168 ) ( 9675c5b ) store: bandh removed cards ( #201 ) ( 6409646 ) rateLimitTimeout not being defaulted ( #106 ) ( 28947be ) check response for rate limiting ( #58 ) ( #98 ) ( b7d9462 ) keep single Store from draining ( e819e46 ) memory leak due to adblocker ( #139 ) ( 0f6e570 ) nvidia: false positives ( #132 ) ( a75d214 ) newegg out-of-stock ( #124 ) ( 770a13a ) newegg out-of-stock labels ( #134 ) ( 19c8f18 ) notification: wrong condition for sounds playing ( #91 ) ( 103d96d ) store: false positives for nvidia. ( #85 ) ( c65fa04 ) 1.4.0 (2020-09-19) \u00b6 Features \u00b6 notification: add mint mobile carrier ( #70 ) ( 8aba7ec ) notification: add pushover ( #55 ) ( c85658b ) notification: add telegram ( #71 ) ( 393d5f6 ) notification: add telus sms ( 6be74a1 ) store: add amazon.ca, fix timeout ( #75 ) ( d4de1a4 ) webpage toggle, sound notification, fix evga links ( #52 ) ( a217409 ) Performance Improvements \u00b6 browser abstraction ( #68 ) ( #81 ) ( ebbdfe3 ) 1.3.0 (2020-09-19) \u00b6 Features \u00b6 logging: add timestamp ( #48 ) ( 6c3cd01 ) Bug Fixes \u00b6 store: amazon captcha false-positives ( #54 ) ( 5c9e0b6 ) evga xc3 ultra link ( #56 ) ( d907092 ) screenshot size, add screenshot config setting ( #53 ) ( 7cfc7c7 ) sms carrier config, add google carrier ( #44 ) ( 971fec2 ) 1.2.0 (2020-09-19) \u00b6 Features \u00b6 ci: add npm run build ( faad3e6 ) store: microcenter ( #39 ) ( edf17e9 ) add Amazon links ( #26 ) ( f0560ce ) add email test, fix memory leak ( #24 ) ( a2fb973 ) more Best Buy AIBs ( #41 ) ( 7d7bd18 ) page timeout ( #22 ) ( 643045c ) slack integration ( #34 ) ( c0a881a ) sms notification for usa carriers ( #40 ) ( 5a3636b ) update to check if FE in-stock via Digital River ( #29 ) ( 00ede13 ) Bug Fixes \u00b6 small error in isOutOfStock logic ( #33 ) ( c2a210c ) 1.1.0 (2020-09-18) \u00b6 Features \u00b6 add conventional commits ( #14 ) ( eb4f5e0 ) add evga ( #17 ) ( #18 ) ( 6c65032 ) Bug Fixes \u00b6 exception handling TimeoutError ( #20 ) ( #21 ) ( 00a0687 ) 1.0.0 (2020-09-18) \u00b6 Features \u00b6 use ts, update cd, update README ( #12 ) ( e9fc0bf )","title":"Changelog"},{"location":"changelog/#changelog","text":"","title":"Changelog"},{"location":"changelog/#350-2021-03-02","text":"","title":"3.5.0 (2021-03-02)"},{"location":"changelog/#features","text":"add restart time for leaking Chromium in Ubuntu ( #1880 ) ( 1009ce6 ) add terraform infra as code for AWS fargate ( #1987 ) ( d341ef7 ) clean up proxy logging with n/N in each lookup ( #1839 ) ( 8df4339 ) notification: add simple SmartThings switch activation ( #1902 ) ( c22c960 ) notification: add Streamlabs support ( #1872 ) ( edb39f8 ) nvidia: updated store for europe ( #1732 ) ( 2143b15 ) sms: add US Cellular ( #1874 ) ( 4455e4e ) store: add globaldata ( #2004 ) ( 5effbae ) store: add ldlc (FR) ( #2037 ) ( a7be09d ) store: add netonnet-no ( #1989 ) ( e6803d4 ) store: add Norwegian stores ( #1985 ) ( 5a5927b ) store: add novoatalho (PT) ( #2043 ) ( a3c726b ) store: add PCDiga.com ( #1990 ) ( 2501f6b ) store: corsair-uk ( #1733 ) ( c81282e ) use node 15, use package version ( #2066 ) ( eee669b )","title":"Features"},{"location":"changelog/#bug-fixes","text":"alternate: update URLs ( #1814 ) ( d63685f ) amazon-ca: out of stock check was missing ( #1885 ) ( 0e65f33 ) amazon-ca: update selector ( #1851 ) ( 3293184 ) amazon-uk: add label for ps5 ( 8ee6815 ), closes #2036 discord: ensure first group in list is notified ( #1788 ) ( 9791568 ) docs: nvidia store changes ( #1797 ) ( de1427c ) galaxus: update selector ( #1730 ) ( 1015358 ) microcenter: properly flag in stock items ( #1754 ) ( ce609fb ) nvidia: update inStock text ( #1850 ) ( 4f57df0 ) remove package-lock.json ( e3d0980 ) vuugo: add out of stock check ( #1731 ) ( 9695e29 ) web: 404 Error / page not visible ( #1825 ) ( 95b4a15 ) wipoid: corrected 3070 / 3080 links ( #1879 ) ( 2572c8a )","title":"Bug Fixes"},{"location":"changelog/#341-2021-01-17","text":"","title":"3.4.1 (2021-01-17)"},{"location":"changelog/#bug-fixes_1","text":"proxy: build proxyList correctly ( c177aed )","title":"Bug Fixes"},{"location":"changelog/#340-2021-01-17","text":"","title":"3.4.0 (2021-01-17)"},{"location":"changelog/#features_1","text":"add browser opening to test:notification ( f87053c ) add c8 and mocha for testing ( f87053c ) add command parameter to set custom dotenv conf ( #1590 ) ( b03d242 ) add redis ( #1390 ) ( fb82526 ) asus: add outOfStock label ( #1653 ) ( d0a4667 ), closes #368 azerty: add ryzen 5000 series ( #878 ) ( ca59777 ) caseking: add 3060ti/3070 cards / add missing 3080/3090 cards ( #1715 ) ( b2ebac3 ) galaxus: update selector, add out of stock check ( #1607 ) ( c9cda1e ) lookup: add max price for xbox ( f34a808 ), closes #1436 lookup: add protection against infinite recursion for Cloudflare ( #1505 ) ( 1cf618c ), closes #1459 #1490 lookup: handle Cloudflare DDoS protection ( #1434 ) ( f86a825 ), closes #1297 proshop-de: add proshop-de inStock selector ( #1633 ) ( 9c2ea8d ) proxy: fallback to a global proxy list ( #1388 ) ( be1953b ) pushover: add screenshot to push notification if available ( #1552 ) ( f9a3d03 ) remove stale user agents, use top 50 ( 6e2a162 ) store: add johnlewis store, add shopto store ( #1481 ) ( ec8d357 ) store: add equippr & futurex for DE region ( #1501 ) ( 5b70ff1 ) store: add GPU and CPU support for Vuugo ( #1555 ) ( 8ab6e1f ) store: add more italian sites ( #1701 ) ( cb898c7 ) store: add pcking and acompc ( #1470 ) ( beee355 ) store: add SG Location for Amazon and Newegg ( #1600 ) ( ef926d2 ) store: addition of several australian sites ( #1651 ) ( 2fa8937 ) store: specify links to navigate to between product searches ( #1542 ) ( 0982774 ) twilio: add support to have multiple numbers ( #1450 ) ( 83508bc ) update Docker and ci ( f87053c ) vsgamers: add maxPrice selector( #1682 ) ( 84382de ) web: properly set for attribute for labels ( #1626 ) ( c0638d2 )","title":"Features"},{"location":"changelog/#bug-fixes_2","text":"acompc: false positives ( #1699 ) ( 0a1198b ) amazon-de-warehouse: update wrong maxPrice selector ( #1514 ) ( 90fb430 ) bandh: asus cards / out of stock check added ( #1670 ) ( b821eab ) bestbuy: shorter pageview urls and missing carturl links ( #1613 ) ( 8faf320 ), closes #1610 computeruniverse: false positives ( #1698 ) ( e0849c4 ) disable redis if not configured ( 6bc7737 ), closes #1516 galaxus: maxPrice selector ( #1469 ) ( 7a5bc22 ) galaxus: update selector ( 14.01.2020 07:00 ) ( #1664 ) ( a768eb4 ) galaxus: update selector ( #1578 ) ( ad5bd55 ) galaxus: update selector ( #1599 ) ( 445a007 ) galaxus: update selector ( #1705 ) ( 2120d29 ) lookup: check out of stock before price ( #1422 ) ( 02d29c3 ) lookup: remove mobile versions of user agent ( 96ae818 ) newegg: false positives (all stores) ( #1714 ) ( 3f191bb ) properly pass array entries as separate indices ( #1502 ) ( 0c6e2d5 ) proxy: fix requests with proxies ( #1408 ) ( f65df4c ) proxy: update proxy module ( #1451 ) ( ab03702 ), closes #1437 store: link builder in UK stores ( #1486 ) ( eb59dc3 ) store: Update 30 series links and models for store.asus.com ( #1645 ) ( 20bea85 ), closes #1637 store: update missing/mislabeled cards for Canadian retailers ( #1574 ) ( 082776c ) store: update out of stock detection for MediaMarkt and Saturn ( #1549 ) ( 4f86d24 ), closes #1545 webui: handling of file serving ( #1383 ) ( 445689e ) wipoid: added 3090/3080/3070/3060ti/ryzen store items ( #1683 ) ( be54171 )","title":"Bug Fixes"},{"location":"changelog/#330-2020-12-13","text":"","title":"3.3.0 (2020-12-13)"},{"location":"changelog/#features_2","text":"discord: dynamic currency symbol ( #1328 ) ( cccfde2 ) docs: add mkdocs ( 243109a ) docs: add table sorting ( #1258 ) ( 5955d10 ) lookup: use random user agents ( #1335 ) ( b599c23 ) notification: add discord groups ( #1211 ) ( 2632386 ) notification: add sound player executable option ( #1301 ) ( 8d19231 ) playstation: add queuing selector ( #1173 ) ( 67b19a7 ) store: add darkhero motherboard to asus and microcenter ( #1336 ) ( 29175c7 ) store: add EBGames ( #1281 ) ( 27cfb94 ) store: add Irish store variants ( #1373 ) ( f70998f ) store: add Megekko ( #1216 ) ( 30bed2a ) store: add several Australian stores, add some 3080 brands/models ( #1367 ) ( 579cb97 ) store: add Toys R Us ( #1257 ) ( ac0bd2a ) store: add Walmart (CA) ( #1253 ) ( b535b47 )","title":"Features"},{"location":"changelog/#bug-fixes_3","text":"adblock: proxy another function to produce less errors ( #1379 ) ( eb70076 ) amazon-it: maxPrice selector and links ( #1239 ) ( 84f2cb7 ) amazon-nl: inStock selector ( b6964b0 ), closes #1366 bestbuy-ca: add outOfStock text ( 58f0a9c ), closes #1269 bestbuy-ca: update selectors to help false positives ( #1278 ) ( 0525119 ), closes #895 ci: mkdocs deps ( 1f63e99 ) config: disable docker by default ( dca916b ) config: remove quotes ( ef452d8 ) discord: notification groupings ( ad0b2fe ) docker: run in docker, and build scripts for docker ( #1291 ) ( c74ea28 ) eprice: inStock selector ( 5e1dfc3 ), closes #1067 newegg: dedupe nitro+ models ( #1300 ) ( 7329c6e ), closes #1230 newegg: price selector and mobile inStock ( c3beedc ), closes #1356 pushover: add expire and retry ( 0072dda ), closes #983 store: update UK stores ( #1372 ) ( 02825d0 ) .env backwards compatibility ( 9b7c7e2 ) add setRequestInterception ( #1312 ) ( a44621f ), closes #826 store: italian store checks ( #1212 ) ( e3eb386 )","title":"Bug Fixes"},{"location":"changelog/#reverts","text":"allow users to still use USER_AGENT ( 3386e8f )","title":"Reverts"},{"location":"changelog/#320-2020-12-06","text":"","title":"3.2.0 (2020-12-06)"},{"location":"changelog/#features_3","text":"bestbuy: add 3060 series ( #1074 ) ( e9a39c4 ) bestbuy-ca: add 3060ti cards ( 29478bf ) notification: add price to links ( #1209 ) ( 15ec12b ), closes #1188 #673 #1187 proxy: socks5 support ( #933 ) ( 364c6c2 ) store: add 3060ti to newegg-ca, canadacomputer, memoryexpress ( #1172 ) ( 09f0236 ) store: add amazon-de-warehouse ( #1102 ) ( 6de8c4a ) store: add antonline store ( #1042 ) ( 19eece1 ) store: add argos with ps5 ( b2f5c1a ) store: add awd(uk), add 3060ti link builders ( #1114 ) ( 36e3806 ) store: add custom labels for links ( #1183 ) ( f7b32e8 ), closes #1132 #1163 store: add el corte ingles ( #1107 ) ( 75ee95b ) store: add ePrice store ( #1016 ) ( 30a51a3 ) store: add Euronics DE ( #1045 ) ( 1774afc ) store: add expert ( #1105 ) ( 202698f ) store: add Gamestop DE ( #1046 ) ( 79a3f33 ) store: add Medimax ( #1057 ) ( 7d29ef8 ) store: add Otto ( #1096 ) ( af96c5f ) store: add smythstoys ( 1ed0593 ) store: add some italian stores with ps5 links ( #976 ) ( f663579 ) store: add spielegrotte ( #1056 ) ( cf70f1f ) store: add wipoid store ( #1018 ) ( feae978 ) store: update the italian store links ( #1002 ) ( de7036c ) topachat: add maxPrice ( d7f2427 ), closes #1097 add proxy rotation (settable per store) ( #1026 ) ( 490d44e )","title":"Features"},{"location":"changelog/#bug-fixes_4","text":"amazon: price and cart buttons ( 6fd023e ), closes #1125 amazon-de: inStock selector ( 14cbd5a ), closes #1178 amazon-de: remove xbox cart links ( cbc4330 ), closes #1095 bestbuy-ca: model always indicating in stock ( #1145 ) ( 06f3aaf ) bestbuy-ca: replace old evga xc3 ultra ( #1058 ) ( 65df944 ) canadacomputers: add inStock selector, use english links ( #889 ) ( 06214eb ) memoryexpress: add backorder to outOfStock selector ( #890 ) ( 67605a6 ) newegg: maxPrice selector using used price ( feddac7 ), closes #1052 newegg: typo in 5800x url( #903 ) ( a99eecb ) scan: links builder ( #1161 ) ( ca5553c ) smythstoys: add out of stock label ( 5bbdfa2 ) store: add backoffStatusCodes and new captcha container ( #1110 ) ( 0b11238 ) store: removes unnecessary newegg links from bestbuy ( #1126 ) ( f2ae423 ), closes #1119 store: update euroFormat for expert and otto ( #1108 ) ( e198e44 ) walmart: instock container and add test:series ( 21e74cf ), closes #1106 related products being picked up on scan ( #954 ) ( db18157 )","title":"Bug Fixes"},{"location":"changelog/#310-2020-11-22","text":"","title":"3.1.0 (2020-11-22)"},{"location":"changelog/#features_4","text":"asus: add backoff codes ( #790 ) ( 501ea34 ) canadacomputers: add ryzen 5000 series ( #842 ) ( 6f27330 ) coolmod: add maxPrice ( #862 ) ( 4b689cb ) newegg-ca: add big navi links ( #843 ) ( 6d292a1 ) notification: add product link to email and telegram ( #816 ) ( 777c31b ) playstation: add outOfStock label ( #812 ) ( eb314af ) store: add PlayStation store ( #806 ) ( 7c28c7f ) store: add 3070 models to pccomponentes & coolmod ( #820 ) ( d0ebffd ) store: add amd rx 6000 series model ( #832 ) ( 89a762e ) store: add captcha check to saturn and mediamarkt ( #876 ) ( 2d01cfd ) store: add corsair sfx PSUs ( #881 ) ( e552c91 ) store: add topachat ( #776 ) ( c38bebb ) store: add vsgamers ( #767 ) ( 53739e0 ) add amazon-fr to stores. ( #766 ) ( 02d7c47 ) store: support for canadacomputers ( #772 ) ( bd69e47 )","title":"Features"},{"location":"changelog/#bug-fixes_5","text":"amazon: add 5800x and 5600x ( #802 ) ( 167713b ) bestbuy-ca: use proper selector ( #801 ) ( 63d550c ) config: correcting newline split for multiple user agents ( #824 ) ( f16a9fb ) store: generate links only for selected stores ( 292e360 ), closes #694","title":"Bug Fixes"},{"location":"changelog/#reverts_1","text":"correcting newline split for multiple user agents ( af631c8 ), closes #824 pipeline changes ( efe0d64 )","title":"Reverts"},{"location":"changelog/#300-2020-11-12","text":"","title":"3.0.0 (2020-11-12)"},{"location":"changelog/#breaking-changes","text":"removed duplicated Model","title":"\u26a0 BREAKING CHANGES"},{"location":"changelog/#features_5","text":"amazon: add more 3070s ( #719 ) ( dde9837 ) coolmod: add zen 3 ( #754 ) ( 3270292 ) discord: add cart link to embed ( #762 ) ( ccb207a ) store: support for kabum (amd and rtx 30 series) ( #727 ) ( 23d061b ) add option to disable auto add to cart ( #759 ) ( a5249ec ) fix metadata in logging, lint prettier, typed Model s ( #747 ) ( 318e626 ) amazon-ca: add ps5 ( #713 ) ( 2570056 ) amd: add 5950 config ( #685 ) ( 31a3d8f ) amd: add env vars and series filtering ( #696 ) ( df3b10b ) galaxus: add zen 3 ( #729 ) ( 4e086e9 ) mindfactory: add ryzen 5900x, 5950x ( #720 ) ( 0362bf8 ) notification: add philips hue ( #681 ) ( c8a9b0b ) notification: support for multiple phone numbers ( #738 ) ( 9f28fe5 ) ps5: add console and digital edition ( #709 ) ( 42ef7cf ) store: add arlt and amd-de ( #721 ) ( 38937f6 ) store: add game store, add ps5 for uk stores ( #736 ) ( 0128718 ) store: add ps5 to german stores ( #715 ) ( 2291b8e ) store: add xbox series x and s ( #732 ) ( 314f533 ) store: add zen 3 to german stores ( #702 ) ( 71d5cb4 ) store: add zen 3 to more stores ( #698 ) ( 760ddf5 ) store: Adds AM3 to microcenter ( #707 ) ( 8a45905 ) target: add additional selector for 'ship it' ( #737 ) ( ab1fddf ) add production scripts and better Dockerfile ( 0d14500 ), closes #710 bring back ascii banner, but make it configurable ( #703 ) ( 0a680e9 ) memoryexpress website support ( #717 ) ( c02241c )","title":"Features"},{"location":"changelog/#bug-fixes_6","text":"docker: copy web directory ( #745 ) ( 0754fec ) walmart: ps5 digital url ( #763 ) ( 841647c ) environment variables to match ryzen cpus ( 5db8348 ) revert to 14.15.0 until 15 is stable for tsc ( 2955ea7 ), closes #691","title":"Bug Fixes"},{"location":"changelog/#code-refactoring","text":"removed duplicated Model ( d19dd5a )","title":"Code Refactoring"},{"location":"changelog/#200-2020-11-05","text":"","title":"2.0.0 (2020-11-05)"},{"location":"changelog/#breaking-changes_1","text":"update naming to streetmerchant","title":"\u26a0 BREAKING CHANGES"},{"location":"changelog/#features_6","text":"asus: realtime api ( #675 ) ( 018784e ) newegg-ca: realtime api ( #674 ) ( 3c5407f )","title":"Features"},{"location":"changelog/#bug-fixes_7","text":"filterBrandsSeriesModels: always loop all stores ( #680 ) ( 6ced13e )","title":"Bug Fixes"},{"location":"changelog/#miscellaneous-chores","text":"update naming to streetmerchant ( 3f9b3c6 )","title":"Miscellaneous Chores"},{"location":"changelog/#170-2020-11-03","text":"","title":"1.7.0 (2020-11-03)"},{"location":"changelog/#features_7","text":"add deprecation notices ( 601742c ) newegg realtime api ( #664 ) ( 5b3e95a )","title":"Features"},{"location":"changelog/#bug-fixes_8","text":"banner: add version to docker image ( #649 ) ( 1d2a33b )","title":"Bug Fixes"},{"location":"changelog/#160-2020-10-29","text":"","title":"1.6.0 (2020-10-29)"},{"location":"changelog/#features_8","text":"add series to Discord webhook ( #618 ) ( 273d058 ) api: add rudimentary web control panel ( #183 ) ( 373d1a9 ) store: add founders editions to notebooksbilliger.de ( #593 ) ( 2e5db7a ) store: add max price containers to multiple stores ( #579 ) ( f9c4c25 ) store: add new cards to german web shops ( #597 ) ( 699de57 ) store: Add PCComponentes and Amazon-ES Stores. ( #558 ) ( 062201f ) store: support for azerty ( #557 ) ( 58416e1 ) store: support for coolmod ( #605 ) ( c1dda4f ) add meta to logger ( #437 ) ( ae6bc86 ) add alternate.nl support ( #552 ) ( aca6523 ) add asus-de store and asus 3080 tuf/oc to amazon-de ( #436 ) ( b4d8733 ) add caseking and proshop-de store ( #521 ) ( 1aaa102 ) add coolblue store ( #482 ) ( 5c61333 ) add german stores ( #462 ) ( 85a07dc ) add incognito mode ( #534 ) ( 2b6457e ) add link series to error message for better context ( #265 ) ( 332b4a8 ) Add PagerDuty Integration ( #565 ) ( 11ee0bf ) add proshop-dk ( #524 ) ( dc2fcf5 ) add support for multiple browser user agents ( #547 ) ( 10a81dc ) add uk stores ( #455 ) ( b9b6b55 ) allow filtering per model by a specific series ( #595 ) ( a42418f ) optional per store min and max page sleep time ( #576 ) ( 503d76f ) notification: add to field for email ( #327 ) ( 8828dd1 ) store: add ttl for scan ( #555 ) ( 4847725 ) add rog strix oc to amazon-de ( #471 ) ( e5909c5 ) add support for specifying smtp server ( #458 ) ( 160ae37 ) allow multiple microcenter locations ( #487 ) ( 2b0eab6 ) clear cookies and cache ( #515 ) ( 1f89945 ), closes #417 max price per series ( #451 ) ( 8adc07a ) mqtt alerts ( #538 ) ( 68ff5bf ) twitch chat notification, multiple telegram chat ids and german web shop overhaul ( #528 ) ( 675f13a ) docker: add docker and publish images to ghcr ( #411 ) ( c857985 ) notification: add at&t prepaid carrier ( #425 ) ( eb9d082 ) notification: add pushover priority setting ( #186 ) ( f277172 ) notification: add Twillio notification provider ( #344 ) ( f2f8d81 ) store: add pny ( #295 ) ( f6760d3 ) store: add 3090s to amazon-ca ( #274 ) ( e992cf4 ) store: add additional cards to all stores ( #286 ) ( d25a643 ) store: add amazon cards and cartUrl s ( #284 ) ( d69189f ) store: add asus strix oc to asus store ( #385 ) ( e55398e ) store: add evga 3090 to newegg canada ( #396 ) ( 313d176 ) store: add ftw3 ultra to microcenter ( #448 ) ( 5109227 ) store: add gamestop ( #390 ) ( 7148451 ) store: add models to bestbuy ( #421 ) ( 4085136 ) store: add rog-strix-3080 to newegg-ca ( #489 ) ( 207bc41 ) add norway to nvidia-api ( #304 ) ( eda6c85 ) configurable status code behaviours ( #340 ) ( 3b7487e ) enhanced lookup behaviour ( #270 ) ( b868d1a ) in stock wait time per link now ( c7a716f ) low bandwidth mode ( #294 ) ( 0aa7ab5 ) max price filtering ( #383 ) ( fd294d2 ) store: adds aorus master 3080 to newegg ( #402 ) ( fddc002 ) retry logic for nvidia session token and adding to cart ( #347 ) ( 1bac1b9 ) support for proxy server ( #352 ) ( fdcd787 ) store: nvidia debug card for \"product details\" page ( #337 ) ( 5b8d774 )","title":"Features"},{"location":"changelog/#bug-fixes_9","text":"amazon.{nl,de} test urls ( #345 ) ( 589fbbc ) envOrNumber behavior ( #364 ) ( 7d8897c ) nvidia-api ( #314 ) ( 8d8e5b5 ) add amazon-nl , captcha amazon-de , add ftw3 newegg ( #293 ) ( a2983eb ) add status code 429 to bandh backOffStatusCodes ( #404 ) ( 7a981e7 ) add support for stores label text to have uppercase letters ( #526 ) ( 5ea7cc4 ) asus store links ( #573 ) ( f6db348 ) bestbuy label container selector precision ( #491 ) ( cbc3b0b ) corrected norway locales ( #356 ) ( d2476dd ) cyclical dependencies ( ed970fc ), closes #468 denver microcenter name ( #296 ) ( 349f55d ) dutch stores components ( #513 ) ( 586029c ) gamestop false positives ( #395 ) ( d3bb507 ) in stock wait time ( #325 ) ( 07bd246 ), closes #315 max price getter updated to match .env ( #516 ) ( 32f114b ), closes #514 #510 page sleep ( #586 ) ( a2af30b ), closes #594 #576 remove 3090 drid for DK/FI regions ( #361 ) ( f1d22d1 ) trim strings from comma-separated values ( #472 ) ( f7ed865 ) typo in maxPrice for 3090 ( #496 ) ( e073590 ) update gigabyte model vision oc ( #550 ) ( 4fefe22 ) update new additions with web panel and sleep operations ( #606 ) ( 61a23fe ) update pushbullet import to match package ( #637 ) ( d7360f7 ) env: default LOG_LEVEL ( 9636572 ) notification: discord false triggers ( #346 ) ( 3b90bbb ) notification: sms subject output ( #298 ) ( 03755d5 ) notifications: twilio client creation ( #349 ) ( 5414b24 ) store: gamestop label.inStock ( 9e7976d ) store: pccomponents model normalization ( #563 ) ( 699e77d ) updating amazon test model card to an in stock product ( #492 ) ( 81daa7c ) config: MAX_PRICE quotations ( #426 ) ( b7e5941 ) store: container names on nvidia ( #333 ) ( 772de90 ) store: update inStock and maxPrice for newegg, newegg-ca ( #433 ) ( 628cab1 ), closes #400","title":"Bug Fixes"},{"location":"changelog/#reverts_2","text":"reduce false-positive during ci/cd ( 79b9bfe )","title":"Reverts"},{"location":"changelog/#150-2020-09-24","text":"","title":"1.5.0 (2020-09-24)"},{"location":"changelog/#features_9","text":"filter models ( #261 ) ( e1b34a9 ) log: colors for console logs ( #207 ) ( 0ad67fe ) notification: add desktop notifications ( #140 ) ( 722eaf3 ) notification: add pushbullet, add url with notifications ( #226 ) ( 74490ea ) notification: twitter integration ( #224 ) ( 908ed35 ) store: add bannedSeller label for stores ( #173 ) ( 71c6774 ) store: add amazon-de ( #167 ) ( 8a70f14 ) store: add bestbuy.ca ( #229 ) ( 22fd22f ) store: add evga eu ( #172 ) ( 605bdd7 ) store: add evga model ( #220 ) ( 190388c ) store: add microcenter store location config ( #215 ) ( d6a27c9 ) stores: add 3090 for bestbuy, newegg ( #249 ) ( dd45dba ) stores: add 3090s for amazon-ca, bestbuy-ca, newegg-ca ( #258 ) ( 482fb58 ) add chromium sandbox skipping ( #209 ) ( 2065680 ) deprecate nvidia (api), add 3080 add 3090 ( 9f470f0 ) invert logic ( #141 ) ( 6608a79 ) multiple discord roles and webhooks, qol for envs ( #260 ) ( 8913879 ) store: add newegg.ca ( #160 ) ( 76f5849 ), closes #159 store: add office depot ( #157 ) ( 0df2dcf ) store: add zotac store ( #214 ) ( 7875855 ) add delay on captcha to try and evade faster ( #119 ) ( 4f83b3b ) bestbuy bypass international splash, newegg add to cart ( #153 ) ( 133a54f ) card series filter, fix: newegg oosLabels ( #120 ) ( 252459d ) custom user agent ( #121 ) ( d9be3fe ) include screenshot for emails + sms notifications ( #144 ) ( 7191e03 ) load puppeteer faster, run stores in parallel ( #83 ) ( d1a5aa1 ) set country in config, login to nvidia when starting ( #162 ) ( ebd6091 ) temporarily pause requests if store has stock ( #147 ) ( 6413144 ) update for complex add to cart, fix nvidia ( #108 ) ( 3ea146d ) notification: discord integration ( #82 ) ( a3fc07d ) scraping: change lookup impl, add randomize sleep ( #110 ) ( dc0f710 ) store: add adorama ( #104 ) ( 5b91065 ) store: add asus ( #102 ) ( a501cf7 )","title":"Features"},{"location":"changelog/#bug-fixes_10","text":"store: adorama captcha config ( #234 ) ( 9a53917 ) color logs and notification ( 76b28a6 ) notification: change discord ping visibility ( #168 ) ( 9675c5b ) store: bandh removed cards ( #201 ) ( 6409646 ) rateLimitTimeout not being defaulted ( #106 ) ( 28947be ) check response for rate limiting ( #58 ) ( #98 ) ( b7d9462 ) keep single Store from draining ( e819e46 ) memory leak due to adblocker ( #139 ) ( 0f6e570 ) nvidia: false positives ( #132 ) ( a75d214 ) newegg out-of-stock ( #124 ) ( 770a13a ) newegg out-of-stock labels ( #134 ) ( 19c8f18 ) notification: wrong condition for sounds playing ( #91 ) ( 103d96d ) store: false positives for nvidia. ( #85 ) ( c65fa04 )","title":"Bug Fixes"},{"location":"changelog/#140-2020-09-19","text":"","title":"1.4.0 (2020-09-19)"},{"location":"changelog/#features_10","text":"notification: add mint mobile carrier ( #70 ) ( 8aba7ec ) notification: add pushover ( #55 ) ( c85658b ) notification: add telegram ( #71 ) ( 393d5f6 ) notification: add telus sms ( 6be74a1 ) store: add amazon.ca, fix timeout ( #75 ) ( d4de1a4 ) webpage toggle, sound notification, fix evga links ( #52 ) ( a217409 )","title":"Features"},{"location":"changelog/#performance-improvements","text":"browser abstraction ( #68 ) ( #81 ) ( ebbdfe3 )","title":"Performance Improvements"},{"location":"changelog/#130-2020-09-19","text":"","title":"1.3.0 (2020-09-19)"},{"location":"changelog/#features_11","text":"logging: add timestamp ( #48 ) ( 6c3cd01 )","title":"Features"},{"location":"changelog/#bug-fixes_11","text":"store: amazon captcha false-positives ( #54 ) ( 5c9e0b6 ) evga xc3 ultra link ( #56 ) ( d907092 ) screenshot size, add screenshot config setting ( #53 ) ( 7cfc7c7 ) sms carrier config, add google carrier ( #44 ) ( 971fec2 )","title":"Bug Fixes"},{"location":"changelog/#120-2020-09-19","text":"","title":"1.2.0 (2020-09-19)"},{"location":"changelog/#features_12","text":"ci: add npm run build ( faad3e6 ) store: microcenter ( #39 ) ( edf17e9 ) add Amazon links ( #26 ) ( f0560ce ) add email test, fix memory leak ( #24 ) ( a2fb973 ) more Best Buy AIBs ( #41 ) ( 7d7bd18 ) page timeout ( #22 ) ( 643045c ) slack integration ( #34 ) ( c0a881a ) sms notification for usa carriers ( #40 ) ( 5a3636b ) update to check if FE in-stock via Digital River ( #29 ) ( 00ede13 )","title":"Features"},{"location":"changelog/#bug-fixes_12","text":"small error in isOutOfStock logic ( #33 ) ( c2a210c )","title":"Bug Fixes"},{"location":"changelog/#110-2020-09-18","text":"","title":"1.1.0 (2020-09-18)"},{"location":"changelog/#features_13","text":"add conventional commits ( #14 ) ( eb4f5e0 ) add evga ( #17 ) ( #18 ) ( 6c65032 )","title":"Features"},{"location":"changelog/#bug-fixes_13","text":"exception handling TimeoutError ( #20 ) ( #21 ) ( 00a0687 )","title":"Bug Fixes"},{"location":"changelog/#100-2020-09-18","text":"","title":"1.0.0 (2020-09-18)"},{"location":"changelog/#features_14","text":"use ts, update cd, update README ( #12 ) ( e9fc0bf )","title":"Features"},{"location":"faq/","text":"FAQ \u00b6 What's Node.js and how do I install it? \u00b6 Visit their website and download and install it. Very straight forward. Otherwise, Google more information related to your system needs. Will this harm my computer? \u00b6 No. Have you gotten a card yet? \u00b6 Sure did! Will I get banned from of the stores? \u00b6 Perhaps, but it's the risk we're willing to take! To help minimize this, take a look at #1050 . I got a problem and need help \u00b6 File an issue . I'll do my best to get to you. I work a full time job and this is only a hobby of mine. How do I get the latest code? \u00b6 Run the following commands: 1 2 3 git pull origin main npm install npm run start If you changed the code at all, this will most likely fail. You can clear out your changes by doing: 1 2 3 4 git checkout . git pull origin main npm install npm run start You can also to git-stash , but we won't expand on that here. Why don't my notifications work? \u00b6 There is probably an issue that has already been resolved . I'd love to contribute, how do I do that? \u00b6 Make a pull request ! All contributions are welcome. How do I add a store? \u00b6 Here's a little write-up I did: Adding a store . Why do I have to download all this stuff just to get this bot working? \u00b6 Well, I would rather you didn't either. See #11 . Why does Amazon show an error page (with a picture of an animal) instead of adding to cart or going to the detail page? \u00b6 This is intended; see #733 . This indicates that the item is out of stock and only available from a third-party seller (often at a markup). I'm using streetmerchant in the cloud and X isn't working. \u00b6 There is a lot of undefined behavior with using streetmerchant in the cloud. Some sites may block IPs from your cloud provider. It is possible that a VPN will help circumvent these problems.","title":"FAQ"},{"location":"faq/#faq","text":"","title":"FAQ"},{"location":"faq/#whats-nodejs-and-how-do-i-install-it","text":"Visit their website and download and install it. Very straight forward. Otherwise, Google more information related to your system needs.","title":"What's Node.js and how do I install it?"},{"location":"faq/#will-this-harm-my-computer","text":"No.","title":"Will this harm my computer?"},{"location":"faq/#have-you-gotten-a-card-yet","text":"Sure did!","title":"Have you gotten a card yet?"},{"location":"faq/#will-i-get-banned-from-of-the-stores","text":"Perhaps, but it's the risk we're willing to take! To help minimize this, take a look at #1050 .","title":"Will I get banned from of the stores?"},{"location":"faq/#i-got-a-problem-and-need-help","text":"File an issue . I'll do my best to get to you. I work a full time job and this is only a hobby of mine.","title":"I got a problem and need help"},{"location":"faq/#how-do-i-get-the-latest-code","text":"Run the following commands: 1 2 3 git pull origin main npm install npm run start If you changed the code at all, this will most likely fail. You can clear out your changes by doing: 1 2 3 4 git checkout . git pull origin main npm install npm run start You can also to git-stash , but we won't expand on that here.","title":"How do I get the latest code?"},{"location":"faq/#why-dont-my-notifications-work","text":"There is probably an issue that has already been resolved .","title":"Why don't my notifications work?"},{"location":"faq/#id-love-to-contribute-how-do-i-do-that","text":"Make a pull request ! All contributions are welcome.","title":"I'd love to contribute, how do I do that?"},{"location":"faq/#how-do-i-add-a-store","text":"Here's a little write-up I did: Adding a store .","title":"How do I add a store?"},{"location":"faq/#why-do-i-have-to-download-all-this-stuff-just-to-get-this-bot-working","text":"Well, I would rather you didn't either. See #11 .","title":"Why do I have to download all this stuff just to get this bot working?"},{"location":"faq/#why-does-amazon-show-an-error-page-with-a-picture-of-an-animal-instead-of-adding-to-cart-or-going-to-the-detail-page","text":"This is intended; see #733 . This indicates that the item is out of stock and only available from a third-party seller (often at a markup).","title":"Why does Amazon show an error page (with a picture of an animal) instead of adding to cart or going to the detail page?"},{"location":"faq/#im-using-streetmerchant-in-the-cloud-and-x-isnt-working","text":"There is a lot of undefined behavior with using streetmerchant in the cloud. Some sites may block IPs from your cloud provider. It is possible that a VPN will help circumvent these problems.","title":"I'm using streetmerchant in the cloud and X isn't working."},{"location":"getting-started/","text":"Getting started \u00b6 You do not need any computer skills, smarts, or anything of that nature. You are very capable as you have made it this far. Some basic understanding how a terminal, git, and or Node.js is a bonus, but that does not limit you to getting streetmerchant running! Prerequisites \u00b6 git Either Node.js 15 or Docker (1.13.0+) (advanced users) Using Node.js \u00b6 Reference Note tag Example, v1.0.0 ; stable main Latest HEAD; not tagged, could be unstable Download Node.js 15 Clone this project git clone https://github.com/jef/streetmerchant.git . To checkout a particular reference, use git checkout <ref name> after cloning. Navigate to this project by entering cd streetmerchant . Run npm install . Make a copy of dotenv-example and name it dotenv . Edit the dotenv file to your liking using a text editor (like vscode ). Run npm run start to start. At any point you want the program to stop, use Ctrl + C . Tip Community based help can also be found on the wiki . Feel free to check that out if you're having problems running. If you're still having problems running, you're probably not the first. Make some searches through the GitHub issues before making one. Using Docker \u00b6 Available via GitHub Container Registry. Tag Note latest Latest release; stable nightly Latest HEAD each day at midnight UTC; could be unstable 1 2 3 4 5 6 7 8 9 # to run docker nightly docker run -it --rm \\ --env-file ./dotenv \\ ghcr.io/jef/streetmerchant:nightly # to test notifications docker run -it --rm \\ --env-file ./dotenv \\ ghcr.io/jef/streetmerchant:nightly test:notification:production See Developing in docker for more information Customization \u00b6 To customize streetmerchant, make a copy of dotenv-example as dotenv and make any changes to your liking. View Reference for more information on variables and their usage. Tip All environment variables are optional. For developers \u00b6 Developing in Node.js \u00b6 The command npm run start:dev can be used instead of npm run start to automatically restart the project when filesystem changes are detected in the src/ folder or dotenv file. Use npm run lint to see any linting uses and npm run fix to automatically fix the issues it can. Developing in Docker \u00b6 Prerequisites \u00b6 Docker (1.13.0+) GNU Make Optional, but increases quality of life Docker Compose Depending on your system, you may already have this. Check before installing. Starting with docker-compose \u00b6 Make a copy of dotenv-example and name it dotenv . Edit the dotenv file to your liking using a text editor (like vscode ). If you're using make , you can run make run to start and make stop to stop. There are more options in the Makefile , feel free to explore. If you do not have make , you can run docker-compose directly: 1 2 3 4 5 6 7 # To start # Use `-d` if you want to run in detached mode # Use `--build` if you want to build the image before running (default image is latest in GitHub Container Registry). docker-compose up # To break down docker-compose down Note If you are using WEB_PORT , then you will need to add the following to docker-compose: 1 2 ports: - \"<WEB_PORT>:<WEB_PORT>\" Replace <WEB_PORT> with the value you gave in your dotenv .","title":"Getting started"},{"location":"getting-started/#getting-started","text":"You do not need any computer skills, smarts, or anything of that nature. You are very capable as you have made it this far. Some basic understanding how a terminal, git, and or Node.js is a bonus, but that does not limit you to getting streetmerchant running!","title":"Getting started"},{"location":"getting-started/#prerequisites","text":"git Either Node.js 15 or Docker (1.13.0+) (advanced users)","title":"Prerequisites"},{"location":"getting-started/#using-nodejs","text":"Reference Note tag Example, v1.0.0 ; stable main Latest HEAD; not tagged, could be unstable Download Node.js 15 Clone this project git clone https://github.com/jef/streetmerchant.git . To checkout a particular reference, use git checkout <ref name> after cloning. Navigate to this project by entering cd streetmerchant . Run npm install . Make a copy of dotenv-example and name it dotenv . Edit the dotenv file to your liking using a text editor (like vscode ). Run npm run start to start. At any point you want the program to stop, use Ctrl + C . Tip Community based help can also be found on the wiki . Feel free to check that out if you're having problems running. If you're still having problems running, you're probably not the first. Make some searches through the GitHub issues before making one.","title":"Using Node.js"},{"location":"getting-started/#using-docker","text":"Available via GitHub Container Registry. Tag Note latest Latest release; stable nightly Latest HEAD each day at midnight UTC; could be unstable 1 2 3 4 5 6 7 8 9 # to run docker nightly docker run -it --rm \\ --env-file ./dotenv \\ ghcr.io/jef/streetmerchant:nightly # to test notifications docker run -it --rm \\ --env-file ./dotenv \\ ghcr.io/jef/streetmerchant:nightly test:notification:production See Developing in docker for more information","title":"Using Docker"},{"location":"getting-started/#customization","text":"To customize streetmerchant, make a copy of dotenv-example as dotenv and make any changes to your liking. View Reference for more information on variables and their usage. Tip All environment variables are optional.","title":"Customization"},{"location":"getting-started/#for-developers","text":"","title":"For developers"},{"location":"getting-started/#developing-in-nodejs","text":"The command npm run start:dev can be used instead of npm run start to automatically restart the project when filesystem changes are detected in the src/ folder or dotenv file. Use npm run lint to see any linting uses and npm run fix to automatically fix the issues it can.","title":"Developing in Node.js"},{"location":"getting-started/#developing-in-docker","text":"","title":"Developing in Docker"},{"location":"getting-started/#prerequisites_1","text":"Docker (1.13.0+) GNU Make Optional, but increases quality of life Docker Compose Depending on your system, you may already have this. Check before installing.","title":"Prerequisites"},{"location":"getting-started/#starting-with-docker-compose","text":"Make a copy of dotenv-example and name it dotenv . Edit the dotenv file to your liking using a text editor (like vscode ). If you're using make , you can run make run to start and make stop to stop. There are more options in the Makefile , feel free to explore. If you do not have make , you can run docker-compose directly: 1 2 3 4 5 6 7 # To start # Use `-d` if you want to run in detached mode # Use `--build` if you want to build the image before running (default image is latest in GitHub Container Registry). docker-compose up # To break down docker-compose down Note If you are using WEB_PORT , then you will need to add the following to docker-compose: 1 2 ports: - \"<WEB_PORT>:<WEB_PORT>\" Replace <WEB_PORT> with the value you gave in your dotenv .","title":"Starting with docker-compose"},{"location":"help/general/","text":"General \u00b6 Adding a store \u00b6 Note This is subject to change in the future In the following examples, I will be using \"NewStore\" as the store I'm wanting to add. Creating a store file \u00b6 First, create a TypeScript file in src/store/model . In this example, I'll create a file named new-store.ts . At this point, you can copy and paste any of the other stores and change accordingly. How to grab a container (aka selector) \u00b6 For the containers, what you'll wanna do is use F12 on the site you want to Inspect and click this button Hover over the item you want and it should give you the context: You can also right-click on any website element and select 'Inspect'. That should also give you the same results. Some people will decide to choose a parent element as it can be unique. Like this case! I'd rather use .button.spin-button.prod-ProductCTA--primary.button--primary instead of .spin-button-children as there are probably other elements on the page that are also .spin-button-children . The reason why we use these selectors anyway is to wait for the webpage to load these specific elements, to help eliminate false positives. For easily getting the selector, you can also copy it by right clicking on the tag, Copy > Copy selector. Updating the models \u00b6 You'll now want to add the new store to src/store/model/index.ts . This is what it will look like: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --- a/src/store/model/index.ts +++ b/src/store/model/index.ts @@ -48,6 +48,7 @@ import {MicroCenter} from './microcenter'; import {Mindfactory} from './mindfactory'; import {Newegg} from './newegg'; import {NeweggCa} from './newegg-ca'; +import {NewStore} from './new-store'; import {Notebooksbilliger} from './notebooksbilliger'; import {Novatech} from './novatech'; import {Nvidia} from './nvidia'; @@ -123,6 +124,7 @@ export const storeList = new Map([ [Mindfactory.name, Mindfactory], [Newegg.name, Newegg], [NeweggCa.name, NeweggCa], + [NewStore.name, NewStore], [Notebooksbilliger.name, Notebooksbilliger], [Novatech.name, Novatech], [Nvidia.name, Nvidia], After that, you're pretty much set. If you plan on adding new models or series, you will have to add them to src/store/model/store.ts and src/config.ts . Here's an example: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 --- a/src/store/model/store.ts +++ b/src/store/model/store.ts @@ -23,6 +23,7 @@ export type Brand = | 'kfa2' | 'microsoft' | 'msi' + | 'new brand' | 'nvidia' | 'palit' | 'pny' @@ -37,6 +38,7 @@ export type Series = | '3070' | '3080' | '3090' + | 'new series' | 'rx6800' | 'rx6800xt' | 'rx6900xt' @@ -83,6 +85,7 @@ export type Model = | 'ichill x2' | 'ichill x3' | 'ichill x4' + | 'new model' | 'nitro+' | 'nitro oc se' | 'nitro oc' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --- a/src/config.ts +++ b/src/config.ts @@ -308,6 +308,7 @@ const store = { country: envOrString(process.env.COUNTRY, 'usa'), maxPrice: { series: { + 'new series': -1, '3060ti': envOrNumber(process.env.MAX_PRICE_SERIES_3060TI), 3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070), 3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080), @@ -337,6 +338,7 @@ const store = { }; }), showOnlySeries: envOrArray(process.env.SHOW_ONLY_SERIES, [ + 'new series', '3060ti', '3070', '3080', And voila! You're done! If you'd like to contribute to the project, feel free to create a Pull Request ! Don't forget to add the store (and brand, model, and series if you added) to the README.md . Tip Here's an example . If you'd like to include a max price, you can add MAX_PRICE_SERIES_NEW_SERIES to the above instead of the -1 . Creating a Discord webhook \u00b6 Take a look at Discord's Intro to Webhooks , that should get you going. This is the main portion: Use the full URL that you just copied and set that value to DISCORD_WEB_HOOK .","title":"General"},{"location":"help/general/#general","text":"","title":"General"},{"location":"help/general/#adding-a-store","text":"Note This is subject to change in the future In the following examples, I will be using \"NewStore\" as the store I'm wanting to add.","title":"Adding a store"},{"location":"help/general/#creating-a-store-file","text":"First, create a TypeScript file in src/store/model . In this example, I'll create a file named new-store.ts . At this point, you can copy and paste any of the other stores and change accordingly.","title":"Creating a store file"},{"location":"help/general/#how-to-grab-a-container-aka-selector","text":"For the containers, what you'll wanna do is use F12 on the site you want to Inspect and click this button Hover over the item you want and it should give you the context: You can also right-click on any website element and select 'Inspect'. That should also give you the same results. Some people will decide to choose a parent element as it can be unique. Like this case! I'd rather use .button.spin-button.prod-ProductCTA--primary.button--primary instead of .spin-button-children as there are probably other elements on the page that are also .spin-button-children . The reason why we use these selectors anyway is to wait for the webpage to load these specific elements, to help eliminate false positives. For easily getting the selector, you can also copy it by right clicking on the tag, Copy > Copy selector.","title":"How to grab a container (aka selector)"},{"location":"help/general/#updating-the-models","text":"You'll now want to add the new store to src/store/model/index.ts . This is what it will look like: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --- a/src/store/model/index.ts +++ b/src/store/model/index.ts @@ -48,6 +48,7 @@ import {MicroCenter} from './microcenter'; import {Mindfactory} from './mindfactory'; import {Newegg} from './newegg'; import {NeweggCa} from './newegg-ca'; +import {NewStore} from './new-store'; import {Notebooksbilliger} from './notebooksbilliger'; import {Novatech} from './novatech'; import {Nvidia} from './nvidia'; @@ -123,6 +124,7 @@ export const storeList = new Map([ [Mindfactory.name, Mindfactory], [Newegg.name, Newegg], [NeweggCa.name, NeweggCa], + [NewStore.name, NewStore], [Notebooksbilliger.name, Notebooksbilliger], [Novatech.name, Novatech], [Nvidia.name, Nvidia], After that, you're pretty much set. If you plan on adding new models or series, you will have to add them to src/store/model/store.ts and src/config.ts . Here's an example: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 --- a/src/store/model/store.ts +++ b/src/store/model/store.ts @@ -23,6 +23,7 @@ export type Brand = | 'kfa2' | 'microsoft' | 'msi' + | 'new brand' | 'nvidia' | 'palit' | 'pny' @@ -37,6 +38,7 @@ export type Series = | '3070' | '3080' | '3090' + | 'new series' | 'rx6800' | 'rx6800xt' | 'rx6900xt' @@ -83,6 +85,7 @@ export type Model = | 'ichill x2' | 'ichill x3' | 'ichill x4' + | 'new model' | 'nitro+' | 'nitro oc se' | 'nitro oc' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --- a/src/config.ts +++ b/src/config.ts @@ -308,6 +308,7 @@ const store = { country: envOrString(process.env.COUNTRY, 'usa'), maxPrice: { series: { + 'new series': -1, '3060ti': envOrNumber(process.env.MAX_PRICE_SERIES_3060TI), 3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070), 3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080), @@ -337,6 +338,7 @@ const store = { }; }), showOnlySeries: envOrArray(process.env.SHOW_ONLY_SERIES, [ + 'new series', '3060ti', '3070', '3080', And voila! You're done! If you'd like to contribute to the project, feel free to create a Pull Request ! Don't forget to add the store (and brand, model, and series if you added) to the README.md . Tip Here's an example . If you'd like to include a max price, you can add MAX_PRICE_SERIES_NEW_SERIES to the above instead of the -1 .","title":"Updating the models"},{"location":"help/general/#creating-a-discord-webhook","text":"Take a look at Discord's Intro to Webhooks , that should get you going. This is the main portion: Use the full URL that you just copied and set that value to DISCORD_WEB_HOOK .","title":"Creating a Discord webhook"},{"location":"help/troubleshoot/","text":"Troubleshoot \u00b6 Captcha issues \u00b6 Option 1 \u00b6 If you're running into problems, try running in headful mode: HEADLESS=\"false\" . This will open a browser and run streetmerchant. Note that this isn't a great solution for those running in a headless environment, i.e.: VPS, cloud, docker. Instead, it would be a good solution for those running on separate computer that won't be blocked by running in the background. Option 2 \u00b6 As a last case scenario, use PUPPETEER_EXECUTABLE_PATH . This will use your computer's Chrome browser. You can run this is headless or headful mode. From the puppeteer doc: PUPPETEER_EXECUTABLE_PATH - specify an executable path to be used in puppeteer.launch . See puppeteer.launch([options]) on how the executable path is inferred. BEWARE : Puppeteer is only guaranteed to work with the bundled Chromium, use at your own risk. For example: dotenv : 1 PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable This will vary depending on your operating system and install path. Please use full paths. macOS code signing \u00b6 If you're getting a popup like this: Then run this command: 1 sudo codesign --force --deep --sign - ./node_modules/puppeteer/.local-chromium/mac-800071/chrome-mac/Chromium.app Tip The mac-800071 may be different on your machine, so I would start from ./node_modules/puppeteer/.local-chromium and auto complete from there.","title":"Troubleshoot"},{"location":"help/troubleshoot/#troubleshoot","text":"","title":"Troubleshoot"},{"location":"help/troubleshoot/#captcha-issues","text":"","title":"Captcha issues"},{"location":"help/troubleshoot/#option-1","text":"If you're running into problems, try running in headful mode: HEADLESS=\"false\" . This will open a browser and run streetmerchant. Note that this isn't a great solution for those running in a headless environment, i.e.: VPS, cloud, docker. Instead, it would be a good solution for those running on separate computer that won't be blocked by running in the background.","title":"Option 1"},{"location":"help/troubleshoot/#option-2","text":"As a last case scenario, use PUPPETEER_EXECUTABLE_PATH . This will use your computer's Chrome browser. You can run this is headless or headful mode. From the puppeteer doc: PUPPETEER_EXECUTABLE_PATH - specify an executable path to be used in puppeteer.launch . See puppeteer.launch([options]) on how the executable path is inferred. BEWARE : Puppeteer is only guaranteed to work with the bundled Chromium, use at your own risk. For example: dotenv : 1 PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable This will vary depending on your operating system and install path. Please use full paths.","title":"Option 2"},{"location":"help/troubleshoot/#macos-code-signing","text":"If you're getting a popup like this: Then run this command: 1 sudo codesign --force --deep --sign - ./node_modules/puppeteer/.local-chromium/mac-800071/chrome-mac/Chromium.app Tip The mac-800071 may be different on your machine, so I would start from ./node_modules/puppeteer/.local-chromium and auto complete from there.","title":"macOS code signing"},{"location":"reference/application/","text":"Application \u00b6 Environment variable Description AUTO_ADD_TO_CART Enable auto add to cart on support stores, default: true BROWSER_TRUSTED Skip Chromium Sandbox. Useful for containerized environments, default: false 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 . Debugging related, default: info LOW_BANDWIDTH Blocks images/fonts to reduce traffic. Disables ad blocker, default: false OPEN_BROWSER Toggle for whether or not the browser should open when item is found. Default: true PAGE_BACKOFF_MIN Minimum backoff time between retrying requests for the same store when a forbidden response is received. Default: 10000 PAGE_BACKOFF_MAX Maximum backoff time between retrying requests for the same store when a forbidden response is received. Default: 3600000 PAGE_SLEEP_MIN Minimum sleep time between queries of the same product page. In milliseconds, default: 5000 PAGE_SLEEP_MAX Maximum sleep time between queries of the same product page. In milliseconds, default: 10000 PAGE_TIMEOUT Navigation Timeout in milliseconds. 0 for infinite, default: 30000 PROXY_PROTOCOL Protocol of proxy server, such as socks5 . Default: http PROXY_ADDRESS IP Address or fqdn of proxy server PROXY_PORT TCP Port number on which the proxy is listening for connections. Default: 80 RESTART_TIME Restarts chrome after defined milliseconds. 0 for never, default: 0 SCREENSHOT Capture screenshot of page if a card is found. Default: true WEB_PORT Starts a webserver to be able to control the bot while it is running. Setting this value starts this service. Info There is more information on proxy settings in the Proxy documentation . Tip You can also have a list of proxies that are rotated while searching stores. Proxies can be read from a file named STORENAME.proxies in the format of socks5://username:password@ip ; one per line. Data usage is known to be high . This is expected as the program scrapes many websites in parallel 24/7. To help reduce this, use LOW_BANDWIDTH=\"true\" . We are looking into other solutions as well, but is low priority.","title":"Application"},{"location":"reference/application/#application","text":"Environment variable Description AUTO_ADD_TO_CART Enable auto add to cart on support stores, default: true BROWSER_TRUSTED Skip Chromium Sandbox. Useful for containerized environments, default: false 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 . Debugging related, default: info LOW_BANDWIDTH Blocks images/fonts to reduce traffic. Disables ad blocker, default: false OPEN_BROWSER Toggle for whether or not the browser should open when item is found. Default: true PAGE_BACKOFF_MIN Minimum backoff time between retrying requests for the same store when a forbidden response is received. Default: 10000 PAGE_BACKOFF_MAX Maximum backoff time between retrying requests for the same store when a forbidden response is received. Default: 3600000 PAGE_SLEEP_MIN Minimum sleep time between queries of the same product page. In milliseconds, default: 5000 PAGE_SLEEP_MAX Maximum sleep time between queries of the same product page. In milliseconds, default: 10000 PAGE_TIMEOUT Navigation Timeout in milliseconds. 0 for infinite, default: 30000 PROXY_PROTOCOL Protocol of proxy server, such as socks5 . Default: http PROXY_ADDRESS IP Address or fqdn of proxy server PROXY_PORT TCP Port number on which the proxy is listening for connections. Default: 80 RESTART_TIME Restarts chrome after defined milliseconds. 0 for never, default: 0 SCREENSHOT Capture screenshot of page if a card is found. Default: true WEB_PORT Starts a webserver to be able to control the bot while it is running. Setting this value starts this service. Info There is more information on proxy settings in the Proxy documentation . Tip You can also have a list of proxies that are rotated while searching stores. Proxies can be read from a file named STORENAME.proxies in the format of socks5://username:password@ip ; one per line. Data usage is known to be high . This is expected as the program scrapes many websites in parallel 24/7. To help reduce this, use LOW_BANDWIDTH=\"true\" . We are looking into other solutions as well, but is low priority.","title":"Application"},{"location":"reference/filter/","text":"Filter \u00b6 Environment variable Description MAX_PRICE_SERIES_3060 Maximum price allowed for a match, applies 3060 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3060TI Maximum price allowed for a match, applies 3060 Ti series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3070 Maximum price allowed for a match, applies 3070 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3080 Maximum price allowed for a match, applies 3080 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3090 Maximum price allowed for a match, applies 3090 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_CORSAIR_SF Maximum price allowed for a match, applies to Corsair PSUs MAX_PRICE_SERIES_DARKHERO Maximum price allowed for a match, applies to ASUS Dark Hero motherboards MAX_PRICE_SERIES_RYZEN5600 Maximum price allowed for a match, applies AMD 5600 series cpus MAX_PRICE_SERIES_RYZEN5800 Maximum price allowed for a match, applies AMD 5800 series cpus MAX_PRICE_SERIES_RYZEN5900 Maximum price allowed for a match, applies AMD 5900 series cpus MAX_PRICE_SERIES_RYZEN5950 Maximum price allowed for a match, applies AMD 5950 series cpus MAX_PRICE_SERIES_RX6800 Maximum price allowed for a match, applies AMD RX 6800 MAX_PRICE_SERIES_RX6800XT Maximum price allowed for a match,applies AMD RX 6800 XT MAX_PRICE_SERIES_RX6900XT Maximum price allowed for a match, applies AMD RX 6900 XT MAX_PRICE_SERIES_SONYPS5C Maximum price allowed for a match, applies PS5 console MAX_PRICE_SERIES_SONYPS5DE Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_XBOXSS Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_XBOXSX Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_TEST Maximum price allowed for a match, applies test:series MICROCENTER_LOCATION Specific MicroCenter location(s) to search. Comma separated, e.g.: marietta,duluth , default: web SHOW_ONLY_BRANDS Filter to show specified brands. Comma separated, e.g.: evga,zotac SHOW_ONLY_MODELS Filter to show specified models. Comma separated, can include series. E.g.: founders edition:3090,rog strix SHOW_ONLY_SERIES Filter to show specified series. Comma separated, e.g.: 3080,ryzen5900 STORES Supported stores you want to be scraped. Default: amazon,bestbuy . Comma separated, can include PAGE_SLEEP_MIN and PAGE_SLEEP_MAX values. E.g.: amazon:10000:30000,bestbuy,newegg:50000:80000 . Note For MAX_PRICE_SERIES_* variables: Use whole numbers only (no currency symbol is required). Avoid using any commas or decimal points. Example: 1234 . Merchandise found above this price will be skipped. Supported stores \u00b6 Used with the STORES variable. Stores Country Environment variable AComPC DE acompc Adorama US adorama Akinformatica IT akinformatica Allneeds AU allneeds Alternate DE alternate Alternate NL alternate-nl Amazon US amazon Amazon CA amazon-ca Amazon DE amazon-de Amazon Warehouse DE amazon-de-warehouse Amazon ES amazon-es Amazon FR amazon-fr Amazon IT amazon-it Amazon NL amazon-nl Amazon SG amazon-sg Amazon UK amazon-uk AMD US amd AMD CA amd-ca AMD DE amd-de AMD IT amd-it AMD UK amd-uk AntOnline US antonline Argos UK argos Argos IE argos-ie Aria PC UK aria ARLT DE arlt ASUS US asus ASUS DE asus-de AWD-IT UK awd Azerty NL azerty B&H US bandh Best Buy US bestbuy Best Buy CA bestbuy-ca Box UK box BPCTech AU bpctech BPM-Power IT bpm-power CanadaComputers CA canadacomputers Caseking DE caseking CCL UK ccl Centrecom AU centrecom Comet IT comet ComputerAlliance AU computeralliance Computeruniverse DE computeruniverse Coolblue NL coolblue Coolmod ES coolmod Corsair US corsair Corsair UK corsair-uk CPL AU cpl Currys UK currys Cyberport DE cyberport DComp AU dcomp Drako IT drako DustinHome NO dustinhome-no EBGames CA ebgames eBuyer UK ebuyer El Corte Ingl\u00e9s ES elcorteingles Elkjop NO elkjop ePrice IT eprice Equippr DE equippr Euronics IT euronics Euronics DE euronics-de Evatech AU evatech EVGA US evga EVGA EU evga-eu Expert DE expert Futurex DE futurex Galaxus DE galaxus Game UK game Gamestop US gamestop Gamestop DE gamestop-de Gamestop IE gamestop-ie Gamestop IT gamestop-it Globaldata PT globaldata Hardware Planet IT HarrisTechnology AU harristechnology Harvey Normans IE harveynorman-ie iGame Computer AU igame-computer John Lewis UK johnlewis Kabum BR kabum Komplett NO komplett-no Landmark Computers AU landmark-computers Ldlc FR ldlc Mediamarkt DE mediamarkt Medimax DE medimax Megekko NL megekko MemoryExpress CA memoryexpress Micro Center US microcenter Mindfactory DE mindfactory MSY AU msy Mwave AU mwave Netonnet NO netonnet-no Newegg US newegg Newegg CA newegg-ca Newegg SG newegg-sg Notebooksbilliger DE notebooksbilliger Novatech UK novatech Novo Atalho PT novoatalho Nvidia EU/UK See below Office Depot US officedepot Ollo IT ollo Otto DE otto Overclockers UK overclockers PBTech AU pbtech PCByte AU pcbyte PCCG AU pccg PCComponentes ES pccomponentes PCDiga PT pcdiga PCKing DE pcking PlayStation US playstation PNY US pny Power NO power-no Proshop DE proshop-de Proshop DK proshop-dk Proshop NO proshop-no Rosman AU rosman Rosman-Melb AU rosman-melb Saturn DE saturn Save On It AU saveonit Scan UK scan Scorptec AU scorptec ShopTo UK shopto Smyths Toys UK smythstoys Smyths Toys IE smythstoys-ie Spielegrotte DE spielegrotte Storm Computers AU storm-computer Target US target Tesco IE tesco-ie TopAchat GR topachat Toys R Us US toysrus Umart AU umart Unieuro IT unieuro Very UK very Vuugo CA vuugo Walmart US walmart Walmart CA walmart-ca Wells Technology AU wellstechnology Wipoid ES wipoid Zotac US zotac Micro Center stores \u00b6 Used with the MICROCENTER_LOCATION variable. Note Before using web , please review this issue comment . brooklyn brentwood cambridge chicago columbus dallas denver duluth fairfax flushing houston madison-heights marietta mayfield-heights north-jersey overland-park parkville rockville sharonville st-davids st-louis-park tustin westbury westmont yonkers Supported brands and models \u00b6 Used with the SHOW_ONLY_BRANDS and SHOW_ONLY_MODELS variables. Brand Model amd 5600x , 5800x , 5900x , 5950x , amd reference asus crosshair viii , dual , dual oc , ekwb , strix , strix oc , strix white , tuf , tuf oc corsair 750 platinum , 600 platinum , 600 gold colorful igame advanced oc , igame vulcan oc evga ftw3 , ftw3 black , ftw3 ultra , ftw3 ultra hybrid , ftw3 ultra hydro copper , xc3 , xc black , xc gaming , xc3 black , xc3 ultra , xc3 ultra hybrid gainward phantom gs , phoenix , phoenix gs , phoenix gs oc gigabyte aorus master , aorus xtreme , aorus xtreme waterforce , aorus xtreme waterforce wb , eagle , eagle oc , gaming , gaming oc , gaming oc pro , turbo , vision , vision oc galax sg , sg oc inno3d gaming x3 , ichill x3 , ichill x4 , ichill frostbite , twin x2 , twin x2 oc kfa2 sg , sg oc leadtek hurricane microsoft xbox series x , xbox series s msi gaming x trio , suprim , suprim x , ventus 2x oc , ventus 3x , ventus 3x oc nvidia founders edition palit gamerock oc , gaming pro , gaming pro oc pny dual fan , xlr8 epic x , xlr8 revel , xlr8 uprising sony ps5 console , ps5 digital xfx merc , amd reference zotac amp holo , amp extreme holo , amp white , trinity , trinity oc , twin edge , twin edge oc , twin edge oc white Supported series \u00b6 Used with the SHOW_ONLY_SERIES variable. Series Value AMD Ryzen 5600x ryzen5600 AMD Ryzen 5800x ryzen5800 AMD Ryzen 5900x ryzen5900 AMD Ryzen 5950x ryzen5950 AMD RX 6800 rx6800 AMD RX 6800XT rx6800xt AMD RX 6900XT rx6900xt Nvidia RTX 3060 3060 Nvidia RTX 3060 Ti 3060ti Nvidia RTX 3070 3070 Nvidia RTX 3080 3080 Nvidia RTX 3090 3090 Corsair SFX PSU sf Crosshair VIII darkhero Sony PS5 sonyps5c Sony PS5 Digital Edition sonyps5de Xbox Series S xboxss Xbox Series X xboxsx Nvidia Store Reference \u00b6 Note Use the Nvidia Store to check stock for Founders Edition cards only (3060 Ti/3070/3080/3090). For USA use bestbuy instead. Info Use the STORE variable for your chosen country. For example, to check for a FE card in Belgium you would use the nvidia-fr store. Country Store Retailer Austria nvidia-de NBB Belgium nvidia-fr LDLC France nvidia-fr LDLC Germany nvidia-de NBB Ireland nvidia-gb Scan Luxembourg nvidia-fr LDLC Spain nvidia-es LDLC United Kingdom nvidia-gb Scan","title":"Filter"},{"location":"reference/filter/#filter","text":"Environment variable Description MAX_PRICE_SERIES_3060 Maximum price allowed for a match, applies 3060 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3060TI Maximum price allowed for a match, applies 3060 Ti series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3070 Maximum price allowed for a match, applies 3070 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3080 Maximum price allowed for a match, applies 3080 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_3090 Maximum price allowed for a match, applies 3090 series cards (does not apply to these sites: Nvidia, Asus, EVGA) MAX_PRICE_SERIES_CORSAIR_SF Maximum price allowed for a match, applies to Corsair PSUs MAX_PRICE_SERIES_DARKHERO Maximum price allowed for a match, applies to ASUS Dark Hero motherboards MAX_PRICE_SERIES_RYZEN5600 Maximum price allowed for a match, applies AMD 5600 series cpus MAX_PRICE_SERIES_RYZEN5800 Maximum price allowed for a match, applies AMD 5800 series cpus MAX_PRICE_SERIES_RYZEN5900 Maximum price allowed for a match, applies AMD 5900 series cpus MAX_PRICE_SERIES_RYZEN5950 Maximum price allowed for a match, applies AMD 5950 series cpus MAX_PRICE_SERIES_RX6800 Maximum price allowed for a match, applies AMD RX 6800 MAX_PRICE_SERIES_RX6800XT Maximum price allowed for a match,applies AMD RX 6800 XT MAX_PRICE_SERIES_RX6900XT Maximum price allowed for a match, applies AMD RX 6900 XT MAX_PRICE_SERIES_SONYPS5C Maximum price allowed for a match, applies PS5 console MAX_PRICE_SERIES_SONYPS5DE Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_XBOXSS Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_XBOXSX Maximum price allowed for a match, applies PS5 digital edition MAX_PRICE_SERIES_TEST Maximum price allowed for a match, applies test:series MICROCENTER_LOCATION Specific MicroCenter location(s) to search. Comma separated, e.g.: marietta,duluth , default: web SHOW_ONLY_BRANDS Filter to show specified brands. Comma separated, e.g.: evga,zotac SHOW_ONLY_MODELS Filter to show specified models. Comma separated, can include series. E.g.: founders edition:3090,rog strix SHOW_ONLY_SERIES Filter to show specified series. Comma separated, e.g.: 3080,ryzen5900 STORES Supported stores you want to be scraped. Default: amazon,bestbuy . Comma separated, can include PAGE_SLEEP_MIN and PAGE_SLEEP_MAX values. E.g.: amazon:10000:30000,bestbuy,newegg:50000:80000 . Note For MAX_PRICE_SERIES_* variables: Use whole numbers only (no currency symbol is required). Avoid using any commas or decimal points. Example: 1234 . Merchandise found above this price will be skipped.","title":"Filter"},{"location":"reference/filter/#supported-stores","text":"Used with the STORES variable. Stores Country Environment variable AComPC DE acompc Adorama US adorama Akinformatica IT akinformatica Allneeds AU allneeds Alternate DE alternate Alternate NL alternate-nl Amazon US amazon Amazon CA amazon-ca Amazon DE amazon-de Amazon Warehouse DE amazon-de-warehouse Amazon ES amazon-es Amazon FR amazon-fr Amazon IT amazon-it Amazon NL amazon-nl Amazon SG amazon-sg Amazon UK amazon-uk AMD US amd AMD CA amd-ca AMD DE amd-de AMD IT amd-it AMD UK amd-uk AntOnline US antonline Argos UK argos Argos IE argos-ie Aria PC UK aria ARLT DE arlt ASUS US asus ASUS DE asus-de AWD-IT UK awd Azerty NL azerty B&H US bandh Best Buy US bestbuy Best Buy CA bestbuy-ca Box UK box BPCTech AU bpctech BPM-Power IT bpm-power CanadaComputers CA canadacomputers Caseking DE caseking CCL UK ccl Centrecom AU centrecom Comet IT comet ComputerAlliance AU computeralliance Computeruniverse DE computeruniverse Coolblue NL coolblue Coolmod ES coolmod Corsair US corsair Corsair UK corsair-uk CPL AU cpl Currys UK currys Cyberport DE cyberport DComp AU dcomp Drako IT drako DustinHome NO dustinhome-no EBGames CA ebgames eBuyer UK ebuyer El Corte Ingl\u00e9s ES elcorteingles Elkjop NO elkjop ePrice IT eprice Equippr DE equippr Euronics IT euronics Euronics DE euronics-de Evatech AU evatech EVGA US evga EVGA EU evga-eu Expert DE expert Futurex DE futurex Galaxus DE galaxus Game UK game Gamestop US gamestop Gamestop DE gamestop-de Gamestop IE gamestop-ie Gamestop IT gamestop-it Globaldata PT globaldata Hardware Planet IT HarrisTechnology AU harristechnology Harvey Normans IE harveynorman-ie iGame Computer AU igame-computer John Lewis UK johnlewis Kabum BR kabum Komplett NO komplett-no Landmark Computers AU landmark-computers Ldlc FR ldlc Mediamarkt DE mediamarkt Medimax DE medimax Megekko NL megekko MemoryExpress CA memoryexpress Micro Center US microcenter Mindfactory DE mindfactory MSY AU msy Mwave AU mwave Netonnet NO netonnet-no Newegg US newegg Newegg CA newegg-ca Newegg SG newegg-sg Notebooksbilliger DE notebooksbilliger Novatech UK novatech Novo Atalho PT novoatalho Nvidia EU/UK See below Office Depot US officedepot Ollo IT ollo Otto DE otto Overclockers UK overclockers PBTech AU pbtech PCByte AU pcbyte PCCG AU pccg PCComponentes ES pccomponentes PCDiga PT pcdiga PCKing DE pcking PlayStation US playstation PNY US pny Power NO power-no Proshop DE proshop-de Proshop DK proshop-dk Proshop NO proshop-no Rosman AU rosman Rosman-Melb AU rosman-melb Saturn DE saturn Save On It AU saveonit Scan UK scan Scorptec AU scorptec ShopTo UK shopto Smyths Toys UK smythstoys Smyths Toys IE smythstoys-ie Spielegrotte DE spielegrotte Storm Computers AU storm-computer Target US target Tesco IE tesco-ie TopAchat GR topachat Toys R Us US toysrus Umart AU umart Unieuro IT unieuro Very UK very Vuugo CA vuugo Walmart US walmart Walmart CA walmart-ca Wells Technology AU wellstechnology Wipoid ES wipoid Zotac US zotac","title":"Supported stores"},{"location":"reference/filter/#micro-center-stores","text":"Used with the MICROCENTER_LOCATION variable. Note Before using web , please review this issue comment . brooklyn brentwood cambridge chicago columbus dallas denver duluth fairfax flushing houston madison-heights marietta mayfield-heights north-jersey overland-park parkville rockville sharonville st-davids st-louis-park tustin westbury westmont yonkers","title":"Micro Center stores"},{"location":"reference/filter/#supported-brands-and-models","text":"Used with the SHOW_ONLY_BRANDS and SHOW_ONLY_MODELS variables. Brand Model amd 5600x , 5800x , 5900x , 5950x , amd reference asus crosshair viii , dual , dual oc , ekwb , strix , strix oc , strix white , tuf , tuf oc corsair 750 platinum , 600 platinum , 600 gold colorful igame advanced oc , igame vulcan oc evga ftw3 , ftw3 black , ftw3 ultra , ftw3 ultra hybrid , ftw3 ultra hydro copper , xc3 , xc black , xc gaming , xc3 black , xc3 ultra , xc3 ultra hybrid gainward phantom gs , phoenix , phoenix gs , phoenix gs oc gigabyte aorus master , aorus xtreme , aorus xtreme waterforce , aorus xtreme waterforce wb , eagle , eagle oc , gaming , gaming oc , gaming oc pro , turbo , vision , vision oc galax sg , sg oc inno3d gaming x3 , ichill x3 , ichill x4 , ichill frostbite , twin x2 , twin x2 oc kfa2 sg , sg oc leadtek hurricane microsoft xbox series x , xbox series s msi gaming x trio , suprim , suprim x , ventus 2x oc , ventus 3x , ventus 3x oc nvidia founders edition palit gamerock oc , gaming pro , gaming pro oc pny dual fan , xlr8 epic x , xlr8 revel , xlr8 uprising sony ps5 console , ps5 digital xfx merc , amd reference zotac amp holo , amp extreme holo , amp white , trinity , trinity oc , twin edge , twin edge oc , twin edge oc white","title":"Supported brands and models"},{"location":"reference/filter/#supported-series","text":"Used with the SHOW_ONLY_SERIES variable. Series Value AMD Ryzen 5600x ryzen5600 AMD Ryzen 5800x ryzen5800 AMD Ryzen 5900x ryzen5900 AMD Ryzen 5950x ryzen5950 AMD RX 6800 rx6800 AMD RX 6800XT rx6800xt AMD RX 6900XT rx6900xt Nvidia RTX 3060 3060 Nvidia RTX 3060 Ti 3060ti Nvidia RTX 3070 3070 Nvidia RTX 3080 3080 Nvidia RTX 3090 3090 Corsair SFX PSU sf Crosshair VIII darkhero Sony PS5 sonyps5c Sony PS5 Digital Edition sonyps5de Xbox Series S xboxss Xbox Series X xboxsx","title":"Supported series"},{"location":"reference/filter/#nvidia-store-reference","text":"Note Use the Nvidia Store to check stock for Founders Edition cards only (3060 Ti/3070/3080/3090). For USA use bestbuy instead. Info Use the STORE variable for your chosen country. For example, to check for a FE card in Belgium you would use the nvidia-fr store. Country Store Retailer Austria nvidia-de NBB Belgium nvidia-fr LDLC France nvidia-fr LDLC Germany nvidia-de NBB Ireland nvidia-gb Scan Luxembourg nvidia-fr LDLC Spain nvidia-es LDLC United Kingdom nvidia-gb Scan","title":"Nvidia Store Reference"},{"location":"reference/notification/","text":"Notification \u00b6 You can test your notification configuration by running npm run test:notification . Desktop \u00b6 Environment variable Description DESKTOP_NOTIFICATIONS Display desktop notifications using node-notifier . PLAY_SOUND Play this sound notification if a product is found. Relative path accepted, valid formats: wav, mp3, flac, E.g.: path/to/notification.wav , free sounds available SOUND_PLAYER Override the default sound player using the specified executable. Attention If you're on Windows, you must have the proper library to run. Discord \u00b6 Environment variable Description DISCORD_NOTIFY_GROUP Discord group you would like to notify DISCORD_NOTIFY_GROUP_3060 Discord group to notify on 3060 stock DISCORD_NOTIFY_GROUP_3060TI Discord group to notify on 3060 Ti stock DISCORD_NOTIFY_GROUP_3070 Discord group to notify on 3070 stock DISCORD_NOTIFY_GROUP_3080 Discord group to notify on 3080 stock DISCORD_NOTIFY_GROUP_3090 Discord group to notify on 3090 stock DISCORD_NOTIFY_GROUP_RYZEN5600 Discord group to notify on 5600X stock DISCORD_NOTIFY_GROUP_RYZEN5800 Discord group to notify on 5800X stock DISCORD_NOTIFY_GROUP_RYZEN5900 Discord group to notify on 5900X stock DISCORD_NOTIFY_GROUP_RYZEN5950 Discord group to notify on 5950X stock DISCORD_NOTIFY_GROUP_DARKHERO Discord group to notify on Dark Hero stock DISCORD_NOTIFY_GROUP_CORSAIR_SF Discord group to notify on Corsair SF stock DISCORD_NOTIFY_GROUP_SONYPS5C Discord group to notify on Sony PS5 stock DISCORD_NOTIFY_GROUP_SONYPS5DE Discord group to notify on Sony PS5 Digital stock DISCORD_NOTIFY_GROUP_XBOXSX Discord group to notify on Xbox Series X stock DISCORD_NOTIFY_GROUP_XBOXSS Discord group to notify on Xbox Series S stock DISCORD_NOTIFY_GROUP_TEST Discord group to notify on test stock DISCORD_WEB_HOOK Discord Web Hook URL. Can be comma separated. Use whole webhook URL Note All groups can be comma separated. DISCORD_NOTIFY_GROUP is always used if set. If you're using a role, please use <@&2834729847239842> If you're using a user, please use <@2834729847239842> Email and SMS \u00b6 Default provider is Gmail. If you use a different email provider, you must provide SMTP settings. Environment variable Description EMAIL_PASSWORD Email password. (See below for Gmail MFA users) EMAIL_TO Destination Email. Defaults to username if not set. Can be comma separated EMAIL_USERNAME Email address PHONE_CARRIER Supported carriers for SMS. E.g.: att or att,verizon,google , email configuration required. If multiple phone numbers are listed, enter a carrier for each phone number PHONE_NUMBER 10 digit phone number(s). E.g.: 1234567890 or 1234567890,0987654321,11112223333 , email configuration required SMTP_ADDRESS IP Address or FQDN of SMTP server SMTP_PORT TCP Port number on which the smtp server is listening for connections. Default: 25 Attention If you use Gmail and have multi-factor authentication (MFA), you will need to create an app password and use this instead of your Gmail password. Supported carriers \u00b6 Carrier Environment variable AT&T att AT&T Prepaid attgo Bell bell Fido fido Google google Koodo koodo Mint mint Rogers rogers Sprint sprint Telus telus T-Mobile tmobile USCC uscc Verizon verizon Virgin virgin Virgin (CA) virgin-ca Visible visible MQTT \u00b6 Environment variable Description MQTT_BROKER_ADDRESS IP address or URL of MQTT Broker, e.g.: 192.168.1.xxx or broker.hivemq.com MQTT_BROKER_PORT Network port of MQTT Broker. Default: 1883 MQTT_CLIENT_ID Unique Client ID (only if required by MQTT Broker), typically not required when only publishing alerts MQTT_PASSWORD MQTT password - only use with MQTT brokers on private networks, if required. Will not be sent over public networks for safety MQTT_QOS QoS level for published alerts to broker (https://www.npmjs.com/package/mqtt#about-qos). Default: 0 , Can be 0 , 1 , or 2 MQTT_TOPIC Topic to publish alerts to. Can include %store% , %series% , %brand% , %model% for dynamic topics. Default: streetmerchant/alert . E.g.: nv-alert/%store%/%series%/%brand%/%model%/alert MQTT_USERNAME MQTT username - (only if required by MQTT Broker) PagerDuty \u00b6 Obtained in PagerDuty - - Integrations Environment variable Description PAGERDUTY_INTEGRATION_KEY PagerDuty Events API v2 Integration Key. PAGERDUTY_SEVERITY Severity of PagerDuty events Philips Hue \u00b6 Generate required keys using instructions . This will be used for both LAN and cloud access over the official Remote Hue API. For cloud only usage, instructions to generate are located here . Here's a video demonstration . Environment variable Description PHILIPS_HUE_API_KEY Hue Bridge API Key PHILIPS_HUE_LAN_BRIDGE_IP LAN IP Address of your Hue Bridge. LAN only, e.g. 192.168.x.x PHILIPS_HUE_LIGHT_IDS Light IDs. All lights if not supplied. Can be comma separated, e.g.: 1,2 . See Hue App -> About for IDs PHILIPS_HUE_LIGHT_COLOR Color in RGB Format. Nvidia green if not supplied. Can be comma separated, e.g.: 255,255,255 PHILIPS_HUE_LIGHT_PATTERN Lights will flash for 30 seconds if blink is given PHILIPS_HUE_CLOUD_ACCESS_TOKEN Cloud Access Token. Cloud only PHILIPS_HUE_CLOUD_REFRESH_TOKEN Cloud Refresh Token. Cloud only PHILIPS_HUE_CLOUD_CLIENT_ID Cloud Client ID. Cloud only PHILIPS_HUE_CLOUD_CLIENT_SECRET Cloud Client Secret. Cloud only Pushbullet \u00b6 Generate token at pushbullet.com/#settings/account . Environment variable Description PUSHBULLET API key Pushover \u00b6 Generate token at pushover.net/apps/build . Environment variable Description PUSHOVER_EXPIRE How many seconds your notification will continue to be retried for (every PUSHOVER_RETRY seconds) PUSHOVER_RETRY How often (in seconds) the Pushover servers will send the same notification to the user PUSHOVER_PRIORITY Message priority PUSHOVER_TOKEN API token PUSHOVER_USER Username Note PUSHOVER_EXPIRE and PUSHOVER_RETRY are only used when PUSHOVER_PRIORITY=\"2\" Redis \u00b6 Environment variable Description REDIS_URL Connection string in format (redis://[username]:[password]@[host][:port]/[database-id]) (redis://localhost:6379/1) Slack \u00b6 Environment variable Description SLACK_CHANNEL Channel for posting SLACK_TOKEN API token SmartThings \u00b6 Generate token at account.smartthings.com/tokens . Environment variable Description SMARTTHINGS_TOKEN Access token SMARTTHINGS_SWITCH_LABEL Switch Label of switch to activate Telegram \u00b6 Environment variable Description TELEGRAM_ACCESS_TOKEN Access token TELEGRAM_CHAT_ID Chat ID. Can be comma separated, e.g.: 123456789,987654321 Twilio \u00b6 Token generation can be found at twilio.com/console . Environment variable Description TWILIO_ACCOUNT_SID Account SID TWILIO_AUTH_TOKEN Auth Token TWILIO_FROM_NUMBER Provided phone number to send messages from TWILIO_TO_NUMBER Mobile number to send SMS to Note Include country codes in phone numbers. Example: +4401234567890 Twitter \u00b6 Generate all Twitter keys at developer.twitter.com . Environment variable Description TWITTER_ACCESS_TOKEN_KEY Twitter Token Key TWITTER_ACCESS_TOKEN_SECRET Twitter Token Secret TWITTER_CONSUMER_KEY Twitter Consumer Key TWITTER_CONSUMER_SECRET Twitter Consumer Secret TWITTER_TWEET_TAGS List of hashtags to append to the tweet message, e.g.: #nvidia #nvidiastock Twitch \u00b6 Instructions on how to set up tokens can be found at d-fischer.github.io/twitch-chat-client/docs/examples/basic-bot . Environment variable Description TWITCH_CLIENT_ID Twitch client ID TWITCH_CLIENT_SECRET Twitch client secret TWITCH_ACCESS_TOKEN Twitch access token TWITCH_REFRESH_TOKEN Twitch refresh token TWITCH_CHANNEL Twitch channel StreamLabs \u00b6 Instructions on how to set up tokens can be found at dev.streamlabs.com . You don't need to submit your application for review, just whitelist yourself! Environment variable Description STREAMLABS_ACCESS_TOKEN StreamLabs access token STREAMLABS_TYPE StreamLabs alert type STREAMLABS_IMAGE Custom image to display. Leave it blank for default STREAMLABS_SOUND Custom image to play. Leave it blank for default STREAMLABS_DURATION StreamLabs alert duration (in milliseconds)","title":"Notification"},{"location":"reference/notification/#notification","text":"You can test your notification configuration by running npm run test:notification .","title":"Notification"},{"location":"reference/notification/#desktop","text":"Environment variable Description DESKTOP_NOTIFICATIONS Display desktop notifications using node-notifier . PLAY_SOUND Play this sound notification if a product is found. Relative path accepted, valid formats: wav, mp3, flac, E.g.: path/to/notification.wav , free sounds available SOUND_PLAYER Override the default sound player using the specified executable. Attention If you're on Windows, you must have the proper library to run.","title":"Desktop"},{"location":"reference/notification/#discord","text":"Environment variable Description DISCORD_NOTIFY_GROUP Discord group you would like to notify DISCORD_NOTIFY_GROUP_3060 Discord group to notify on 3060 stock DISCORD_NOTIFY_GROUP_3060TI Discord group to notify on 3060 Ti stock DISCORD_NOTIFY_GROUP_3070 Discord group to notify on 3070 stock DISCORD_NOTIFY_GROUP_3080 Discord group to notify on 3080 stock DISCORD_NOTIFY_GROUP_3090 Discord group to notify on 3090 stock DISCORD_NOTIFY_GROUP_RYZEN5600 Discord group to notify on 5600X stock DISCORD_NOTIFY_GROUP_RYZEN5800 Discord group to notify on 5800X stock DISCORD_NOTIFY_GROUP_RYZEN5900 Discord group to notify on 5900X stock DISCORD_NOTIFY_GROUP_RYZEN5950 Discord group to notify on 5950X stock DISCORD_NOTIFY_GROUP_DARKHERO Discord group to notify on Dark Hero stock DISCORD_NOTIFY_GROUP_CORSAIR_SF Discord group to notify on Corsair SF stock DISCORD_NOTIFY_GROUP_SONYPS5C Discord group to notify on Sony PS5 stock DISCORD_NOTIFY_GROUP_SONYPS5DE Discord group to notify on Sony PS5 Digital stock DISCORD_NOTIFY_GROUP_XBOXSX Discord group to notify on Xbox Series X stock DISCORD_NOTIFY_GROUP_XBOXSS Discord group to notify on Xbox Series S stock DISCORD_NOTIFY_GROUP_TEST Discord group to notify on test stock DISCORD_WEB_HOOK Discord Web Hook URL. Can be comma separated. Use whole webhook URL Note All groups can be comma separated. DISCORD_NOTIFY_GROUP is always used if set. If you're using a role, please use <@&2834729847239842> If you're using a user, please use <@2834729847239842>","title":"Discord"},{"location":"reference/notification/#email-and-sms","text":"Default provider is Gmail. If you use a different email provider, you must provide SMTP settings. Environment variable Description EMAIL_PASSWORD Email password. (See below for Gmail MFA users) EMAIL_TO Destination Email. Defaults to username if not set. Can be comma separated EMAIL_USERNAME Email address PHONE_CARRIER Supported carriers for SMS. E.g.: att or att,verizon,google , email configuration required. If multiple phone numbers are listed, enter a carrier for each phone number PHONE_NUMBER 10 digit phone number(s). E.g.: 1234567890 or 1234567890,0987654321,11112223333 , email configuration required SMTP_ADDRESS IP Address or FQDN of SMTP server SMTP_PORT TCP Port number on which the smtp server is listening for connections. Default: 25 Attention If you use Gmail and have multi-factor authentication (MFA), you will need to create an app password and use this instead of your Gmail password.","title":"Email and SMS"},{"location":"reference/notification/#supported-carriers","text":"Carrier Environment variable AT&T att AT&T Prepaid attgo Bell bell Fido fido Google google Koodo koodo Mint mint Rogers rogers Sprint sprint Telus telus T-Mobile tmobile USCC uscc Verizon verizon Virgin virgin Virgin (CA) virgin-ca Visible visible","title":"Supported carriers"},{"location":"reference/notification/#mqtt","text":"Environment variable Description MQTT_BROKER_ADDRESS IP address or URL of MQTT Broker, e.g.: 192.168.1.xxx or broker.hivemq.com MQTT_BROKER_PORT Network port of MQTT Broker. Default: 1883 MQTT_CLIENT_ID Unique Client ID (only if required by MQTT Broker), typically not required when only publishing alerts MQTT_PASSWORD MQTT password - only use with MQTT brokers on private networks, if required. Will not be sent over public networks for safety MQTT_QOS QoS level for published alerts to broker (https://www.npmjs.com/package/mqtt#about-qos). Default: 0 , Can be 0 , 1 , or 2 MQTT_TOPIC Topic to publish alerts to. Can include %store% , %series% , %brand% , %model% for dynamic topics. Default: streetmerchant/alert . E.g.: nv-alert/%store%/%series%/%brand%/%model%/alert MQTT_USERNAME MQTT username - (only if required by MQTT Broker)","title":"MQTT"},{"location":"reference/notification/#pagerduty","text":"Obtained in PagerDuty - - Integrations Environment variable Description PAGERDUTY_INTEGRATION_KEY PagerDuty Events API v2 Integration Key. PAGERDUTY_SEVERITY Severity of PagerDuty events","title":"PagerDuty"},{"location":"reference/notification/#philips-hue","text":"Generate required keys using instructions . This will be used for both LAN and cloud access over the official Remote Hue API. For cloud only usage, instructions to generate are located here . Here's a video demonstration . Environment variable Description PHILIPS_HUE_API_KEY Hue Bridge API Key PHILIPS_HUE_LAN_BRIDGE_IP LAN IP Address of your Hue Bridge. LAN only, e.g. 192.168.x.x PHILIPS_HUE_LIGHT_IDS Light IDs. All lights if not supplied. Can be comma separated, e.g.: 1,2 . See Hue App -> About for IDs PHILIPS_HUE_LIGHT_COLOR Color in RGB Format. Nvidia green if not supplied. Can be comma separated, e.g.: 255,255,255 PHILIPS_HUE_LIGHT_PATTERN Lights will flash for 30 seconds if blink is given PHILIPS_HUE_CLOUD_ACCESS_TOKEN Cloud Access Token. Cloud only PHILIPS_HUE_CLOUD_REFRESH_TOKEN Cloud Refresh Token. Cloud only PHILIPS_HUE_CLOUD_CLIENT_ID Cloud Client ID. Cloud only PHILIPS_HUE_CLOUD_CLIENT_SECRET Cloud Client Secret. Cloud only","title":"Philips Hue"},{"location":"reference/notification/#pushbullet","text":"Generate token at pushbullet.com/#settings/account . Environment variable Description PUSHBULLET API key","title":"Pushbullet"},{"location":"reference/notification/#pushover","text":"Generate token at pushover.net/apps/build . Environment variable Description PUSHOVER_EXPIRE How many seconds your notification will continue to be retried for (every PUSHOVER_RETRY seconds) PUSHOVER_RETRY How often (in seconds) the Pushover servers will send the same notification to the user PUSHOVER_PRIORITY Message priority PUSHOVER_TOKEN API token PUSHOVER_USER Username Note PUSHOVER_EXPIRE and PUSHOVER_RETRY are only used when PUSHOVER_PRIORITY=\"2\"","title":"Pushover"},{"location":"reference/notification/#redis","text":"Environment variable Description REDIS_URL Connection string in format (redis://[username]:[password]@[host][:port]/[database-id]) (redis://localhost:6379/1)","title":"Redis"},{"location":"reference/notification/#slack","text":"Environment variable Description SLACK_CHANNEL Channel for posting SLACK_TOKEN API token","title":"Slack"},{"location":"reference/notification/#smartthings","text":"Generate token at account.smartthings.com/tokens . Environment variable Description SMARTTHINGS_TOKEN Access token SMARTTHINGS_SWITCH_LABEL Switch Label of switch to activate","title":"SmartThings"},{"location":"reference/notification/#telegram","text":"Environment variable Description TELEGRAM_ACCESS_TOKEN Access token TELEGRAM_CHAT_ID Chat ID. Can be comma separated, e.g.: 123456789,987654321","title":"Telegram"},{"location":"reference/notification/#twilio","text":"Token generation can be found at twilio.com/console . Environment variable Description TWILIO_ACCOUNT_SID Account SID TWILIO_AUTH_TOKEN Auth Token TWILIO_FROM_NUMBER Provided phone number to send messages from TWILIO_TO_NUMBER Mobile number to send SMS to Note Include country codes in phone numbers. Example: +4401234567890","title":"Twilio"},{"location":"reference/notification/#twitter","text":"Generate all Twitter keys at developer.twitter.com . Environment variable Description TWITTER_ACCESS_TOKEN_KEY Twitter Token Key TWITTER_ACCESS_TOKEN_SECRET Twitter Token Secret TWITTER_CONSUMER_KEY Twitter Consumer Key TWITTER_CONSUMER_SECRET Twitter Consumer Secret TWITTER_TWEET_TAGS List of hashtags to append to the tweet message, e.g.: #nvidia #nvidiastock","title":"Twitter"},{"location":"reference/notification/#twitch","text":"Instructions on how to set up tokens can be found at d-fischer.github.io/twitch-chat-client/docs/examples/basic-bot . Environment variable Description TWITCH_CLIENT_ID Twitch client ID TWITCH_CLIENT_SECRET Twitch client secret TWITCH_ACCESS_TOKEN Twitch access token TWITCH_REFRESH_TOKEN Twitch refresh token TWITCH_CHANNEL Twitch channel","title":"Twitch"},{"location":"reference/notification/#streamlabs","text":"Instructions on how to set up tokens can be found at dev.streamlabs.com . You don't need to submit your application for review, just whitelist yourself! Environment variable Description STREAMLABS_ACCESS_TOKEN StreamLabs access token STREAMLABS_TYPE StreamLabs alert type STREAMLABS_IMAGE Custom image to display. Leave it blank for default STREAMLABS_SOUND Custom image to play. Leave it blank for default STREAMLABS_DURATION StreamLabs alert duration (in milliseconds)","title":"StreamLabs"},{"location":"reference/proxy/","text":"Proxy \u00b6 Filename \u00b6 Proxy configuration can be set either per store in a file called storename.proxies or globally in global.proxies in the streetmerchant root directory. If both exist, the store specific file will take precedence. Format \u00b6 The format is one proxy per line with the following structure: protocol://[user:password@]ip[:port] Supported protocols are http and socks5 . Valid examples include: - socks5://1.2.3.4:3180 - socks5://abcd:efgh@1.2.3.4:5678 - http://1.2.3.4:80 - http://abcd:efgh@1.2.3.4:8080","title":"Proxy"},{"location":"reference/proxy/#proxy","text":"","title":"Proxy"},{"location":"reference/proxy/#filename","text":"Proxy configuration can be set either per store in a file called storename.proxies or globally in global.proxies in the streetmerchant root directory. If both exist, the store specific file will take precedence.","title":"Filename"},{"location":"reference/proxy/#format","text":"The format is one proxy per line with the following structure: protocol://[user:password@]ip[:port] Supported protocols are http and socks5 . Valid examples include: - socks5://1.2.3.4:3180 - socks5://abcd:efgh@1.2.3.4:5678 - http://1.2.3.4:80 - http://abcd:efgh@1.2.3.4:8080","title":"Format"},{"location":"reference/terraform/","text":"Terraform for AWS Fargate \u00b6 Here is a configurable terraform to get you up and running with the streetmerchant docker image in AWS ECS Fargate. Running on cloud infrastructure (your mileage may vary), you'll need to integrate with one of the chat notifications rather than having your local browser navigate to a URL for you. The author's findings were that it worked ok; running the container from within EU-West-2 region was sufficient to get a timely alert for PS5 stock on Aamzon and follow the link to a successful checkout. Dependencies: Terraform 14 Getting started \u00b6 There's an example tfvars file to start you off; rename this with your own preferences. Anything you can set in the dotenv file you'll need to set in terraform.tfvars to get the env vars into your fargate container. Authenticate yourself with your own AWS account as with any aws commandline tool. If you wish, add a specific section to your aws credentials file and set that profile name in terraform.tfvars . Then you can: 1 2 3 4 5 cd ./terraform terraform init terraform plan terraform apply What's included \u00b6 container running streetmerchant with your chosen config cloud metrics and a dashboard tracking 'out of stock' and 'error' responses from your configured stores","title":"Terraform"},{"location":"reference/terraform/#terraform-for-aws-fargate","text":"Here is a configurable terraform to get you up and running with the streetmerchant docker image in AWS ECS Fargate. Running on cloud infrastructure (your mileage may vary), you'll need to integrate with one of the chat notifications rather than having your local browser navigate to a URL for you. The author's findings were that it worked ok; running the container from within EU-West-2 region was sufficient to get a timely alert for PS5 stock on Aamzon and follow the link to a successful checkout. Dependencies: Terraform 14","title":"Terraform for AWS Fargate"},{"location":"reference/terraform/#getting-started","text":"There's an example tfvars file to start you off; rename this with your own preferences. Anything you can set in the dotenv file you'll need to set in terraform.tfvars to get the env vars into your fargate container. Authenticate yourself with your own AWS account as with any aws commandline tool. If you wish, add a specific section to your aws credentials file and set that profile name in terraform.tfvars . Then you can: 1 2 3 4 5 cd ./terraform terraform init terraform plan terraform apply","title":"Getting started"},{"location":"reference/terraform/#whats-included","text":"container running streetmerchant with your chosen config cloud metrics and a dashboard tracking 'out of stock' and 'error' responses from your configured stores","title":"What's included"}]}