Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup as bs
- import json
- from utils import c_logging, n_logging
- from random import *
- import random
- import re
- import string
- import time
- import sys
- from threading import Thread
- from queue import Queue
- with open('config.json') as file:
- config = json.load(file)
- file.close()
- if config['useproxies'] == "True":
- useproxies = "True"
- else:
- useproxies = "False"
- def file_len(fname):
- with open(fname) as f:
- for i, l in enumerate(f):
- pass
- return i + 1
- class Worker(Thread):
- def __init__(self, queue, x):
- Thread.__init__(self)
- self.queue = queue
- def run(self):
- global taskcount
- waitTime = config['waitTime']
- time.sleep(float(waitTime))
- captchaurl = "https://kithnyc.typeform.com/to/ySnFiu?typeform-embed=popup-blank"
- url = "https://kithnyc.typeform.com/to/ySnFiu"
- s = requests.session()
- headers = {
- 'Accept': 'application/json, text/javascript, */*; q=0.01',
- 'Accept-Encoding': 'gzip, deflate, br',
- 'Accept-Language': 'en-US,en;q=0.9',
- 'Connection': 'keep-alive',
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Host': 'kithnyc.typeform.com',
- 'Origin': 'https://kithnyc.typeform.com',
- 'Referer': 'https://kithnyc.typeform.com/to/ySnFiu?typeform-embed=popup-blank',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
- 'X-Requested-With': 'XMLHttpRequest'
- }
- successcount = 0
- print("")
- while True:
- time.sleep(float(waitTime))
- self.queue.get()
- print("")
- if useproxies == "True":
- def random_line(fname):
- lines = open(fname).read().splitlines()
- return random.choice(lines)
- proxy = random_line('proxies.txt')
- c_logging("Using Proxy {}".format(proxy), "yellow")
- try:
- proxytest = proxy.split(":")[2]
- userpass = True
- except IndexError:
- userpass = False
- if userpass == True:
- ip = proxy.split(":")[0]
- port = proxy.split(":")[1]
- userpassproxy = ip + ':' + port
- proxyuser = proxy.split(":")[2].rstrip()
- proxypass = proxy.split(":")[3].rstrip()
- if userpass == True:
- proxies = {'http': 'http://' + proxyuser + ':' + proxypass + '@' + userpassproxy, 'https': 'http://' + proxyuser + ':' + proxypass + '@' + userpassproxy}
- if userpass == False:
- proxies = {'http': 'http://' + proxy, 'https': 'http://' + proxy}
- firstname = config['FirstName']
- lastname = config['LastName']
- location = config['Location']
- email = config['Email']
- if config['multiperson'] == "True":
- namfelist = ['0', "1", "2", "3"]
- namslist = randint(0, len(namfelist) - 1)
- optionforname = namfelist[namslist]
- if optionforname == "1":
- firstname = config['Person2'].split(" ")[0]
- lastname = config['Person2'].split(" ")[1]
- if optionforname == "2":
- firstname = config['Person3'].split(" ")[0]
- lastname = config['Person3'].split(" ")[1]
- if optionforname == "3":
- firstname = config['Person4'].split(" ")[0]
- lastname = config['Person4'].split(" ")[1]
- if optionforname == "0":
- firstname = config['FirstName']
- lastname = config['LastName']
- mname = random.choice(string.ascii_letters)
- suffixtitlel = ['jr', 'jr.', 'JR.', 'JR.', 'SR', 'sr.', 'sr', 'sr.',
- 'snr', 'SNR', 'SNR.', 'jnr', 'JNR', 'JNR.', 'II',
- 'III', '2nd', '3rd']
- suffixtitlenum = randint(0, len(suffixtitlel) - 1)
- suffix = suffixtitlel[suffixtitlenum]
- typelist = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '15', '16', '17', '18', '19', '20']
- typenum = randint(0, len(typelist) - 1)
- typee = typelist[typenum]
- if typee == "1":
- firstname = "Mr. " + firstname
- if typee == "2":
- firstname = "Mr. " + firstname
- lastname = lastname + " " + suffix
- if typee == "3":
- firstname = "Mr. " + firstname + " " + suffix
- if typee == "4":
- firstname = "Mr " + firstname
- if typee == "5":
- firstname = "Mr " + firstname
- lastname = lastname + " " + suffix
- if typee == "6":
- firstname = "Mr " + firstname + " " + suffix
- if typee == "7":
- firstname = "Mister " + firstname
- if typee == "8":
- firstname = "Mister " + firstname
- lastname = lastname + " " + suffix
- if typee == "9":
- firstname = "Mister " + firstname + " " + suffix
- if typee == "10":
- lastname = lastname + " " + suffix
- if typee == "11":
- firstname = firstname + " " + suffix
- if typee == "12":
- if config['middlenamejig'] == "True":
- firstname = firstname + " " + mname
- else:
- firstname = "Mister " + firstname + " " + suffix
- if typee == "13":
- if config['middlenamejig'] == "True":
- firstname = "Mr " + firstname + " " + mname
- else:
- firstname = "Mr " + firstname
- if typee == "14":
- if config['middlenamejig'] == "True":
- firstname = "Mister " + firstname + " " + mname
- else:
- firstname = "Mr. " + firstname
- if typee == "15":
- if config['middlenamejig'] == "True":
- firstname = firstname + " " + mname
- lastname = lastname + " " + suffix
- else:
- lastname = lastname + " " + suffix
- if typee == "16":
- firstname = "Mister. " + firstname
- if typee == "17":
- firstname = "Mister. " + firstname
- lastname = lastname + " " + suffix
- if typee == "18":
- firstname = "Mister. " + firstname + " " + suffix
- if typee == "19":
- if config['middlenamejig'] == "True":
- firstname = "Mister. " + firstname + " " + mname
- else:
- firstname = "Mister. " + firstname
- if typee == "20":
- if config['middlenamejig'] == "True":
- firstname = "Mister. " + firstname + " " + mname
- lastname = lastname + " " + suffix
- else:
- firstname = "Mister. " + firstname
- lastname = lastname + " " + suffix
- if config['emailjig'] == "gmail":
- prefix = email.split('@')[0]
- number = randint(111, 9999999)
- if number > 9999999:
- number = randint(111, 9999999)
- email = "{}+{}@gmail.com".format(prefix, number)
- else:
- prefix = email.split('@')[0]
- domain = email.split('@')[1]
- number = randint(111, 9999999)
- if number > 9999999:
- number = randint(111, 9999999)
- email = "{}{}@{}".format(prefix, number, domain)
- if config['sizegender'] == "male":
- sizelist = ['7', '8', '9', '10', '11']
- else:
- sizelist = ['6', '7', '8', '9', '10', '11']
- sizenum = randint(0, len(sizelist) - 1)
- asize = sizelist[sizenum]
- if config['sizegender'] == "male":
- size = "Men's " + asize
- else:
- size = "Woman's " + asize
- if location == "soho":
- kithlocation = "Kith Soho"
- else:
- kithlocation = "Kith Brooklyn"
- d = requests.get("https://kithnyc.typeform.com/to/ySnFiu?typeform-embed=popup-blank")
- soup = bs(d.content, "html.parser")
- bigreturn = soup.find_all("script")
- jscap = str(bigreturn[21])
- capnohtml = re.sub("<.*?>", "", jscap)
- capfilter1 = capnohtml[26:]
- capfilter2 = capfilter1.split('"value":"')[1]
- captchavalue = capfilter2.split('"')[0]
- payload = {
- 'form[language]': 'en',
- 'form[textfield:OSwjNf51Vlq5]': firstname,
- 'form[textfield:WS8KFzUfJKZ6]': lastname,
- 'form[email:mSTAlyznz1A1]': email,
- 'form[list:Z89n81xJhqQK][choices]': kithlocation,
- 'form[list:Z89n81xJhqQK][other]': '',
- 'form[list:kXPnX9LjujQw][choices]': size,
- 'form[list:kXPnX9LjujQw][other]': '',
- 'form[textfield:p6P2thoLnUI4]': captchavalue,
- 'form[landed_at]': int(time.time()),
- 'form[token]': '641e8d6d42680852d04e1623235b7295$2y$11$e2dJZC0zIXZQK1pxbSZbL.iWNMlMlNL.HW4Y/MIZPaow0szjB6mUm'
- }
- if useproxies == "True":
- j = s.post(url, headers=headers, data=payload, proxies=proxies)
- #c_logging("Sending Request", "yellow")
- else:
- j = s.post(url, headers=headers, data=payload)
- #c_logging("Sending Request", "yellow")
- taskcount = taskcount + 1
- taskcounts = "{}{}{}".format(int(taskcount), "/", int(num))
- n_logging("++++++++++++++++++++++++++++++++++")
- c_logging("TASK # {}".format(taskcounts), "cyan")
- c_logging("Name Set to " + firstname + " " + lastname, "yellow")
- c_logging("Created email {}".format(email), "yellow")
- c_logging("Choose size " + size, "yellow")
- c_logging("Obtained Captcha Answer ({})".format(captchavalue), "yellow")
- if "success" in j.text:
- c_logging("Entered into raffle", "green")
- n_logging("++++++++++++++++++++++++++++++++++")
- successcount = successcount + 1
- else:
- c_logging("FAILED TO ENTER ACCOUNT", "red")
- n_logging("++++++++++++++++++++++++++++++++++")
- self.queue.task_done()
- if successcount < 1:
- c_logging("NO ENTRIES MADE", "red")
- else:
- n_logging("-----------------------------")
- c_logging("Successfully Entered " + str(successcount) + "/" + str(num), "green")
- c_logging("If you like this consider helping me https://www.paypal.me/ehxoh XO", "green")
- def multithread(num, tasks):
- global taskcount
- taskcount = int(0)
- count = int(num)
- queue = Queue()
- for i in range(int(tasks)):
- print('making worker')
- worker = Worker(queue, i)
- worker.daemon = True
- worker.start()
- for i in range(int(count)):
- queue.put(10);
- queue.join()
- if __name__ == '__main__':
- print("")
- n_logging("##########################################")
- c_logging("Kith Futurecraft Script v8", "cyan")
- c_logging("By XO", "cyan")
- c_logging("Thanks Ry and Kyel and Sole Dev", "cyan")
- c_logging("Wanna buy me a big mac? https://www.paypal.me/ehxoh", "cyan")
- c_logging("PLEASE DO NOT DM FOR HELP JUST SEND SOMETHING IN GENERAL", "red")
- n_logging("###########################################")
- print("")
- print("")
- n_logging("===========================================")
- c_logging("Name: " + config['FirstName'] + " " + config['LastName'], "magenta")
- c_logging("Email: " + config['Email'], "magenta")
- c_logging("Size Gender: " + config['sizegender'], "magenta")
- c_logging("Location: " + config['Location'], "magenta")
- c_logging("Using Proxies?: " + config['useproxies'], "magenta")
- c_logging("Middle Name Jig?: {}".format(config['middlenamejig']), "magenta")
- c_logging("Email Jig Being Used?: {}".format(config['emailjig']), "magenta")
- c_logging("Using A Wait Time Of {} seconds".format(config['waitTime']), "magenta")
- n_logging("==========================================")
- print("")
- print("")
- num = input("# Of Entries? ")
- tasks = input("Number of threads?: ")
- yesno = input("START BOT (y/n): ")
- if yesno == "y":
- multithread(num, tasks)
- else:
- sys.exit("You choose no to start please press y when prompted")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement