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:pass@IP: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
RequestTrackerBot - Request Tracker Bot With Python

Request Tracker Bot This is a Request Tracker Bot repo, It is for those who uplo

Prince Jaiswal 1 Dec 30, 2021
Basic Python3 request wrapper for the PancakeSwap API

?? Python Pancakes ?? A simple request wrapper for the Pancake-Swap API. Installation Install package # Using pip $ pip install pythonpancakes # Or f

Scott Burlovich 30 Nov 20, 2022
This is RequestTrackerBot and it used for tracking request made by user in a group

This is a Request Tracker Bot repo, It is for those who upload content like movies, anime, etc. It can be used for tracking request of content that your members asked for.

Abhijeet 27 Dec 29, 2022
A simple way to create a request to the coinpayment API with a valid HMAC using your private key and command

Coinpayments Verify TXID Created for Astral Discord bot A simple way to create a request to the coinpayment API with a valid HMAC using your private k

HellSec 1 Nov 7, 2022
A simple discord bot named atticus that sends you the timetable of your classes upon request

A simple discord bot named atticus that sends you the timetable of your classes upon request. Soon, it would you ping you before classes too!

Samhitha 3 Oct 13, 2022
Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

null 1 May 20, 2022
Auto-Approved-Bot - Auto Approved Invaite Link Request Telegram Bot

?? ????????-??????????????-?????? ?? ℹ️ ?????????? ℹ️ When a join request invita

Muhammed 32 Dec 18, 2022
Python-based Snapchat score booster using pyautogui module

Snapchat Snapscore Botter Python-based Snapchat score booster using pyautogui module. Click here to report bugs. Usage Download ZIP here and extract t

null 477 Dec 31, 2022
It's a simple python script to take backup of directories (compressing) then the same to move your mentioned S3 bucket with the help of AWS IAM User.

Directory Backup Moved to S3 (Pyscript) Description Here it's a python script that needs to use this script simply create a directory backup and moved

Yousaf K Hamza 3 Mar 4, 2022
The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Python wrapper for Spyse API The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Spyse 15 Nov 22, 2022
a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw their Nano and help decentralisation

Nano_Binance_Refund_Bot a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw thei

James Coxon 5 Apr 7, 2022
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

null 21 Jul 25, 2022
A Discord bot written in Python to help with guild administration

forgotten-hydra A Discord bot written in Python to help with guild administration. External libraries Pycord-Development/pycord 1.7.3 djc/couchdb-pyth

null 1 May 14, 2022
A python telegram bot to fetch the details of an ipadress with help of ip-api

ipfetcher A python(Pyrogram) oriented telegram bot to fetch the details of an ipadress developed by @riz4d with the API of https://ip-api.com Deployme

Mohamed Rizad 5 Mar 12, 2022
Asyncevents: a small library to help developers perform asynchronous event handling in Python

asyncevents - Asynchronous event handling for modern Python asyncevents is a small library to help developers perform asynchronous event handling in m

Mattia 5 Aug 7, 2022
A Python package designed to help users of Cisco's FMC interface with its API.

FMCAPI was originally developed by Dax Mickelson ([email protected]). Dax has moved on to other projects but has kindly transferred the ownership of

Mark Sullivan 66 Dec 13, 2022
Automation for grabbing keys from a Linux host. Useful during red team exercises to quickly help assess what access to a Linux host can lead to.

keygrabber Automation for grabbing keys from a Linux host. This can be helpful during red team exercises when you gain access to a Linux host and want

Cedric Owens 14 Sep 27, 2022
A pre-attack hacker tool which aims to find out sensitives comments in HTML comment tag and to help on reconnaissance process

Find Out in Comment Find sensetive comment out in HTML ⚈ About This is a pre-attack hacker tool that searches for sensitives words in HTML comments ta

Pablo Emídio S.S 8 Dec 31, 2022
Quickly and efficiently delete your entire tweet history with the help of your Twitter archive without worrying about the pointless 3200 tweet limit imposed by Twitter.

Twitter Nuke Quickly and efficiently delete your entire tweet history with the help of your Twitter archive without worrying about the puny and pointl

Mayur Bhoi 73 Dec 12, 2022