Skip to content

Instantly share code, notes, and snippets.

@Stormix
Created January 19, 2025 17:57
Show Gist options
  • Save Stormix/da60f2a900c550676a2f970b2b5f0bf3 to your computer and use it in GitHub Desktop.
Save Stormix/da60f2a900c550676a2f970b2b5f0bf3 to your computer and use it in GitHub Desktop.
Just casually spamming spammers.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
import time
from faker import Faker
from concurrent.futures import ThreadPoolExecutor
import threading
TARGET = "https://inform-vrf234984.cfd/xxxxxxx"
options = Options()
options.binary_location = r'TODO'
# options.headless = True
counter = threading.Lock() # Thread-safe counter
count = 0
def create_driver():
return webdriver.Firefox(executable_path=r'TODO', options=options)
def main():
driver = create_driver() # Create a new driver instance for each thread
try:
driver.get(TARGET)
button_class = "/html/body/div[2]/div/div[2]/main/div[4]/div[4]/button"
submit_button = driver.find_element_by_xpath(button_class)
def fill(balance, name, card_number, card_valid_thru, card_cvv):
global count
driver.find_element(By.ID, "balance").send_keys(balance)
driver.find_element_by_xpath(
"/html/body/div[2]/div/div[2]/main/div[4]/div[1]/div[4]/div[2]/input"
).send_keys(name)
driver.find_element(By.NAME, "card_number").send_keys(card_number)
driver.find_element(By.NAME, "card_valid_thru").send_keys(card_valid_thru)
driver.find_element(By.NAME, "card_cvv").send_keys(card_cvv)
driver.find_element(By.NAME, "marketing").click()
with counter:
count += 1
print(f"[{count}]","Filled with: ", balance, name, card_number, card_valid_thru, card_cvv)
fill(Faker().random_int(1, 5000), Faker().name(), Faker().credit_card_number('visa'), Faker().credit_card_expire(), Faker().credit_card_security_code())
driver.execute_script("arguments[0].click();", submit_button)
time.sleep(2)
finally:
driver.quit() # Clean up the driver
if __name__ == "__main__":
num_threads = 5 # Adjust this number based on your needs
with ThreadPoolExecutor(max_workers=num_threads) as executor:
while True:
futures = [executor.submit(main) for _ in range(num_threads)]
# Wait for all threads to complete before starting new batch
for future in futures:
future.result()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment