All Projects → alxgmpr → FrodoBot

alxgmpr / FrodoBot

Licence: MIT license
🥊Hibbett Mobile ATC bot

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to FrodoBot

energy-use-case-trading-client
Energy Use Case Web UI for Lition Trading Platform
Stars: ✭ 23 (+27.78%)
Mutual labels:  axios, puppeteer
percy-puppeteer
Visual testing with Puppeteer and Percy
Stars: ✭ 47 (+161.11%)
Mutual labels:  puppeteer
fastify-axios
Add axios http client to your fastify instance
Stars: ✭ 28 (+55.56%)
Mutual labels:  axios
h-blog
vue+elementUI模仿我的博客,简单的写的几个练习页面
Stars: ✭ 14 (-22.22%)
Mutual labels:  axios
simple-headless-browser-serverless
Simple example of how to use Chrome as headless browser on AWS lambda
Stars: ✭ 16 (-11.11%)
Mutual labels:  puppeteer
electron-admin-element-vue
Electron Vue3.x Element-UI Admin
Stars: ✭ 37 (+105.56%)
Mutual labels:  axios
puppeteer-autoscroll-down
Handle infinite scroll on websites by puppeteer
Stars: ✭ 40 (+122.22%)
Mutual labels:  puppeteer
webpack-userscript-template
template to build userscript with webpack
Stars: ✭ 78 (+333.33%)
Mutual labels:  axios
instagram-get-images
Instagram get images 🌄 (hashtags, account, locations) with puppeteer
Stars: ✭ 69 (+283.33%)
Mutual labels:  puppeteer
Vue3.0 Element ShopManage
基于vue3.0+TypeScript+Element-plus的商品后台管理
Stars: ✭ 128 (+611.11%)
Mutual labels:  axios
puppeteer-botcheck
🕵‍♂ Bot detection tests for Puppeteer. Hide and seek!
Stars: ✭ 42 (+133.33%)
Mutual labels:  puppeteer
redux-rest-adapter
REST adapter for redux
Stars: ✭ 13 (-27.78%)
Mutual labels:  axios
instagram-liked-posts-downloader
Download liked (or all) posts from an Instagram profile.
Stars: ✭ 19 (+5.56%)
Mutual labels:  puppeteer
web-ext-deploy
A tool for deploying WebExtensions to multiple stores.
Stars: ✭ 28 (+55.56%)
Mutual labels:  puppeteer
graphql-compose-elasticsearch
Graphql App using Node with typescript, KOA framework and Elasticsearch
Stars: ✭ 40 (+122.22%)
Mutual labels:  axios
WhatsApp-Bot
🐔 WhatsApp Good Morning
Stars: ✭ 19 (+5.56%)
Mutual labels:  puppeteer
LInkedIn-Reverese-Lookup
🔎Search LinkedIn profile by email address📧
Stars: ✭ 20 (+11.11%)
Mutual labels:  puppeteer
code2img
Open REST API to create beautiful images of code snippets with 20+ color themes and syntax highlighting support for 10+ languages.
Stars: ✭ 25 (+38.89%)
Mutual labels:  puppeteer
vue-admin-work
🎉🎉🚀🚀🚀🚀vue-admin-work是一个中后台系统管理方案。使用 vue2.x 及周边全家桶工具开发而来。支持多种功能,不同角色权限🚀🚀🚀🎉🎉
Stars: ✭ 74 (+311.11%)
Mutual labels:  axios
FaceAvataaars
Puppeteer Avataaars with your iPhone X (and also test cartoons using BlendShapeRecorder data)
Stars: ✭ 19 (+5.56%)
Mutual labels:  puppeteer

FrodoBot

Version 0.0.4

Uses Puppeteer and Axios to complete autocheckout against Hibbett Sports' mobile api.

Installation / Start Up

git clone

cd frodobot

npm install

npm start

Known Issues

  • This solution is very memory heavy
  • Each thread that you spawn will run a chrome instance momentarily to combat PX blocking. Dont blow up your machine.
  • There is very little validation/error handling here. 4XX errors will crash a thread, 5XX errors will get repeated mercilessly

Task Setup

Notes:

  • Ensure that state's are abbreviated and capitalized
  • Follow the format in profiles.example.js as close as possible
  • If a field is blank (i.e. apartment), leave it as ''.
  • Guest logins aren't currently supported (experimental)
  • Phone numbers should be a string of numbers, no dashes or spaces
  • Ensure that credit card expiration has no preceeding zeros (e.g. 5 instead of 05)
  • Make changes to the example file and then rename it as profiles.js
  • Shipping address == billing address.
  • Cards supported: Visa and Master Card. Amex coming later.
  • PerimeterX tokens last 10 minutes. I wouldnt start the bot more than 10 minutes out as if the token expires, it will take some time to replace.
  • Note that Prolific cart tokens (nonce) last 5 minutes. If using a release mode (2) pre fetches a cart nonce, dont start more than 5 minutes before release.
  • Drop times are 24 hour, in the local timezone that the script is being ran.

Modes

  1. Mode 1: Guest mode. This is the most vanilla usage of the bot. Adds to cart like a normal person would, start to finish.
  2. Mode 2: Login release mode. This is the most powerful option. Requires the shoes to be added to the cart via desktop and then login to account on the bot.
  3. Mode 3: Restock mode. Similar to guest mode. This is in development.

TODO List

  • Configuration validation/checking
  • Move some settings to global config file (headers, tls setting)
  • /lib /docs folder structure
  • Automatic token timers for cart nonce, px tokens, login jwt
  • Move px token generation into an external thread that only uses 1 pptr instance
  • Actually throw errors like a man
  • HTTP/2 support for Axios
  • Amex/Discover support (need to test cards, amex has diff length)
  • Add thread uuid to logging
  • Add support for USER:PASS:IP:PORT style proxies (fit to USER:PASS@IP:PORT)

License

Software is provided with no support or guarantee of support. Please be careful when using autocheckout bots, they can be prone to errors which can erroneously checkout incorrect products.

Software is released under MIT license.

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].