gearbolt / nvidia-clerk

A cross-platform go bot that tracks for availability of stock from Nvidia's store and adds a cart to your checkout.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nvidia-clerk

nvidia-clerk is a command line tool written to help you get an RTX 3XXX series GPU.

alt text

Background

nvidia-clerk was written in response to the recent NVIDIA RTX 3080 release debacle. During the launch multiple different groups of scalpers used private 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 when a card becomes avaliable it can automatically notify you or open your browser to the page with a cart containing your item.

Install

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 (All regions) 3090 (GBR and USA Regions Only)

Usage

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

Remote Mode

Disables browser automation and instead sends you the checkout link via one of the below notification services you can click the link on any device to get to your checkout with the card added. This is great for people who can't be at their computer during the day! (Try testing with -model=2060 to see how this new feature works)

nvidia-clerk-windows.exe -model=3090 -sms -remote

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

❗ Android users must disable the link preview feature in their messaging app of choice!!!!

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

Testing only works fully with an in-stock card.

nvidia-clerk-windows.exe -sms -test -model=2060

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

❗ Before you do anything or ask for help go get the latest release!

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:

About

A cross-platform go bot that tracks for availability of stock from Nvidia's store and adds a cart to your checkout.

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


Languages

Language:Go 100.0%