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
The official Discord Python framework for thenewboston blockchain.

Project Setup Follow the steps below to set up the project on your environment. Mac Setup Homebrew requires the Xcode command-line tools from Apple's

Bucky Roberts 18 Jul 15, 2022
A youtube search telegram bot.

YouTube-Search-Bot A youtube search telegram bot. Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github

Fayas Noushad 22 Nov 12, 2022
Auto Join: A GitHub action script to automatically invite everyone to the organization who comment at the issue page.

Auto Invite To Org By Issue Comment A GitHub action script to automatically invite everyone to the organization who comment at the issue page. What is

Max Base 6 Jun 08, 2022
Github action for automatically determine the version for next release by using repository tags

This action will automatically determine the version for next release by using repository tags

Igor Gov 7 Oct 25, 2022
Telegram bot made with Python to get notified when visa slots are available

Visa slot bot I created this bot to getnotified when screenshots are available in the Telegram channel for dropbox appointments. How do I use this? Ch

Jimil 7 Jan 03, 2023
Powerful and Async API for AnimeWorld.tv 🚀

Powerful and Async API for AnimeWorld.tv 🚀

1 Nov 13, 2021
High-Resolution Differential Z-Belt Mod for V0 (with optional Kirigami support)

V0-DBM This is a high-resolution differential pulley system belt mod for the Z-axis on Voron 0 with optional Kirigami Bed support. NOTE: Alpha version

Simon Küppers 11 Jan 07, 2023
A full-fledged discord bot with moderation and a lot more.

HOT-BOT-POL-POT ⭐ Star me on GitHub m'lady.... hot-bot-pol-pot is a moderation discord bot written using enhanced-dpy library with many functionalitie

Pure Cheekbones 4 Oct 08, 2022
Visualize size of directories, s3 buckets.

Dir Sizer This is a work in progress, right now consider this an Alpha or Proof of Concept level. dir_sizer is a utility to visualize the size of a di

Scott Seligman 13 Dec 08, 2022
Telegram anime bot that uses Anilist API

Telegram Bot Repo Capable of fetching the following Info via Anilist API inspired from AniFluid and Nepgear Anime Airing Manga Character Scheduled Top

Lucky Jain 71 Jan 03, 2023
Stack overflow search API

Stack overflow search API

Vikash Karodiya 1 Nov 15, 2021
An example Music Bot written in Disnake and uses slash commands to operate.

Music Bot An example music bot that is written in Disnake [Maintained discord.py Fork] Disnake Disnake is a maintained and updated fork of discord.py.

6 Jan 08, 2022
Wanna play on the Overwatch NA servers?

OverwatchRegionSwapper-NA- Wanna play on the Overwatch NA servers? Use at you own risk. LIST OF IPs EU Netherlands: From: 5.42.168.0 to: 5.42.175.255

1 Jun 08, 2022
A Telegram AntiChannel bot to ban users who using channel to send message in group

Anti-Channel-bot A Telegram AntiChannel bot to ban users who using channel to send message in group. BOT LINK: Features: Automatic ban Whitelist Unban

Jigar varma 36 Oct 21, 2022
Editing a Tinder bot created by @frederikme

tinder_bot_edit Editing a Tinder bot created by @frederikme Table of Contents Basic Swipe Bot Basic Swipe Bot Download the code as a zip or clone the

Alex Carter 1 Nov 23, 2021
A anti-repostbot script for reddit, runs u/ThisIsARepostBotBot

ThisIsARepostBotBot So you found a repost bot, now what? This is a bot to reply to all posts of a repost bot with a message urging users to report and

3 May 23, 2022
Python Telegram bot api.

pyTelegramBotAPI A simple, but extensible Python implementation for the Telegram Bot API. Getting started. Writing your first bot Prerequisites A simp

FrankWang 6.4k Jan 09, 2023
Translator based on Google API

Yakusu Toshiko Translator based on Google API. Instance of this bot is running as @yakusubot. Features Add a plus to a language's name to show an orig

Arisu W. 2 Sep 21, 2022
Generate discord nitro codes and check them

Discord Nitro Generator and Checker A discord nitro generator and checker for all your nitro needs Explore the docs » Report Bug · Request Feature · J

509 Jan 02, 2023