All Projects → EricJMarti → Inventory Hunter

EricJMarti / Inventory Hunter

Licence: mit
⚡️ Get notified as soon as your next CPU, GPU, or game console is in stock

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Inventory Hunter

Tradingview Webhook Bot
⚙️ Send TradingView alerts to Telegram, Discord, Slack, Twitter and/or Email.
Stars: ✭ 135 (-82.65%)
Mutual labels:  bot, discord, telegram, slack
Integrations
Connect your App to Multiple Messaging Channels with the W3C Open standard.
Stars: ✭ 721 (-7.33%)
Mutual labels:  bot, discord, telegram, slack
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (-6.56%)
Mutual labels:  bot, discord, telegram, slack
Flottbot
A chatbot framework written in Go. All configurations are made in YAML files, or inside scripts written in your favorite language.
Stars: ✭ 175 (-77.51%)
Mutual labels:  bot, discord, telegram, slack
darknet
Darknet on OpenCL Convolutional Neural Networks on OpenCL on Intel & NVidia & AMD & Mali GPUs for macOS & GNU/Linux
Stars: ✭ 160 (-79.43%)
Mutual labels:  amd, intel, nvidia
Autodesk-Fusion-360-for-Linux
This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
Stars: ✭ 810 (+4.11%)
Mutual labels:  amd, intel, nvidia
Realsr Ncnn Vulkan
RealSR super resolution implemented with ncnn library
Stars: ✭ 357 (-54.11%)
Mutual labels:  nvidia, intel, amd
Staxrip
StaxRip is a video encoding app for Windows with a unrivaled feature set and usability.
Stars: ✭ 629 (-19.15%)
Mutual labels:  nvidia, intel, amd
Mellow
Mellow can communicate with several APIs like Ombi, Sonarr, Radarr and Tautulli which are related to home streaming to use those services directly in your Discord client.
Stars: ✭ 193 (-75.19%)
Mutual labels:  bot, discord, telegram
Bottender
⚡️ A framework for building conversational user interfaces.
Stars: ✭ 3,803 (+388.82%)
Mutual labels:  bot, telegram, slack
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (-51.93%)
Mutual labels:  nvidia, intel, amd
Coriander
Build NVIDIA® CUDA™ code for OpenCL™ 1.2 devices
Stars: ✭ 665 (-14.52%)
Mutual labels:  nvidia, intel, amd
Awesome Bots
Awesome Links about bots.
Stars: ✭ 412 (-47.04%)
Mutual labels:  bot, telegram, slack
Aiva
AIVA (A.I. Virtual Assistant): General-purpose virtual assistant for developers.
Stars: ✭ 693 (-10.93%)
Mutual labels:  bot, telegram, slack
gpu-passthrough
A GPU passthrough tutorial using libvirt and KVM on GNU/Linux
Stars: ✭ 57 (-92.67%)
Mutual labels:  amd, intel, nvidia
nix-install-vendor-gl
Ensure that a system-compatible OpenGL driver is available for `nix-shell`-encapsulated programs.
Stars: ✭ 22 (-97.17%)
Mutual labels:  amd, intel, nvidia
Pokemongo Bot
The Pokemon Go Bot, baking with community.
Stars: ✭ 3,730 (+379.43%)
Mutual labels:  bot, telegram, slack
Diun
Receive notifications when an image is updated on a Docker registry
Stars: ✭ 704 (-9.51%)
Mutual labels:  discord, telegram, slack
Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+472.24%)
Mutual labels:  discord, telegram, slack
Ocl
OpenCL for Rust
Stars: ✭ 453 (-41.77%)
Mutual labels:  nvidia, intel, amd

Inventory Hunter

Build Docker Pulls Docker Image Size (tag)

This bot helped me snag an RTX 3070... hopefully it will help you get your hands on your next CPU, GPU, or game console.

Requirements

  • Raspberry Pi 2 or newer (alternatively, you can use an always-on PC or Mac)
  • Docker (tutorial)

You will also need one of the following:

Quick Start

For instructions specific to Windows, please see this guide instead: Instructions for Windows

These steps should work on any supported Docker platform, but they have been specifically tested on Raspberry Pi OS with Docker already installed.

  1. Clone this repository and pull the latest image from Docker Hub:

    [email protected]:~
    $ git clone https://github.com/EricJMarti/inventory-hunter
    
    [email protected]:~
    $ cd inventory-hunter
    
    [email protected]:~/inventory-hunter
    $ docker pull ericjmarti/inventory-hunter:latest
    
  2. Create your own configuration file based on one of the provided examples:

  3. Start the Docker container using the provided docker_run.bash script, specifying the required arguments.

    If using Discord or Slack, the format of your command will look like this:

    $ ./docker_run.bash -c <config_file> -a <discord_or_slack> -w <webhook_url>
    
    # Discord example:
    [email protected]:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -a discord -w https://discord.com/api/webhooks/...
    

    If using an SMTP relay, the format of your command will look like this:

    $ ./docker_run.bash -c <config_file> -e <email_address> -r <relay_ip_address>
    
    # SMTP example:
    [email protected]:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -e [email protected] -r 127.0.0.1
    

Getting New Code

  1. First identify any running container names related to inventory-hunter
    $ docker ps
    
  2. Stop and remove all containers related to inventory-hunter
    $ docker stop CONTAINER_NAME
    $ docker rm CONTAINER_NAME
    
  3. Pull repo updates
    $ git pull
    
  4. Rerun the docker_run.bash command to start containers back up with updates.
    $ ./docker_run.bash -c <config_file> -a <discord_or_slack> -w <webhook_url>
    

Configuring Alerters

If you are interested in configuring multiple alerters or would like to keep your alerter settings saved in a file, you can configure inventory-hunter's alerting mechanism using a config file similar to the existing scraper configs.

  1. Create a file called alerters.yaml in the config directory.

  2. Configure the alerters you would like to use based on this example:

    ---
    alerters:
      discord:
        webhook_url: https://discord.com/api/webhooks/XXXXXXXXXXXX...
        mentions:
          - XXXXXXXXXXXXXXX
          - XXXXXXXXXXXXXXX
      telegram:
        webhook_url: https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXX/sendMessage
        chat_id: XXXXXXXX
      email:
        sender: [email protected]
        recipients:
          - [email protected]
          - [email protected]
        relay: 127.0.0.1
        password: XXXXXXXXXX   # optional
      slack:
        webhook_url: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
        mentions:
          - XXXXXXXXXXXXXXX
          - XXXXXXXXXXXXXXX
    ...
    
  3. Add this config file to your run command:

    [email protected]:~/inventory-hunter
    $ ./docker_run.bash -c ./config/newegg_rtx_3070.yaml -q ./config/alerters.yaml
    

How it works

The general idea is if you can get notified as soon as a product becomes in stock, you might have a chance to purchase it before scalpers clear out inventory. This script continually refreshes a set of URLs, looking for the "add to cart" phrase. Once detected, an automated alert is sent, giving you an opportunity to react.

FAQ

How is this different from existing online inventory trackers?

Before developing inventory-hunter, I used several existing services without any luck. By the time I received an alert, the product had already been scalped. This bot alerts faster than existing trackers for several reasons:

  • it runs on your own hardware, so no processing time is spent servicing other users
  • you get to choose which products you want to track
  • you are in control of the refresh frequency

What if inventory-hunter gets used by scalpers?

I sure hope this doesn't happen... 2020 and 2021 are bad enough already. My hope is that inventory-hunter levels the playing field a bit by giving real customers a better opportunity than they had previously. Serious scalpers will continue using automated checkout bots, and it is up to online retailers to combat this malarkey.

Do I really need Docker?

No, but I highly recommend it. If you know your way around python and pip/conda, then you should be able to replicate the environment I created using Docker.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].