Kellogg bad | Union good | Support strike funds

Overview

KelloggBot

Credit to SeanDaBlack for the basis of the script.

req.py is selenium python bot. sc.js is a the base of the ios shortcut [COMING SOON]

Setup

On mac/pc:

pip install -r requirements.txt

You will probably need to go get the chrome driver to make selenium work, as they are version-specific. The one in the repo might not do it for you. Find your chrome version by going to Chrome >> About Google Chrome.

This will open a tab that shows you your verison. Visit https://sites.google.com/chromium.org/driver/downloads and download the driver for your version.

folder. Extract the downloaded zip file. Move the extracted chromedriver binary to this project folder

mv ~/Downloads/chromedriver .

It needs to be found in your PATH variable.

export PATH=$PATH:$(pwd)

python req.py to run. It will loop until you kill the job. ctrl + c in your terminal to give the pro lifes a break (optional).

mac:

You might also get a trust issue with the downloaded driver being unverified. To fix that, run

xattr -d com.apple.quarantine chromedriver

this just tells the OS it's safe to use this driver, and Selenium will start working. See https://timonweb.com/misc/fixing-error-chromedriver-cannot-be-opened-because-the-developer-cannot-be-verified-unable-to-launch-the-chrome-browser-on-mac-os/ for more info.

Comments
  • Maybe I'm just being dumb, but could I please have a hand?

    Maybe I'm just being dumb, but could I please have a hand?

    So I was trying to install and run KelloggBot, and I believe I have everything set up, all the files in the proper PATH, and such. Upon running python main.py in CMD, I get this:

    `DevTools listening on ws://127.0.0.1:1684/devtools/browser/68f9b174-8099-4da8-80d1-689e36fae52b FAILED TO START DRIVER: Message: session not created: This version of ChromeDriver only supports Chrome version 87 Current browser version is 96.0.4664.110 with binary path C:/Users/%username%/AppData/Local/Google/Chrome/Application/chrome.exe

    USING GUERRILLA TO CREATE EMAIL EMAIL CREATED FAILED TO CREATE ACCOUNT: local variable 'driver' referenced before assignment FAILED TO FILL OUT APPLICATION AND SUBMIT: local variable 'driver' referenced before assignment Traceback (most recent call last): File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 276, in main fill_out_application_and_submit(driver, random_city, fake_identity) UnboundLocalError: local variable 'driver' referenced before assignment

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 288, in main() File "C:\Users\%username%\Downloads\KelloggBot-main\main.py", line 280, in main driver.close() UnboundLocalError: local variable 'driver' referenced before assignment`

    I'm not sure what they are referring to by Chrome version 87. I do have an old version of Chrome for playing Flash games still, installed as a portable version in my downloads folder.

    Sorry for the dumb question, but I was wondering if I could have a hand. Thanks, I hope you have a great rest of the day, whoever is reading this :-)

    opened by PokemonHacker1337 11
  • Well, they added a reCaptcha -_-

    Well, they added a reCaptcha -_-

    failed to fill out app and submit: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="109:topBar"]"}

    opened by ghost 9
  • reCaptcha complains about automated queries when running headlessly

    reCaptcha complains about automated queries when running headlessly

    Throwing an issue found during development of https://github.com/SeanDaBlack/KelloggBot/pull/25 here. Recaptcha seems not to like Chrome's headless browser/

    <div style="">
            <div>
                <div>
                    <div class="rc-doscaptcha-header">
                        <div class="rc-doscaptcha-header-text" style="font-size: 22px;">Try again later</div>
                    </div>
                    <div class="rc-doscaptcha-body">
                        <div class="rc-doscaptcha-body-text" tabindex="0" style="font-size: 16px;">Your computer or network
                            may be sending automated queries. To protect our users, we can\'t process your request right
                            now. For more details visit <a
                                href="https://developers.google.com/recaptcha/docs/faq#my-computer-or-network-may-be-sending-automated-queries"
                                target="_blank">our help page</a>.</div>
                    </div>
                </div>
                <div class="rc-doscaptcha-footer">
                    <div class="rc-footer">
                        <div class="rc-separator"></div>
                        <div class="rc-controls">
                            <div class="primary-controls">
                                <div class="rc-buttons">
                                    <div class="button-holder reload-button-holder"><button
                                            class="rc-button goog-inline-block rc-button-reload rc-button-disabled"
                                            title="Get a new challenge" value="" id="recaptcha-reload-button"
                                            disabled=""></button></div>
                                    <div class="button-holder audio-button-holder"><button
                                            class="rc-button goog-inline-block rc-button-audio rc-button-disabled"
                                            title="Get an audio challenge" value="" id="recaptcha-audio-button"
                                            disabled=""></button></div>
                                    <div class="button-holder image-button-holder"><button
                                            class="rc-button goog-inline-block rc-button-image rc-button-disabled"
                                            title="Get a visual challenge" value="" id="recaptcha-image-button" disabled=""
                                            style="display: none;"></button></div>
                                    <div class="button-holder help-button-holder"><button
                                            class="rc-button goog-inline-block rc-button-help rc-button-disabled"
                                            title="Help" value="" id="recaptcha-help-button" disabled=""></button></div>
                                    <div class="button-holder undo-button-holder"><button
                                            class="rc-button goog-inline-block rc-button-undo" title="Undo" value=""
                                            id="recaptcha-undo-button" tabindex="0" style="display: none;"></button></div>
                                </div>
                                <div class="verify-button-holder"><button
                                        class="rc-button-default goog-inline-block rc-button-default-disabled" title=""
                                        value="" id="recaptcha-verify-button" disabled="">Verify</button></div>
                            </div>
                            <div class="rc-challenge-help" style="display:none" tabindex="0"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    
    opened by pws1453 8
  • Salary numbers?

    Salary numbers?

    The salary range question on the application is given a random number between 15 and 35, could this be done in a more convincing way? I'm assuming it was written with the thought that "15" means "I expect a salary of $15,000." But then why wouldn't it just be 15000?

    It's also asks for "Salary Range," so maybe we should be inputting something like "$25,000-$30,000" or "20k-25k" Also, I don't think anyone is looking specifically for a salary of "17k" or "31k", I feel like it should be multiples of 5k

    opened by tabrown2000 7
  • Need error handling for lines 134/135

    Need error handling for lines 134/135

    Lines 134 & 135 occasional throw a "no such element" error, which breaks the main while loop and exits the script. I fixed it by putting a simple try/except block around lines 131-172. Didn't make a pull request cause there's definitely a better solution.

    Session info: chrome=96.0.4664.93, macOS Monterey v12.0.1

    opened by tabrown2000 7
  • Adds ability to run parallel windows with multiprocessing

    Adds ability to run parallel windows with multiprocessing

    This is a big change that can greatly increase speed. I used the futures library to bring multiprocessing to the application. When it starts, it asks how many parallel processes you would like. It opens that amount of windows, each one generates just as it normally would. I made one slight change, that being start_driver() is now initialize_driver() due to the fact they each seperate process needs to start their own driver that does not close each time, and stays open. Same functionality. Also, this is essentially just a re-do of #21, which is very outdated and convoluted. Also this is a more ideal approach, and somewhat like what #16 strived to accomplish. Hopefully in the future we can achieve headless chrome + proxies. I may work on those. Solidarity forever comrades!

    opened by BigweldIndustries 5
  • LaTeX resume generator

    LaTeX resume generator

    Thinking it might help obfuscate applications if each resume is custom and aligns with the rest of the data present. Willing to work on it just want to know if its something worth completing first

    opened by OrangeHoopla 5
  • Looks like they messed with Capta Attribute Names

    Looks like they messed with Capta Attribute Names

    FAILED TO FILL OUT APPLICATION AND SUBMIT: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="109:topBar"]"}
      (Session info: chrome=96.0.4664.93)
    
    opened by cribdragg3r 4
  • Added Fake Resume Generator and @jimrushing 's reCaptcha Solver

    Added Fake Resume Generator and @jimrushing 's reCaptcha Solver

    Figured it would be pretty easy to filter out fake requests by looking at the old resume.png, so I added a resume generator. Adds fpdf, pdf2image, and poppler as dependencies.

    opened by ghost 4
  • Waits for page to fully load.

    Waits for page to fully load.

    Before, in fill_out_application_and_submit, it would just wait for a certain amount of time before continuing.

    Sometimes it would continue before the page was fully loaded (#31).

    I've instead added three new selenium imports and used WebDriverWait().until() to wait for the page to finish loading.

    opened by bolshoytoster 3
  • Added multithreading for 4x quicker applying

    Added multithreading for 4x quicker applying

    Hey all! I recently came across from r/antiwork and thought I would give this script a try. Thanks to the awesome work of SeanDaBlack and other contributors, I found it does. However, as the selenium snob I am, I felt it had a bit to be desired. First of all, it is now supported on linux, and requires no webdriver installation. This was done via a pip dependency called webdriver_manager. I then sped up the program to send about three at a time (not too many, chrome windows can be laggy). This was done through the futures dependency, which allows the simple creation of threadpools. Best of luck, comrades!

    opened by BigweldIndustries 3
  • Starbucks fires workers attempting to unionize, next steps?

    Starbucks fires workers attempting to unionize, next steps?

    In light of today's news, is anyone involved in forking this project for a Starbucks-specific re-write? Or is there any other projects working on something similar? Seems like now would be a good time to get on top of it, since the location that fired the workers will likely be trying to hire scabs soon. Thoughts?

    opened by jmrushing 1
  • Well, it's over.

    Well, it's over.

    The striking workers have come to an agreement with kelloggs. We can still work on this as a more general bot (see #56), but for now, we have succeeded.

    opened by bolshoytoster 2
  • Added proxy rotating function

    Added proxy rotating function

    proxy list must be stored in the file 'proxy_list.txt' in the format as follows:

    IP:PORT IP:PORT

    proxy can be enabled by running with argument --proxy, default is the proxy disabled if no --proxy is called

    proxy must be HTTPS

    opened by aircuzz22 0
  • Error

    Error "FAILED TO FILL OUT APPLICATION AND SUBMIT: [WinError 2] The system cannot find the file specified"

    File not found? I'm on Windows 11 using Python 3.10.0 Here's a portion of my logs:

     Please use find_element() instead
      driver.find_element_by_xpath(CREATE_AN_ACCOUNT_BUTTON).click()
    USING GUERRILLA TO CREATE EMAIL
    EMAIL CREATED
    C:\Users\kyler\KelloggBot\main.py:88: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(XPATHS_2.get(key)).send_keys(info)
    C:\Users\kyler\KelloggBot\main.py:91: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      select = Select(driver.find_element_by_id(COUNTRY_REGION_CODE_LABEL))
    C:\Users\kyler\KelloggBot\main.py:93: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      select = Select(driver.find_element_by_id(COUNTRY_REGION_OF_RESIDENCE_LABEL))
    C:\Users\kyler\KelloggBot\main.py:96: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(READ_ACCEPT_DATA_PRIVACY_STATEMENT_ANCHORTAG).click()
    C:\Users\kyler\KelloggBot\main.py:98: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(ACCEPT_BUTTON).click()
    C:\Users\kyler\KelloggBot\main.py:101: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(CREATE_ACCOUNT_BUTTON).click()
    C:\Users\kyler\KelloggBot\main.py:122: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(VERIFY_EMAIL_INPUT).send_keys(passcode)
    C:\Users\kyler\KelloggBot\main.py:123: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
      driver.find_element_by_xpath(VERIFY_EMAIL_BUTTON).click()
    successfully made account for fake email [email protected]
    FAILED TO FILL OUT APPLICATION AND SUBMIT: [WinError 2] The system cannot find the file specified
    
    

    I am using the latest master branch version.

    opened by kylerchin 6
  • Updates for installation readme

    Updates for installation readme

    I had some issues installing on Ubuntu/Mint and figured I'd share in case the maintainers here feel it's worth updating the readme.

    Chrome

    • I was getting a driver error until I installed google chrome. Maybe this is obvious but I didn't initially know I needed the chrome app instaled.

    LaTeX

    • the pdf command was hanging for me (no errors). It wasnt until I installed texlive-full that it worked. It may be that this is overkill, but wasn't sure.

    Thank you, this is awesome BTW.

    opened by stricoff92 1
Owner
null
Union oichecklists For Python

OI Checklist Union Auto-Union user's OI Checklists. Just put your checklist's ID in and it works. How to use it? Put all your OI Checklist IDs (that i

FHVirus 4 Mar 30, 2022
Code and yara rules to detect and analyze Cobalt Strike

Cobalt Strike Resources This repository contains: analyze.py: a script to analyze a Cobalt Strike beacon (python analyze.py BEACON) extract.py; extrac

Tek 224 Jan 4, 2023
A beacon generator using Cobalt Strike and a variety of tools.

Beaconator is an aggressor script for Cobalt Strike used to generate either staged or stageless shellcode and packing the generated shellcode using your tool of choice.

Capt. Meelo 441 Dec 17, 2022
Script to use SysWhispers2 direct system calls from Cobalt Strike BOFs

SysWhispers2BOF Script to use SysWhispers2 direct system calls from Cobalt Strike BOFs. Introduction This script was initially created to fix specific

FalconForce 101 Dec 20, 2022
Cobalt Strike Sleep Python Bridge

This project is 'bridge' between the sleep and python language. It allows the control of a Cobalt Strike teamserver through python without the need for for the standard GUI client. NOTE: This project is very much in BETA. The goal is to provide a playground for testing and is in no way an officially support feature. Perhaps this could be something added in the future to the core product.

Cobalt Strike 140 Jan 4, 2023
Tool for working with Direct System Calls in Cobalt Strike's Beacon Object Files (BOF) via Syswhispers2

Tool for working with Direct System Calls in Cobalt Strike's Beacon Object Files (BOF) via Syswhispers2

null 150 Dec 31, 2022
This is a calculator of strike price distance for options.

Calculator-of-strike-price-distance-for-options This is a calculator of strike price distance for options. Options are a type of derivative. One strat

André Luís Lopes da Silva 4 Dec 30, 2022
Bad Apple printed out on the console with Python!

bad-apple Bad Apple printed out on the console with Python! Preface A word of disclaimer, while the final code is somewhat original, this project is a

CalvinLoke 186 Dec 1, 2022
General tricks that may help you find bad, or noisy, labels in your dataset

doubtlab A lab for bad labels. Warning still in progress. This repository contains general tricks that may help you find bad, or noisy, labels in your

vincent d warmerdam 449 Dec 26, 2022
Really bad lisp implementation. Fun with pattern matching.

Lisp-py This is a horrible, ugly interpreter for a trivial lisp. Don't use it. It was written as an excuse to mess around with the new pattern matchin

Erik Derohanian 1 Nov 23, 2021
Python script to commit to your github for a perfect commit streak. This is purely for education purposes, please don't use this script to do bad stuff.

Daily-Git-Commit Commit to repo every day for the perfect commit streak Requirments pip install -r requirements.txt Setup Download this repository. Cr

JareBear 34 Dec 14, 2022
A simple project which is a ecm to found a good way to provide a path to img_dir in gooey

ECM to find a good way for img_dir Path in Gooey This code is just an ECM to find a good way to indicate a path of image in image_dir variable. We loo

Jean-Emmanuel Longueville 1 Oct 25, 2021
Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Shreejan Dolai 9 Dec 31, 2022
A good Tool to comment on xmw

A good Tool to comment on xmw

null 1 Feb 10, 2022
An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation

An open letter in support of RMS. To sign, click here and name the file <username>.yaml (replace <username> with your name) with the following content

null 2.4k Jan 7, 2023
pgvector support for Python

pgvector-python pgvector support for Python Great for online recommendations ?? Supports Django, SQLAlchemy, Psycopg 2, Psycopg 3, and asyncpg Install

Andrew Kane 37 Dec 20, 2022
A repository containing an introduction to Panel made to be support videos and talks.

?? Awesome Panel - Introduction to Panel THIS REPO IS WORK IN PROGRESS. PRE-ALPHA Panel is a very powerful framework for exploratory data analysis and

Marc Skov Madsen 51 Nov 17, 2022
No more support server flooding with questions about unsupported hosting.

No more support server flooding with questions about unsupported hosting.

null 3 Aug 9, 2021
My qtile config with a fresh-looking bar and pywal support

QtileConfig My qtile config with a fresh-looking bar and pywal support. Note: This is my first rice and first github repo. Please excuse my poor codin

Eden 4 Nov 10, 2021