cursor-free-vip/github_cursor_register.py
2025-03-21 20:47:37 +05:30

125 lines
4.4 KiB
Python

import os
import time
import uuid
import json
import random
import string
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
def generate_temp_email():
"""Generates a temporary email and returns the email and inbox ID."""
response = requests.get("https://www.1secmail.com/api/v1/?action=genRandomMailbox&count=1")
email = response.json()[0]
print(f"✅ Generated temp email: {email}")
return email
def extract_inbox(email):
"""Extracts the inbox for the temp email."""
domain = email.split('@')[1]
login = email.split('@')[0]
inbox_url = f"https://www.1secmail.com/api/v1/?action=getMessages&login={login}&domain={domain}"
time.sleep(10) # Allow email to arrive
messages = requests.get(inbox_url).json()
if messages:
return messages[0]['id']
return None
def get_verification_link(email, message_id):
"""Retrieves the verification link from the email inbox."""
domain = email.split('@')[1]
login = email.split('@')[0]
msg_url = f"https://www.1secmail.com/api/v1/?action=readMessage&login={login}&domain={domain}&id={message_id}"
message = requests.get(msg_url).json()
for line in message['body'].splitlines():
if "https://github.com/" in line:
print(f"✅ Verification link found: {line}")
return line.strip()
return None
def reset_machine_id():
"""Resets the machine ID to bypass Cursor AI's free trial detection."""
new_id = str(uuid.uuid4())
if os.name == 'nt': # Windows
os.system(f'reg add "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid /d {new_id} /f')
else: # Linux/macOS
os.system(f'echo {new_id} | sudo tee /etc/machine-id')
print(f"✅ Machine ID reset: {new_id}")
def register_github(email):
"""Automates GitHub registration with temp email."""
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://github.com/join")
# Fill in the registration form
username = ''.join(random.choices(string.ascii_letters + string.digits, k=8))
password = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
driver.find_element(By.ID, "user_login").send_keys(username)
driver.find_element(By.ID, "user_email").send_keys(email)
driver.find_element(By.ID, "user_password").send_keys(password)
driver.find_element(By.ID, "signup_button").click()
time.sleep(5)
driver.quit()
print(f"✅ GitHub account created: {username} | {email}")
return username, password
def register_cursor_with_github(driver):
"""Logs into Cursor AI using GitHub authentication."""
driver.get("https://cursor.sh")
driver.find_element(By.LINK_TEXT, "Sign in with GitHub").click()
time.sleep(5)
print("✅ Registered Cursor with GitHub")
def main():
print("\n🚀 Automating GitHub + Cursor AI Registration...\n")
email = generate_temp_email()
github_username, github_password = register_github(email)
inbox_id = extract_inbox(email)
if inbox_id:
verify_link = get_verification_link(email, inbox_id)
if verify_link:
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get(verify_link)
print("✅ Verified GitHub Email")
driver.quit()
else:
print("❌ Verification link not found")
# Automate Cursor AI registration with GitHub
options = Options()
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
register_cursor_with_github(driver)
# Reset Machine ID
reset_machine_id()
# Save credentials
with open("github_cursor_accounts.txt", "a") as f:
f.write(json.dumps({
"email": email,
"github_username": github_username,
"github_password": github_password
}) + "\n")
print("✅ All steps completed!")
if __name__ == '__main__':
main()