Request based Python module(s) to help with the Newegg raffle.

Overview

Newegg Shuffle

Python module(s) to help you with the Newegg raffle

How to use

$ git clone https://github.com/Matthew17-21/Newegg-Shuffle
$ cd Newegg-Shuffle
$ pip3 install -r requirements.txt
$ python3 main.py

File Structure

/data

  • emails.txt
    • Enter the emails you'd like to create accounts for.
  • proxies.txt
    • Proxies that'll be used when creating accounts.
  • settings.json
Key Type Description Options
output_filename String File name where the sessions will be saved -
version String Type of captcha you want to solve to create the account v2 or v3
captcha_solver String or int Captcha solving site Checkout the documentation.
keys dict dict containing keys to solving sites -
generate_random bool Should the program generate random password. true or false
choices array Array of password choices -
user_agents array Array of user-agents for mobile & desktop -

/newegg/*

  • Contains the core software code.

Creating Accounts

  • If you want to create accounts via mobile, change line 93 in main.py from desktop.Create_Account(self, email) to mobile.Create_Account(self, email)
    • And vice versa
  • MAKE SURE YOU STORE YOUR SESSIONS SOMEWHERE (Don't delete the .log file)

Submitting Entries

  • In order to submit entries, you must make sure:
    • The program will pull accounts/sessions from the filename that was used to create accounts (output_filename in the settings.json file).
    • Your .log file is in the main directory (alongside with main.py)
    • Accounts/Sessions are still in the .log file
    • The program will automatically enter on the same platform as the account was created (Desktop or App)
    • MAKE SURE YOU KEEP YOUR SESSIONS (Don't delete the .log file)

Recommendations

  1. MAKE SURE YOU STORE YOUR SESSIONS SOMEWHERE (Don't delete the .log file)
  2. Althought not completely necessary, but you should add/delete/randomify events for accertify.
  3. Make sure iOS app version is up to date
  4. Handle exceptions better
    • There are some exceptions, such as those from captchatools, that I did not handle.
  5. Use proxies (But they aren't required to run the script)
  6. If V2 Recaptcha pops up again, use that over V3

Notes

  • Failed captchas are normal.
  • Newegg disabled their V2 Recaptcha for creating accounts, making V3 the only option. Because all 3rd party solvers aren't the best at V3 captchas, there will be lots of failed captchas.
    • I recommend using anticaptcha for V3, but Capmonster & 2Captcha is also available.
  • Only tested on Python 3.7
    • Should work on other versions, but I can't promise anything.
  • This is intended for devs. If you aren't familiar with python, try not to change too much code as it might break something.
  • This isn't a reflection of how I actually write code so pls don't judge too hard ๐Ÿ˜‚
    • I've been writing in Go lately, hence the structure of the whole thing.
  • There are lots of ways to make this better, cleaner and better on memory. If I find time, I'll update this repo.

Maintenance

  • This bot is fully functional with success. I won't be working on it much. I'll only work on it when:
    • They make some massive change
    • Have loads of free time and can complete the to do list
  • Pull requests are always welcome
  • If any issues were to arise, open an issue
    • Please incude:
      • Python version
      • Error
      • How to replicate
  • You may also contact me on discord - Matthew#6937 with any questions or concerns

FAQ

  1. Does this work out of the box?
    • Yes, however, you do need change some info.
  2. Can I use these accounts for the raffle?
    • Yes.
  3. Should I use the mobile or desktop module?
    • Use the same mode you'll be using to enter raffles.
      • Entering raffle via app, use the mobile version to create account.
      • Entering raffle via desktop, use the desktop version to create account.
  4. How do I use the captchatools?

Success

Genning Running Success

TO DO

  1. [] Clean up & document code
  2. [] Release GUI version
  3. [] Maybe a folder for logs?
  4. [] Release in Go
  5. [] Inherit, don't pass.
Comments
  • Error

    Error

    im trying to run the program but when i do the submit entries selection and select the cards i want to submit for it says "enter amount of tasks at a time" and no matter what i put there it just closes with no warning .

    also when i create an account it says "failed to parse: Https://user:[email protected]:port/" i thought i didnt need a proxy for it.

    i already have an account. how would i just use my current credentials.

    opened by jjmotox 9
  • Ticket expired. Getting new one.

    Ticket expired. Getting new one.

    Unable to create Newegg accounts. After solving captcha, error is "Ticket expired. Getting new one." Was working fine last night, but now haven't been able to create an account successfully.

    Screen Shot 2021-06-13 at 8 54 08 AM
    opened by redfoxcrypto 3
  • Submitting Entries

    Submitting Entries

    I keep having this issue where so many accounts get submitted then no more are done after this, I have tried switching between v2 and v3, as well as changing from 2captcha to capmonster. image

    opened by collinmyers 3
  • Error Getting Raffle Items

    Error Getting Raffle Items

    Program was working until recently an error in given when attempting too fetch raffle items

    Python(3.8.10)

    Expecting property name enclosed in double quotes: line 1 column 3 (char 2) [ERROR GETTING RAFFLES]

    --This line of code throws error raffle_products = json.loads(re.findall(r"{.+[:,].+}", res.text)[1].split("")[0])

    raffles.py

    opened by mew32jfd 2
  • Just some questions

    Just some questions

    First of all, thanks!

    I got it up and running, using proxies and anticaptcha.

    I am using 33mail to create aliases that go into one (new) gmail inbox.

    Im getting a lot of emails from newegg asking to verify email, while some (very few, in comparison) seem to have been registered without needing a verification.

    Is this a by-product of the anti-captcha process? Should I be attempting to verify these emails using the credentials from the log? Something tells me doing so from my normal-ass IP will trigger a blacklist from newegg.

    Also, in my accounts created log, I have several "unknown errors", with the other log saying 'send code over limit'

    My programming/python knowledge is limited but I'd be happy to work on this further with anyone via discord. I think the discord webhooks would be awesome, as well as outputting the log/accounts into CSV, using a spreadsheet to view this data would be a lot easier.. Im just not used to botting and dont wanna fuck myself up by using unverified accounts.

    opened by srvoets 2
  • No such file or directory

    No such file or directory

    Traceback (most recent call last): File "C:\Newegg-Shuffle-main\main.py", line 19, in <module> with open("./data/settings.json") as settingsFile: FileNotFoundError: [Errno 2] No such file or directory: './data/settings.json'

    Thank you for your help in solving the previous issue. I got it running and then i got this one that seems like its not seeing the settings file but its at "C:\Newegg-Shuffle-main\data\settings.json"

    bug 
    opened by xBlackPoison357x 2
  • SSL Error Line 82

    SSL Error Line 82

    I'm getting Error on line 82 SSLError HTTPSConnectionPool(host='www.newegg.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)')))

    Running on Windows.

    opened by coreyjs3308 1
  • Captcha V2

    Captcha V2

    This line should be set to "v2" not "v3" otherwise setting "v2" in the settings.json results in a UnboundLocalError: local variable 'sitekey' referenced before assignment error when executing the program

    https://github.com/Matthew17-21/Newegg-Shuffle/blob/a973de121d45d839464a9bb83665c9d633afa9b8/main.py#L38

    opened by thebetauser 1
  • Error trying to install requirements using

    Error trying to install requirements using "pip3 install -r requirements.txt"

    `C:\Users\trexl>pip3 install -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt Requirement already satisfied: captchatools in c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 1)) (1.0.0) Requirement already satisfied: requests in c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 2)) (2.25.1) Requirement already satisfied: bs4 in c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 3)) (0.0.1) Requirement already satisfied: colorama in c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 4)) (0.4.4) Requirement already satisfied: names in c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 5)) (0.3.0) Collecting pycryptodome (from -r C:\Users\trexl\Desktop\Newegg-Shuffle-main\requirements.txt (line 6)) Using cached https://files.pythonhosted.org/packages/88/7f/740b99ffb8173ba9d20eb890cc05187677df90219649645aca7e44eb8ff4/pycryptodome-3.10.1.tar.gz ERROR: Command errored out with exit status 1: command: 'c:\users\trexl\appdata\local\programs\python\python38\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\setup.py'"'"'; file='"'"'C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info cwd: C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome
    Complete output (31 lines): Traceback (most recent call last): File "c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages\setuptools\msvc.py", line 489, in _find_latest_available_vc_ver return self.find_available_vc_vers()[-1] IndexError: list index out of range

    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\setup.py", line 468, in <module>
        set_compiler_options(package_root, ext_modules)
      File "C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\compiler_opt.py", line 341, in set_compiler_options
        clang = compiler_is_clang()
      File "C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\compiler_opt.py", line 251, in compiler_is_clang
        return test_compilation(source, msg="clang")
      File "C:\Users\trexl\AppData\Local\Temp\pip-install-feon29dp\pycryptodome\compiler_opt.py", line 82, in test_compilation
        objects = compiler.compile([fname], extra_postargs=extra_cc_options)
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\distutils\_msvccompiler.py", line 360, in compile
        self.initialize()
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\distutils\_msvccompiler.py", line 253, in initialize
        vc_env = _get_vc_env(plat_spec)
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages\setuptools\msvc.py", line 185, in msvc14_get_vc_env
        return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env()
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages\setuptools\msvc.py", line 843, in __init__
        self.si = SystemInfo(self.ri, vc_ver)
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages\setuptools\msvc.py", line 485, in __init__
        self.vc_ver = vc_ver or self._find_latest_available_vc_ver()
      File "c:\users\trexl\appdata\local\programs\python\python38\lib\site-packages\setuptools\msvc.py", line 492, in _find_latest_available_vc_ver
        raise distutils.errors.DistutilsPlatformError(err)
    distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
    Testing support for clang
    ----------------------------------------
    

    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.`

    opened by xBlackPoison357x 1
  • Creating Account - 400 error on captcha response.

    Creating Account - 400 error on captcha response.

    Trying to create an account. Getting the following: Error on line 166 JSONDecodeError Expecting value: line 1 column 1 (char 0)

    Printed the response and I'm getting a 400 error. Did they change the payload requirements or user error?

    I've tried different proxies, different emails, capmonster and 2cap (I don't have anticap but I guess I can get it if that's the problem).

    Thank you.

    Update, anticap gave the same error, also tried desktop and got same error but line 156

    bug 
    opened by atd93 3
Releases(1.1.3)
  • 1.1.3(Nov 11, 2021)

  • 1.1.2(Jun 7, 2021)

  • 1.1.1(May 5, 2021)

  • 1.1.0(May 1, 2021)

    In this update:

    1. Renamed create account module from mobile.py to app.py
    2. Added module to enter via desktop
    3. Added module to enter via app
    4. Fixed file not found errors on certain OS.
    5. Added section for user agents in settings file
    6. Added some exception handling
    7. Fixed UnboundLocalError when changing captcha version from V3 -> V2
    8. Updated TODO list
    9. Updated documentation (README)
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Apr 24, 2021)

Owner
Matthew
Python | Go | C++
Matthew
A Telegram mirror bot which can be deployed using Heroku.

Slam Mirror Bot This is a telegram bot writen in python for mirroring files on the internet to our beloved Google Drive. Getting Google OAuth API cred

Hafitz Setya 1.2k Jan 01, 2023
A Discord bot written in Python that can be used to control event management on a server.

Event Management Discord Bot A Discord bot written in Python that can be used to control event management on a Discord server. Made originally for GDS

Suvaditya Mukherjee 2 Dec 07, 2021
Import Notion Tasks to

Notion-to-Google-Calendar (1 way) Import Notion Tasks to Google Calendar NO MORE UPDATES WILL BE MADE TO THIS REPO. Attention has been put on a 2-way

12 Aug 11, 2022
Auto-Approved-Bot - Auto Approved Invaite Link Request Telegram Bot

๐Ÿค– ๐—”๐˜‚๐˜๐—ผ-๐—”๐—ฝ๐—ฝ๐—ฟ๐—ผ๐˜ƒ๐—ฒ-๐—•๐—ผ๐˜ ๐Ÿค– โ„น๏ธ ๐—จ๐˜€๐—ฒ๐—ด๐—ฒ โ„น๏ธ When a join request invita

Muhammed 32 Dec 18, 2022
ApiMoedas - This API is a extesion of API

๐Ÿช™ Api Moeda ๐Ÿช™ Este projeto รฉ uma extensรฃo da API Awesome API. Basicamente, ele mostra todas as moedas que a Awesome API tem e todas as suas conversรต

Abel 4 May 29, 2022
Rhythm bot clone for discord written in Python and uses YouTube to get media files.

Tunebot About Rhythm bot clone for discord written in Python and uses YouTube to get media files. Usage You need a .env file within the same directory

1 Oct 21, 2021
Companion "receiver" to matrix-appservice-webhooks for [matrix].

Matrix Webhook Receiver Companion "receiver" to matrix-appservice-webhooks for [matrix]. The purpose of this app is to listen for generic webhook mess

Kim Brose 13 Sep 29, 2022
A BOT TO FIND ID OF A STICKER.

sticker id A BOT TO FIND ID OF A STICKER. THIS REPOSITORY HAVE TWO BRANCHES FOR DEPLOY WITH COMMAND & WITHOUT COMMAND. Mandatory variables API_ID - Ge

Ashik Muhammed 3 Dec 29, 2022
Telegram group manager moderen and simple.

Upin Robot A Advanced Powerful, Smart And Intelligent Group Management Bot With New And Powerful Features ... Written with Pyrogram and Telethon... If

Muhammad Nawawi 3 Dec 23, 2021
A Python library for the Buildkite API

PyBuildkite A Python library and client for the Buildkite API. Usage To get the package, execute: pip install pybuildkite Then set up an instance of

Peter Yasi 29 Nov 30, 2022
Free Game Download Client

XGames Free Game Download Client ะ’ ะฟั€ะพะตะบั‚ะต ะฑั‹ะปะฐ ะธัะฟะพะปัŒะทะพะฒะฐะฝะฐ ะฑะธะฑะปะธะพั‚ะตะบะฐ igruha ะฐ ั‚ะฐะบะถะต PyQt5 WARN โš ๏ธ ะ’ะพะทะผะพะถะฝะพ ะฟะพั‚ั€ะตะฑัƒะตั‚ัั ัะบะฐั‡ะฐั‚ัŒ ะธ ัƒัั‚ะฐะฝะพะฒะธั‚ัŒ vc_redi

LORD_CODE 3 Jun 25, 2022
HTTP Calls to Amazon Web Services Rest API for IoT Core Shadow Actions ๐Ÿ’ป๐ŸŒ๐Ÿ’ก

aws-iot-shadow-rest-api HTTP Calls to Amazon Web Services Rest API for IoT Core Shadow Actions ๐Ÿ’ป ๐ŸŒ ๐Ÿ’ก This simple script implements the following aw

AIIIXIII 3 Jun 06, 2022
WIOpy - Walmart Affiliate API Python wrapper

WalmartIO Python Wrapper - WIOpy A python wrapper for the Walmart io API. Only s

6 Nov 14, 2022
Discord bot that performs various functions.

rikka-bot A Discord bot that performs various functions. Table of Contents Commands Main Commands Utility Commands Admin Commands Self-Assignable Role

Carlos Saucedo 7 Aug 27, 2021
Home Assistant Hilo Integration via HACS

BETA This is a beta release. There will be some bugs, issues, etc. Please bear with us and open issues in the repo. Hilo Hilo integration for Home Ass

66 Dec 23, 2022
A small python script which runs a speedtest using speedtest.net and inserts it into a Google Docs Spreadsheet.

speedtest-google-sheets This is a small python script which runs a speedtest using speedtest.net and inserts it into a Google Docs Spreadsheet. Setup

marie 2 Feb 10, 2022
Auto filter bot for python

Media Search bot Index channel or group files for inline search. When you post file on telegram channel or group this bot will save that file in datab

1 Dec 22, 2021
Mazda Connected Service API wrapper based on pymazda and Flask.

Mazda Connected Service Relay Mazda Connected Service API wrapper based on pymazda and Flask. Usage Make POST calls to https://mymazda.herokuapp.com/{

Alan Chen 10 Jan 05, 2023
Retrieves GitHub Stats via `git_api` and flask.

GitHub User Search Created using Python3 and git_api, coded by JBYT27. About This is a project I decided to make for Kajam, but I decided to choose a

an aspirin 4 May 11, 2022