Coder Social home page Coder Social logo

rpomykala / nvidia-clerk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ianmarmour/nvidia-clerk

0.0 0.0 0.0 11.01 MB

A cross-platform go bot that tracks for availability of stock from Nvidia's store and automatically add items to your checkout.

License: BSD 3-Clause "New" or "Revised" License

Go 100.00%

nvidia-clerk's Introduction

9/23/2020 3:34PM - NVIDIA Rotated Their API Keys Today And Adding Botting Protection

What this means for clerk, you won't get automatical checkout addition anymore just notifications of in stock inventory and the a browser open for you to add it to your cart. We added some basic randomization of request times too just in case (but it appears NVIDIA isn't blocking traffic that looks bot like). It also means more tragically that we can't scan for the new SKU numbers for the 3090 or 3070 prior to their launch. I'm still looking into any potential options, NVIDIA's API Key was leaked for many years but they've fixed that now without it I'm not sure that we can get the 3090/3070 SKUs.

nvidia-clerk

This project was written in response to the recent NVIDIA RTX 3080 release debacle. During the launch multiple different groups of scalpers used closed source "bots" to procure large quantities of NVIDIA GPU's and most consumers were left without being able to purchase the product. This project will provide a short term solution so that customers can ensure they can buy a GPU and compete with these scalpers.

NVIDIA Clerk doesn't actually purchase products for customers, it simply tracks the avaliable inventory from NVIDIAs APIs and automatically adds a GPU to your checkout/cart and navigates your browser checkout page whenever they become avaliable. The clerk can also notify you of this process if you provide Twilio API information (I am not interested in running an entire service for users, so this feature is limited to users aware of how to setup such things).

Install

Requirements

  • Google Chrome
  • Administrator Access

Download

Download the latest release from Releases

โ— Make sure you accept any browser warnings, these warnings are due to the fact that these release binaries are not "signed" (this costs money and as a free project we haven't paid for a signing certificate)

Supported Region Codes

AUT,BEL,CAN,CZE,DNK,FIN,FRA,DEU,USA,GBR,IRL,ITA,SWE,LUX,POL,PRT,ESP, NOR, NLD

Supported Models

3080

Usage

โ— Once you execute the below commands make sure to leave the Google Chrome browser that it launches open

Windows

๐Ÿ“ All commands should be executed inside of cmd.exe
nvidia-clerk-windows.exe -region=REGION_CODE_HERE -model=3080

Mac OSX

๐Ÿ“ All commands should be executed inside of Terminal.app
chmod +x ./nvidia-clerk-darwin

./nvidia-clerk-darwin -region=REGION_CODE_HERE -model=3080

Linux

๐Ÿ“ All commands should be executed inside of Shell
chmod +x ./nvidia-clerk-linux

./nvidia-clerk-linux -region=REGION_CODE_HERE -model=3080

Testing

Testing is currenly only supported for the USA region but it should show you what the automated checkout will look like.

Windows

๐Ÿ“ All commands should be executed inside of cmd.exe
nvidia-clerk-windows.exe -region=USA -test

Mac OSX

๐Ÿ“ All commands should be executed inside of Terminal.app
./nvidia-clerk-darwin -region=USA -test

Linux

๐Ÿ“ All commands should be executed inside of Shell
./nvidia-clerk-linux -region=USA -test

Advanced Usage

Manual Delay Usage

Example of setting a 1 second delay (delay is specificed in miliseconds)

nvidia-clerk-windows.exe -region=USA -delay=1000

SMS Notifications

Configuration

set TWILIO_ACCOUNT_SID=YOUR_TWILIO_ACCOUNT_SID_HERE
set TWILIO_TOKEN=YOUR_TWILIO_TOKEN_HERE
set TWILIO_SOURCE_NUMBER=YOUR_TWILIO_SERVICE_NUMBER_HERE
set TWILIO_DESTINATION_NUMBER=YOUR_DESITNATION_NUMBER_FOR_NOTIFICATIONS_HERE

Testing

nvidia-clerk-windows.exe -sms -test

Usage

nvidia-clerk-windows.exe -sms -region=REGION_CODE_HERE -model=3080

Discord Notifications

Configuration

set DISCORD_WEBHOOK_URL=DISCORD_WEBHOOK_URL_HERE

Testing

./nvidia-clerk-windows.exe -discord -test

Usage

./nvidia-clerk-windows.exe -discord -region=REGION_CODE_HERE -model=3080

Twitter Notifications

Configuration

set TWITTER_CONSUMER_KEY=YOUR_TWITTER_CONSUMER_KEY_HERE
set TWITTER_CONSUMER_SECRET=YOUR_TWITTER_CONSUMER_SECRET_HERE
set TWITTER_ACCESS_TOKEN=YOUR_TWITTER_ACCESS_TOKEN_HERE
set TWITTER_ACCESS_SECRET=YOUR_TWITTER_ACCESS_SECRET_HERE

Testing

./nvidia-clerk-windows.exe -twitter -test

Usage

./nvidia-clerk-windows.exe -twitter -region=REGION_CODE_HERE -model=3080

Telegram Notifications

Configuration

  1. In Telegram, create a new bot by contacting the @BotFather and either creating a new bot or getting an existing bot token.
  2. Once you have your token (e.g. 123456789:LaeQH7pvhJbqmqV9_akkVbClpsSZr7su63o), add your bot to a group or channel.
  3. Get the chat id of your group or channel by following the instructions available on GitHub here. This will be either in the format -10012345678 or @my_channel_or_group.
  4. Use the full token, including the :, as your API key, and use the full chat id, including the - or @, as your chat id.
set TELEGRAM_API_KEY=YOUR_TELEGRAM_API_KEY_HERE
set TELEGRAM_CHAT_ID=YOUR_TELEGRAM_CHAT_ID_HERE

Testing

./nvidia-clerk-windows.exe -telegram -test

Usage

./nvidia-clerk-windows.exe -telegram -region=REGION_CODE_HERE -model=3080

FAQ

exec: "google-chrome": executable file not found in %PATH%

The path to google chrome needs to be added to the path. While reinstalling Chrome can fix it, a quick search on Google will show you how to do exactly this.

My environment variables are being unset

You can add them to your .bashrc or .zsh files and be sure to export them. Sourcing the files and/or restarting your window will load them. That said, the easiest way to do this is just to wrap these values in a wrapper script. eg.

set TWILIO_ACCOUNT_SID={YOUR_TWILIO_ACCOUNT_SID}
set TWILIO_TOKEN={YOUR_TWILIO_TOKEN}
set TWILIO_SOURCE_NUMBER={YOUR_TWILIO_PHONE_NR}
set TWILIO_DESTINATION_NUMBER={THE_NUMBER_TO_WHICH_TO_SEND_THE_NOTIFICATIONS}

nvidia-clerk-windows.exe -region={REGION_CODE_HERE} -model=3080

The log says "Access Denied" and then quits

This can be caused by a myriad of things. However, here's some items to check:

  1. Is your antivirus blocking it? Some AVs will copy the threatening file into a separate directory and give a notification
  2. Is your firewall blocking access?
  3. Do you have the right permissions to run this program?

It's still not working... halp

Please search in the Issues tab of this repository for solutions, and if you can't find anything, post a detailed listing. Please follow the following structure for asking questions:

Operating system: 
Version of nvidia-clerk you're running:
Parameters passed in (redact sensitive info):
Additional info:

nvidia-clerk's People

Contributors

ianmarmour avatar bryanberger avatar forestlovewood avatar nickottrando avatar penguinologist avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.