Python program using reverse-engineered requests to spam the Missouri Attorney General's office with bogus complaints about transgender people.
DISCLAIMER: This code is not very good, I would not recommend trying to learn from it. If something is bothering you about it, feel free open a PR to fix it. I want to learn more about pythonic code style, as I have only been using Python for a fraction of my time programming.
Basically, I reverse-engineered the requests--by that I mean used the Network tab--and translated it into Python code.
The only "hard" part was the captcha bypass, which I did by using their audio captcha feature and a speech recognition algorithm. It's not perfect, and I'll update it soon with OCR support, since that would likely be a lot better. Overall, only took about thirty minutes to get around, and the majority of that time was spent configuring hyperparameters for the speech recognition AI.
The text that's being sent in is generated by InferKit's demo, which I am not abusing in any way.
To InferKit - I already reported the bug I'm using here to your team. If you haven't patched it... that's on you.
The prompts that this AI is using are stored in data/prompts.txt
, these were also made by AI. Feel free to change these all you want!
Want to help fuck with the transphobic government of Missouri? Good!
First, install Python and pip. You can learn how to at https://python.org. I used version 3.11, but any version above ~3.5 should work fine.
Then, download this repo as a zipfile (or clone it), and navigate into that directory in a terminal. Run the following command:
pip install -r requirements.txt
If this doesnt work, try doing py -m pip
instead of just pip
.
After that, you'll need to configure everything.
Great! That means you'll be able to run this as fast as you want.
Put your proxies in
data/proxies.txt
. They should be in the formatusername:password@hostname:port
.
Then, in
data/config.json
, you'll want to make sure theproxy_type
variable is set to your proper proxy type. The three supported types arehttp
,socks4
, andsocks5
. If you don't know what type yours are, you should tryhttp
andsocks5
first, as they are the most common type. Also make sureuse_proxies
is set totrue
.
Since you have proxies, you'll also be able to run the program threaded! What that means is that you can run this program many times at once, basically as many as the amount of proxies you have.
In
data/config.json
, simply changethreads
to whatever you want. I'd recommend not more than ~350, but if you have a good CPU + RAM, then you can probably go higher.
That's alright! You can still run this and fuck with Missouri.
First off, go into
data/config.json
and make sure thatuse_proxies
is set tofalse
. Also make sure thatthreads
is set to1
, since the website will block your IP after you submit one form.
If you want, you can enable
wait_to_continue
by setting it totrue
in the config. This will wait for you to manually press a key until it restarts the program. This is so people with a VPN are able to quickly switch it.
Speaking of VPNs, many of them actuall offer SOCKS5 proxies for their users, free of charge! Check if yours does, because it'll speed everything up by a LOT.
If yours doesn't, but you still want proxies, you can use a proxy scraper such as monosans's--don't worry, it's safe :)
After you've configured everything, you can simply run the following command to start the program:
py main.py
That's it!
Feel free to open an issue or contact me via Discord at quick#4621
. You can also join my Discord server for support if you want.