L

tdsvip

public
lamdayne1 Aug 07, 2024 Never 43
Clone
Python tdsvip 267 lines (235 loc) | 8.06 KB
1
#Coded by Nguyễn Lâm
2
import os
3
from time import sleep
4
from datetime import datetime
5
6
os.environ['TZ'] = 'Asia/Ho_Chi_Minh'
7
8
try:
9
import requests
10
except:
11
os.system("pip3 install requests")
12
import requests
13
14
try:
15
from pystyle import Colors, Colorate, Write, Center, Add, Box
16
except:
17
os.system("pip3 install pystyle")
18
from pystyle import Colors, Colorate, Write, Center, Add, Box
19
20
headers = {
21
'authority': 'traodoisub.com',
22
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
23
'accept-language': 'en-US,en;q=0.9,vi;q=0.8',
24
'user-agent': 'traodoisub tiktok tool',
25
}
26
27
def login_tds(token):
28
try:
29
r = requests.get('https://traodoisub.com/api/?fields=profile&access_token='+token, headers=headers, timeout=5).json()
30
if 'success' in r:
31
os.system('clear')
32
print(Colors.green + f"Đăng nhập thành công!\nUser: {Colors.yellow + r['data']['user'] + Colors.green} | Xu hiện tại: {Colors.yellow + r['data']['xu']}")
33
return 'success'
34
else:
35
print(Colors.red + f"Token TDS không hợp lệ, hãy kiểm tra lại!\n")
36
return 'error_token'
37
except:
38
return 'error'
39
40
def load_job(type_job, token):
41
try:
42
r = requests.get('https://traodoisub.com/api/?fields='+type_job+'&access_token='+token, headers=headers, timeout=5).json()
43
if 'data' in r:
44
return r
45
elif "countdown" in r:
46
sleep(round(r['countdown']))
47
print(Colors.red + f"{r['error']}\n")
48
return 'error_countdown'
49
else:
50
print(Colors.red + f"{r['error']}\n")
51
return 'error_error'
52
except:
53
return 'error'
54
55
def duyet_job(type_job, token, uid):
56
try:
57
r = requests.get(f'https://traodoisub.com/api/coin/?type={type_job}&id={uid}&access_token={token}', headers=headers, timeout=5).json()
58
if "cache" in r:
59
return r['cache']
60
elif "success" in r:
61
dai = f'{Colors.yellow}------------------------------------------'
62
print(dai)
63
print(f"{Colors.cyan}Nhận thành công {r['data']['job_success']} nhiệm vụ | {Colors.green}{r['data']['msg']} | {Colors.yellow}{r['data']['xu']}")
64
print(dai)
65
return 'error'
66
else:
67
print(f"{Colors.red}{r['error']}")
68
return 'error'
69
except:
70
return 'error'
71
72
73
def check_tiktok(id_tiktok, token):
74
try:
75
r = requests.get('https://traodoisub.com/api/?fields=tiktok_run&id='+id_tiktok+'&access_token='+token, headers=headers, timeout=5).json()
76
if 'success' in r:
77
os.system('clear')
78
print(Colors.green + f"{r['data']['msg']}|ID: {Colors.yellow + r['data']['id'] + Colors.green}")
79
return 'success'
80
else:
81
print(Colors.red + f"{r['error']}\n")
82
return 'error_token'
83
except:
84
return 'error'
85
86
87
os.system('clear')
88
banner = r'''
89
█████╗ ███████╗ ██████╗██╗██╗
90
██╔══██╗██╔════╝██╔════╝██║██║
91
███████║███████╗██║ ██║██║
92
██╔══██║╚════██║██║ ██║██║
93
██║ ██║███████║╚██████╗██║██║
94
╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝╚═╝
95
96
'''
97
gach = '========================================='
98
option = f'''{gach}{Colors.green}
99
Danh sách nhiệm vu tool hỗ trợ: {Colors.red}
100
1. Follow
101
2. Tym
102
{Colors.yellow}{gach}
103
'''
104
option_acc = f'''{gach}{Colors.green}
105
Danh sách lựa chọn: {Colors.red}
106
1. Tiếp tục sử dụng acc TDS đã lưu
107
2. Sử dụng acc TDS mới
108
{Colors.yellow}{gach}
109
'''
110
print(Colorate.Horizontal(Colors.yellow_to_red, Center.XCenter(banner)))
111
print(Colors.red + Center.XCenter(Box.DoubleCube("Tool TDS Tiktok [ASCII]")))
112
113
114
while True:
115
try:
116
f = open(f'TDS.txt','r')
117
token_tds = f.read()
118
f.close()
119
cache = 'old'
120
except FileNotFoundError:
121
token_tds = Write.Input("Nhập token TDS:", Colors.green_to_yellow, interval=0.0025)
122
cache = 'new'
123
124
for _ in range(3):
125
check_log = login_tds(token_tds)
126
if check_log == 'success' or check_log == 'error_token':
127
break
128
else:
129
sleep(2)
130
131
if check_log == 'success':
132
if cache == 'old':
133
while True:
134
print(option_acc)
135
try:
136
choice = int(Write.Input("Lựa chọn của bạn là (Ví dụ: sử dụng acc cũ nhập 1):", Colors.green_to_yellow, interval=0.0025))
137
if choice in [1,2]:
138
break
139
else:
140
os.system('clear')
141
print(Colors.red + f"Lỗi lựa chọn!! Chỉ nhập 1 hoặc 2\n")
142
except:
143
os.system('clear')
144
print(Colors.red + f"Lỗi lựa chọn!! Chỉ nhập 1 hoặc 2\n")
145
146
os.system('clear')
147
if choice == 1:
148
break
149
else:
150
os.remove('TDS.txt')
151
152
else:
153
f = open(f'TDS.txt', 'w')
154
f.write(f'{token_tds}')
155
f.close()
156
break
157
else:
158
sleep(1)
159
os.system('clear')
160
161
if check_log == 'success':
162
#Nhập user tiktok
163
while True:
164
id_tiktok = Write.Input("Nhập ID tiktok chạy (lấy ở mục cấu hình web):", Colors.green_to_yellow, interval=0.0025)
165
for _ in range(3):
166
check_log = check_tiktok(id_tiktok,token_tds)
167
if check_log == 'success' or check_log == 'error_token':
168
break
169
else:
170
sleep(2)
171
172
if check_log == 'success':
173
break
174
elif check_log == 'error_token':
175
os.system('clear')
176
print(Colors.red + f"ID tiktok chưa được thêm vào cấu hình, vui lòng thêm vào cấu hình rồi nhập lại!\n")
177
else:
178
os.system('clear')
179
print(Colors.red + f"Lỗi sever vui lòng nhập lại!\n")
180
181
#Lựa chọn nhiệm vụ
182
while True:
183
print(option)
184
try:
185
choice = int(Write.Input("Lựa chọn nhiệm vụ muốn làm (Ví dụ: Follow nhập 1):", Colors.green_to_yellow, interval=0.0025))
186
if choice in [1,2]:
187
break
188
else:
189
os.system('clear')
190
print(Colors.red + f"Lỗi lựa chọn!! Chỉ nhập 1 hoặc 2\n")
191
except:
192
os.system('clear')
193
print(Colors.red + f"Lỗi lựa chọn!! Chỉ nhập 1 hoặc 2\n")
194
195
#Nhập delay nhiệm vụ
196
while True:
197
try:
198
delay = int(Write.Input("Thời gian delay giữa các job (giây):", Colors.green_to_yellow, interval=0.0025))
199
if delay > 1:
200
break
201
else:
202
os.system('clear')
203
print(Colors.red + f"Delay tối thiểu là 3\n")
204
except:
205
os.system('clear')
206
print(Colors.red + f"Vui lòng nhập một số > 2\n")
207
208
#Nhập max nhiệm vụ
209
while True:
210
try:
211
max_job = int(Write.Input("Dừng lại khi làm được số nhiệm vụ là:", Colors.green_to_yellow, interval=0.0025))
212
if max_job > 9:
213
break
214
else:
215
os.system('clear')
216
print(Colors.red + f"Tối thiểu là 10\n")
217
except:
218
os.system('clear')
219
print(Colors.red + f"Vui lòng nhập một số > 9\n")
220
221
os.system('clear')
222
223
if choice == 1:
224
type_load = 'tiktok_follow'
225
type_duyet = 'TIKTOK_FOLLOW_CACHE'
226
type_nhan = 'TIKTOK_FOLLOW'
227
type_type = 'FOLLOW'
228
api_type = 'TIKTOK_FOLLOW_API'
229
elif choice == 2:
230
type_load = 'tiktok_like'
231
type_duyet = 'TIKTOK_LIKE_CACHE'
232
type_nhan = 'TIKTOK_LIKE'
233
api_type = 'TIKTOK_LIKE_API'
234
type_type = 'TYM'
235
236
dem_tong = 0
237
238
while True:
239
list_job = load_job(type_load, token_tds)
240
sleep(2)
241
if isinstance(list_job, dict) == True:
242
for job in list_job['data']:
243
uid = job['id']
244
link = job['link']
245
os.system(f'termux-open-url {link}')
246
check_duyet = duyet_job(type_duyet, token_tds, uid)
247
248
if check_duyet != 'error':
249
dem_tong += 1
250
t_now = datetime.now().strftime("%H:%M:%S")
251
print(f'{Colors.yellow}[{dem_tong}] {Colors.red}| {Colors.cyan}{t_now} {Colors.red}| {Colors.pink}{type_type} {Colors.red}| {Colors.light_gray}{uid}')
252
253
if check_duyet > 9:
254
sleep(3)
255
a = duyet_job(type_nhan, token_tds, api_type)
256
257
258
if dem_tong == max_job:
259
break
260
else:
261
for i in range(delay,-1,-1):
262
print(Colors.green + 'Vui lòng đợi: '+str(i)+' giây',end=('\r'))
263
sleep(1)
264
265
if dem_tong == max_job:
266
print(f'{Colors.green}Hoàn thành {max_job} nhiệm vụ!')
267
break