|
6 | 6 |
|
7 | 7 | import os |
8 | 8 | import time |
9 | | -import time |
| 9 | + |
| 10 | +from threading import Thread, active_count |
10 | 11 |
|
11 | 12 |
|
12 | | -script_version = "1.2" |
| 13 | +script_version = "1.1" |
13 | 14 | script_title = "Spotify Account Creator By ALIILAPRO" |
14 | 15 | script_info = f''' |
15 | 16 | ..: {script_title} :.. |
|
25 | 26 | -------- |
26 | 27 | ''' |
27 | 28 |
|
| 29 | +class Main: |
28 | 30 |
|
29 | | -def clear(text): |
30 | | - os.system('cls' if os.name == 'nt' else 'clear') |
31 | | - print(text) |
| 31 | + def clear(self, text): |
| 32 | + os.system('cls' if os.name == 'nt' else 'clear') |
| 33 | + print(text) |
32 | 34 |
|
33 | | -def settitle(title_name:str): |
34 | | - os.system("title {0}".format(title_name)) |
| 35 | + def settitle(self, title_name:str): |
| 36 | + os.system("title {0}".format(title_name)) |
35 | 37 |
|
36 | | -def readfile(filename, method): |
37 | | - with open(filename,method) as f: |
38 | | - content = [line.strip('\n') for line in f] |
| 38 | + def readfile(self, filename, method): |
| 39 | + with open(filename,method) as f: |
| 40 | + content = [line.strip('\n') for line in f] |
| 41 | + return content |
39 | 42 |
|
40 | | - return content |
| 43 | + def countfile(self, filename, method): |
| 44 | + file = open(filename,method) |
| 45 | + Counter = 0 |
| 46 | + Content = file.read() |
| 47 | + CoList = Content.split("\n") |
| 48 | + for i in CoList: |
| 49 | + if i: |
| 50 | + Counter += 1 |
| 51 | + |
| 52 | + return Counter |
41 | 53 |
|
42 | | -def getproxy(): |
43 | | - r = requests.get('https://xcoder.fun/p.php?r=y') |
| 54 | + def getproxy(self): |
| 55 | + r = requests.get('https://xcoder.fun/p.php?r=y') |
44 | 56 |
|
45 | | - with open('proxy.txt','w') as fd: |
46 | | - fd.write(r.text.replace('\n','')) |
47 | | - |
48 | | -def getrandomproxy(): |
49 | | - proxies_file = readfile('proxy.txt','r') |
50 | | - proxies = { |
51 | | - "http":"http://{0}".format(random.choice(proxies_file)), |
52 | | - "https":"https://{0}".format(random.choice(proxies_file)) |
53 | | - } |
54 | | - |
55 | | - return proxies |
56 | | - |
57 | | -def gencredentailsmethod(gender, birth_year, birth_month, birth_day, password, email): |
58 | | - credentails = {} |
59 | | - credentails['gender'] = gender |
60 | | - credentails['birth_year'] = birth_year |
61 | | - credentails['birth_month'] = birth_month |
62 | | - credentails['birth_day'] = birth_day |
63 | | - credentails['password'] = password |
64 | | - username = string.ascii_letters + string.digits |
65 | | - username = ''.join(random.choice(username) for i in range(random.randint(7,11))) |
66 | | - credentails['username'] = username |
67 | | - credentails['email'] = email |
68 | | - |
69 | | - return credentails |
70 | | - |
71 | | -def creator(credentails): |
72 | | - try: |
73 | | - |
74 | | - headers = { |
75 | | - 'User-agent': 'S4A/2.0.15 (com.spotify.s4a; build:201500080; iOS 13.4.0) Alamofire/4.9.0', |
76 | | - 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', |
77 | | - 'Accept': 'application/json, text/plain;q=0.2, */*;q=0.1', |
78 | | - 'App-Platform': 'IOS', |
79 | | - 'Spotify-App': 'S4A', |
80 | | - 'Accept-Language': 'en-TZ;q=1.0', |
81 | | - 'Accept-Encoding': 'gzip;q=1.0, compress;q=0.5', |
82 | | - 'Spotify-App-Version': '2.0.15' |
| 57 | + with open('proxy.txt','w') as fd: |
| 58 | + fd.write(r.text.replace('\n','')) |
| 59 | + |
| 60 | + def getrandomproxy(self): |
| 61 | + proxies_file = self.readfile('proxy.txt','r') |
| 62 | + proxies = { |
| 63 | + "http":"http://{0}".format(random.choice(proxies_file)), |
| 64 | + "https":"https://{0}".format(random.choice(proxies_file)) |
83 | 65 | } |
84 | 66 |
|
| 67 | + return proxies |
| 68 | + |
| 69 | + def __init__(self): |
| 70 | + self.settitle(script_title) |
| 71 | + self.clear(script_info) |
| 72 | + self.getproxy() |
| 73 | + self.email = input('[#] Enter Email: ') |
| 74 | + self.password = input('[#] Enter Password: ') |
| 75 | + self.birth_year = int(input('[#] Enter the birth year (only year): ')) |
| 76 | + self.birth_month = int(input('[#] Enter the birth month (1 - 12): ')) |
| 77 | + self.birth_day = int(input('[#] Enter the birth day (1 - 28): ')) |
| 78 | + self.gender = input('[#] Enter the gender (male or female): ') |
| 79 | + self.threads = self.countfile('proxy.txt','r') |
| 80 | + |
| 81 | + def gencredentailsmethod(self): |
| 82 | + credentails = {} |
| 83 | + credentails['gender'] = self.gender |
| 84 | + credentails['birth_year'] = self.birth_year |
| 85 | + credentails['birth_month'] = self.birth_month |
| 86 | + credentails['birth_day'] = self.birth_day |
| 87 | + credentails['password'] = self.password |
| 88 | + username = string.ascii_letters + string.digits |
| 89 | + username = ''.join(random.choice(username) for i in range(random.randint(7,11))) |
| 90 | + credentails['username'] = username |
| 91 | + credentails['email'] = self.email |
| 92 | + |
| 93 | + return credentails |
| 94 | + |
| 95 | + def creator(self): |
| 96 | + try: |
| 97 | + |
| 98 | + headers = { |
| 99 | + 'User-agent': 'S4A/2.0.15 (com.spotify.s4a; build:201500080; iOS 13.4.0) Alamofire/4.9.0', |
| 100 | + 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', |
| 101 | + 'Accept': 'application/json, text/plain;q=0.2, */*;q=0.1', |
| 102 | + 'App-Platform': 'IOS', |
| 103 | + 'Spotify-App': 'S4A', |
| 104 | + 'Accept-Language': 'en-TZ;q=1.0', |
| 105 | + 'Accept-Encoding': 'gzip;q=1.0, compress;q=0.5', |
| 106 | + 'Spotify-App-Version': '2.0.15' |
| 107 | + } |
| 108 | + |
| 109 | + |
| 110 | + url = 'https://spclient.wg.spotify.com/signup/public/v1/account' |
| 111 | + credentails = self.gencredentailsmethod() |
| 112 | + data = 'creation_point=lite_7e7cf598605d47caba394c628e2735a2&password_repeat={0}&platform=Android-ARM&iagree=true&password={1}&gender={2}&key=a2d4b979dc624757b4fb47de483f3505&birth_day={3}&birth_month={4}&email={5}&birth_year={6}'.format(credentails['password'],credentails['password'],credentails['gender'],credentails['birth_day'],credentails['birth_month'],credentails['email'],credentails['birth_year']) |
| 113 | + req = requests.post(url=url, data=data, headers=headers, proxies=self.getrandomproxy(), timeout=5) |
| 114 | + json_data = json.loads(req.text) |
| 115 | + |
| 116 | + |
| 117 | + if 'status' in json_data: |
| 118 | + if json_data['status'] == 1: |
| 119 | + username = json_data['username'] |
| 120 | + if username != '': |
| 121 | + self.clear(script_info) |
| 122 | + print('[>] ACCOUNT CREATED SUCCESSFULLY\n[-] Email:{0}\n[-] Password:{1}\n[-] Username:{2}\n[-] Gender:{3}\n[-] Birth year:{4}\n[-] Birth month:{5}\n[-] Birth day:{6}\n'.format(credentails['email'],credentails['password'],credentails['username'],credentails['gender'],credentails['birth_year'],credentails['birth_month'],credentails['birth_day'])) |
| 123 | + with open('reg.txt','a') as f: |
| 124 | + f.write('[INFO ACCOUNT]\nEmail:{0}\nPassword:{1}\nUsername:{2}\nGender:{3}\nBirth year:{4}\nBirth month:{5}\nBirth day:{6}\n___________________\n\n'.format(credentails['email'],credentails['password'],credentails['username'],credentails['gender'],credentails['birth_year'],credentails['birth_month'],credentails['birth_day'])) |
| 125 | + time.sleep(self.threads) |
| 126 | + else: |
| 127 | + self.creator() |
| 128 | + else: |
| 129 | + self.creator() |
| 130 | + else: |
| 131 | + self.creator() |
| 132 | + except: |
| 133 | + self.creator() |
| 134 | + |
85 | 135 |
|
86 | | - url = 'https://spclient.wg.spotify.com/signup/public/v1/account' |
87 | | - proxies = getrandomproxy() |
88 | | - data = 'creation_point=lite_7e7cf598605d47caba394c628e2735a2&password_repeat={0}&platform=Android-ARM&iagree=true&password={1}&gender={2}&key=a2d4b979dc624757b4fb47de483f3505&birth_day={3}&birth_month={4}&email={5}&birth_year={6}'.format(credentails['password'],credentails['password'],credentails['gender'],credentails['birth_day'],credentails['birth_month'],credentails['email'],credentails['birth_year']) |
89 | | - req = requests.post(url=url, data=data, headers=headers, proxies=proxies, timeout=5) |
90 | | - json_data = json.loads(req.text) |
| 136 | + def start(self): |
| 137 | + while True: |
| 138 | + if active_count() <= self.threads: |
| 139 | + Thread(target=self.creator).start() |
91 | 140 |
|
92 | 141 |
|
93 | | - if 'status' in json_data: |
94 | | - if json_data['status'] == 1: |
95 | | - username = json_data['username'] |
96 | | - if username != '': |
97 | | - clear(script_info) |
98 | | - print('[>] ACCOUNT CREATED SUCCESSFULLY\n[-] Email:{0}\n[-] Password:{1}\n[-] Username:{2}\n[-] Gender:{3}\n[-] Birth year:{4}\n[-] Birth month:{5}\n[-] Birth day:{6}\n'.format(credentails['email'],credentails['password'],credentails['username'],credentails['gender'],credentails['birth_year'],credentails['birth_month'],credentails['birth_day'])) |
99 | | - with open('reg.txt','a') as f: |
100 | | - f.write('[INFO ACCOUNT]\nEmail:{0}\nPassword:{1}\nUsername:{2}\nGender:{3}\nBirth year:{4}\nBirth month:{5}\nBirth day:{6}\n___________________\n\n'.format(credentails['email'],credentails['password'],credentails['username'],credentails['gender'],credentails['birth_year'],credentails['birth_month'],credentails['birth_day'])) |
101 | | - return "successful" |
102 | | - else: |
103 | | - return "error" |
104 | | - else: |
105 | | - return "error" |
106 | | - else: |
107 | | - return "error" |
108 | | - except: |
109 | | - return "error" |
110 | | - |
111 | | - |
112 | | -settitle(script_title) |
113 | | -clear(script_info) |
114 | | -getproxy() |
115 | | -register = 0 |
116 | | -email = input('[#] Enter Email: ') |
117 | | -password = input('[#] Enter Password: ') |
118 | | -birth_year = int(input('[#] Enter the birth year (only year): ')) |
119 | | -birth_month = int(input('[#] Enter the birth month (1 - 12): ')) |
120 | | -birth_day = int(input('[#] Enter the birth day (1 - 28): ')) |
121 | | -gender = input('[#] Enter the gender (male or female): ') |
122 | | - |
123 | | -credentails = gencredentailsmethod(gender, birth_year, birth_month, birth_day, password, email) |
124 | | - |
125 | | -while register == 0: |
126 | | - result = creator(credentails) |
127 | | - if result == "error": |
128 | | - register = 0 |
129 | | - elif result == "successful": |
130 | | - register = 1 |
131 | | - |
132 | | -print("[>] Finish.") |
133 | | -time.sleep(10) |
| 142 | +if __name__ == "__main__": |
| 143 | + main = Main() |
| 144 | + main.start() |
0 commit comments