RWA / main.py
kerenmasku's picture
kelas king
d4d1a3b
import random
import string
import threading
import logging
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
from fake_useragent import UserAgent
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] [Thread-%(threadName)s] %(message)s",
handlers=[logging.StreamHandler()]
)
names = [
"John", "Jane", "Alex", "Chris", "Taylor", "Morgan", "Jordan", "Cameron", "Sydney", "Blake",
"Casey", "Carter", "Riley", "Dakota", "Reese", "Peyton", "Rowan", "Dakota", "Quinn", "Emerson",
"Avery", "Skyler", "Ellis", "Phoenix", "Jesse", "Hayden", "Kendall", "Finley", "Dylan", "Zoe",
"Kai", "Emmett", "Addison", "Charlie", "Sierra", "Emery", "Grayson", "Kai", "Mackenzie", "Jordan",
"Parker", "Maddox", "Jordan", "Adley", "Bailey", "Elliot", "Logan", "Aubrey", "Reagan", "Finley",
"Cameron", "Wesley", "Hunter", "Casey", "Ashley", "Madison", "Payton", "Cassidy", "Tatum", "Drew",
"Brooklyn", "Evan", "Harper", "Sawyer", "Finley", "Willa", "Kaylee", "Kennedy", "Leah", "Sloane",
"Emery", "Morgan", "Kennedy", "Bailey", "Maya", "Delaney", "Stella", "Eden", "Landon", "Zane",
"Mila", "Zara", "Elijah", "Amos", "Brianna", "Lucia", "Aidan", "Caleb", "Elliott", "Isabella",
"Carson", "Vivian", "Jaxon", "Arianna", "Roman", "Ava", "Jackson", "Chloe", "Ivy", "Mason", "Maddox",
"Scarlett", "Abigail", "Noah", "Piper", "Elliana", "Joseph", "Aiden", "Zane", "Lilly", "Rylee"
]
def generate_password(length=10):
characters = string.ascii_letters + string.digits
password = ''.join(random.choice(characters) for i in range(length))
logging.info(f"Generated password: {password}")
return password
def generate_email(name):
random_part = ''.join(random.choices(string.ascii_lowercase + string.digits, k=5))
email = name.lower() + random_part + "@gmail.com"
logging.info(f"Generated email: {email}")
return email
def sign_up():
logging.info("Starting sign up process...")
try:
options = Options()
ua = UserAgent()
user_agent = ua.random
options.add_argument(f"user-agent={user_agent}")
options.add_argument("--headless")
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
driver.delete_all_cookies()
driver.get("https://app.rwalayer.com/create-account")
name = random.choice(names)
email = generate_email(name)
password = "Kingmaskulit001"
username = email.split('@')[0]
wait = WebDriverWait(driver, 10)
email_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "app-input.ng-invalid:nth-child(1) > div:nth-child(1) > input:nth-child(1)")))
email_field.send_keys(email)
logging.info(f"Entered email: {email}")
password_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "app-input.ng-invalid:nth-child(2) > div:nth-child(1) > input:nth-child(1)")))
password_field.send_keys(password)
logging.info(f"Entered password: {password}")
checkbox = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body > app-root > div > div > app-create-account > div > form > div > input")))
checkbox.click()
submit_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".bg-white")))
submit_button.click()
username_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body > app-root > div > div > app-set-username > div > form > app-input > div > input")))
username_field.send_keys(username)
logging.info(f"Entered username: {username}")
submit_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body > app-root > div > div > app-set-username > div > button")))
submit_button.click()
referral_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body > app-root > div > div > app-referral-code > div > form > app-input > div > input")))
referral_field.send_keys("Rzx001")
logging.info("Entered referral code: Rzx001")
referral_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "body > app-root > div > div > app-referral-code > div > div.flex.items-center.gap-4.w-full > button.flex-1.bg-white.rounded-full.h-\[46px\].grid.place-items-center.text-black.font-medium.text-base\/\[1\].opacity-100")))
referral_button.click()
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "body > app-root > div > div > app-home > div.flex.flex-col.p-6.items-start.gap-6 > div.flex.flex-col.gap-4 > span")))
logging.info("Sign up completed successfully.")
driver.quit()
except Exception as e:
logging.error(f"Error during sign up: {e}")
def worker_thread():
while True:
sign_up()
logging.info(f"Thread {threading.current_thread().name} selesai. Menunggu 1 menit...")
def multi_thread():
threads = []
for i in range(5):
thread = threading.Thread(target=sign_up, name=f"Thread-{i + 1}")
threads.append(thread)
thread.start()
multi_thread()