├── tik.png
├── README.md
└── Cleaning.py
/tik.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vv1ck/Cleaning-TikTok/HEAD/tik.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Cleaning-TikTok
2 |
3 | Cleaning-TikTok [ following ]
4 |
5 | -
6 | Tool features :
7 | - The tool deletes the people you have added in your account on Tik Tok
8 |
9 | -----------------------
10 | install in kali linux :
11 |
12 | ```
13 | sudo git clone https://github.com/vv1ck/Cleaning-TikTok
14 | ```
15 |
16 |
17 | You need to download the requests library if you don't have it :
18 |
19 |
20 | ```
21 | pip install requests
22 | ```
23 |
24 | -----------------------
25 |
26 | ```
27 | cd Cleaning-TikTok
28 | ```
29 |
30 | - Then run the tool :
31 |
32 | ```
33 | python3 Cleaning.py
34 | ```
35 |
36 | ---------------------
37 | - Note: To login, you need to session id your account
38 | ---------------------
39 | By JOKER | Snapchat 👻 | telegram 🔷
40 | -
41 | seee
42 |
--------------------------------------------------------------------------------
/Cleaning.py:
--------------------------------------------------------------------------------
1 | try:
2 | import threading
3 | from requests import get,post
4 | from time import sleep
5 | from json import JSONDecodeError
6 | except Exception as Joker:input(Joker);exit()
7 | PRNT=threading.Lock()
8 | red = "\033[1;31;40m";yel = '\033[1;33;40m'
9 | grn = '\033[1;32;40m';errorSN='"session expired, please sign in again"'
10 | def vv1ck(*a, **b):
11 | with PRNT:print(*a, **b)
12 | class TikTok_followers:
13 | def __init__(self,ID,SEC,S):
14 | self.sisn=S
15 | self.ID=ID
16 | self.SEC=SEC
17 | self.err=0
18 | print('━━━━━━━━━━━━━'*3,'\n')
19 | self.url='https://api16-normal-c-alisg.tiktokv.com/aweme/v1/user/follower/list/?ac=WIFI&op_region=JO&app_skin=white&vcd_count=0&offset=0&address_book_access=1&gps_access=0&sec_user_id={}&count=20&source_type=1&user_id={}&vcdAuthFirstTime=0&max_time=0&'
20 | self.headers={'Host': 'api16-normal-c-alisg.tiktokv.com','Connection': 'keep-alive','x-Tt-Token': '01'+self.sisn+'022d273d75acc99d264eed0ede586d4abf9748ef61ac9d7b7e374ee7a183f5c064993edfd37584b60d89456cd050a8f6d5d3aed733504c196492e73fad0ec24d68b1aab6d4eb934387b469c487eb2fe634f-1.0.1','sdk-version': '1','User-Agent': 'TikTok 16.6.0 rv:166011 (iPhone; iOS 13.5; ar_JO@numbers=latn) Cronet','x-tt-store-idc': 'alisg','x-tt-store-region': 'jo','X-SS-DP': '1233','x-tt-trace-id': '00-f93ad7fa106178e4fb15d8c6051a04d1-f93ad7fa106178e4-01','Cookie': 'sessionid='+self.sisn,'X-Khronos': '1636268954','X-Gorgon': '8402c0f720009a44d6aa4efafa6015fd7e1bdbe057fa07330a57','x-common-params-v2': 'pass-region=1&pass-route=1&language=ar&version_code=16.6.0&app_name=musical_ly&vid=D89D043C-FEE3-4404-895E-C9536618B96F&app_version=16.6.0&is_my_cn=0&channel=App%20Store&mcc_mnc=&device_id=7023615385938740741&tz_offset=7200&account_region=&sys_region=JO&aid=1233&residence=JO&screen_width=750&uoo=0&openudid=b391b6c4a559f59af4481dcf8899e10de5f73803&os_api=18&os_version=13.5&app_language=ar&tz_name=Asia/Amman¤t_region=JO&device_platform=iphone&build_number=166011&device_type=iPhone8,1&iid=7027721008694167297&idfa=3D876826-942D-4BFE-A9AA-5E34E6A6E72D&locale=ar&cdid=6C789D0F-7930-40F5-9C6E-422B790044F7&content_language='}
21 | self.get_followers()
22 | def UNfollos(self):
23 | global IDS,User
24 | get('https://api16-normal-c-alisg.tiktokv.com/aweme/v1/remove/follower/?device_id=7023615385938740741&os_version=13.5&is_my_cn=0&residence=JO&iid=7027721008694167297&app_name=musical_ly&pass-route=1&locale=ar&pass-region=1&ac=WIFI&sys_region=JO&version_code=16.6.0&vid=D89D043C-FEE3-4404-895E-C9536618B96F&channel=App%20Store&op_region=JO&os_api=18&idfa=3D876826-942D-4BFE-A9AA-5E34E6A6E72D&device_platform=iphone&device_type=iPhone8,1&openudid=b391b6c4a559f59af4481dcf8899e10de5f73803&account_region=&tz_name=Asia/Amman&tz_offset=7200¤t_region=JO&build_number=166011&app_skin=white&aid=1233&mcc_mnc=&screen_width=750&uoo=0&content_language=&language=ar&cdid=6C789D0F-7930-40F5-9C6E-422B790044F7&app_language=ar&app_version=16.6.0&user_id='+IDS,headers={'Host': 'api16-normal-c-alisg.tiktokv.com','Connection': 'keep-alive','x-Tt-Token': '01'+self.sisn+'022d273d75acc99d264eed0ede586d4abf9748ef61ac9d7b7e374ee7a183f5c064993edfd37584b60d89456cd050a8f6d5d3aed733504c196492e73fad0ec24d68b1aab6d4eb934387b469c487eb2fe634f-1.0.1','sdk-version': '1','User-Agent': 'TikTok 16.6.0 rv:166011 (iPhone; iOS 13.5; ar_JO@numbers=latn) Cronet','x-tt-store-idc': 'alisg','x-tt-store-region': 'jo','X-SS-DP': '1233','x-tt-trace-id': '00-f93c8446106178e4fb15d8c605e304d1-f93c8446106178e4-01','Cookie': 'sessionid='+self.sisn,'X-Khronos': '1636269064','X-Gorgon': '8402804b2000404e2e2fba468c29cf17bdafe7599d87e5ebe60c'})
25 | vv1ck(red+f'[+] UNfollo >> {User}')
26 | def get_followers(self):
27 | global IDS,User
28 | while 1:
29 | GET=get(self.url.format(self.SEC,self.ID),headers=self.headers)
30 | try:
31 | IDS =str(GET.json()['followers'][0]['uid'])
32 | User=GET.json()['followers'][0]['unique_id']
33 | self.UNfollos()
34 | except IndexError:
35 | self.err+=1
36 | if self.err==6:input(grn+'[+] Deleted successfully ✅');exit('By Joker')
37 | else:pass
38 | except JSONDecodeError:
39 | input(yel+'[!] Please try again later ..');exit()
40 | "|######################|"
41 | class TikTok_following:
42 | def __init__(self,ID,SEC,S):
43 | self.sisn=S
44 | self.ID=ID
45 | self.SEC=SEC
46 | vv1ck('━━━━━━━━━━━━━'*3,'\n')
47 | self.err=0
48 | self.get_following()
49 | def UNfollog(self,IDS,User):
50 | UNful=get('https://api16-normal-c-alisg.tiktokv.com/aweme/v1/commit/follow/user/?ac=WIFI&js_sdk_version=1.77.0.2&op_region=JO&tma_jssdk_version=1.77.0.2&idfv=3D876826-942D-4BFE-A9AA-5E34E6A6E72D&user_id='+IDS+'&type=0&sec_user_id=&previous_page=following&',headers={'Host': 'api16-normal-c-alisg.tiktokv.com','User-Agent': 'TikTok 20.5.0 rv:205020 (iPhone; iOS 13.5; ar_JO@numbers=latn) Cronet','Cookie': 'sessionid='+self.sisn,'X-Argus': '6GcIPqHpj254NmWUQL7H2Y32q5Q0QZLjlWwr0QTX1MpzlcXKoHOcsmP6+NLaE9b5DAW40Z4nUMke/0kjuA7g+HXRdtVWir2xSSqxQhdU3cGG9Nc70ZbMsdIZqvbJ4sYVboUdmSJiwMJjvN4SU025JXkYEOpJTpAnSr6Yk4Z96eKzfG8zUJj1rBwpVN2TM2363C2yFFqCg1L52DjKc50pzKBrq23xGVicI9U7Zy/2A1yomyGqq1z8etvIFFuxs+xWeBDdsv77mIkCXQysy4g8PpG78Z0IwNmHSg0Go4OkfEQ123MNUd+bHmAVwyrm6hgUVTmZy6BIiBNqiddYlVbEISwr','X-Gorgon': '8404e0580000025b62c8b99cbe848daa3db9a1398962887e142b','x-common-params-v2': 'language=ar&version_code=20.5.0&app_name=musical_ly&app_version=20.5.0&channel=App%20Store&mcc_mnc=&device_id=7023615385938740741&tz_offset=7200&account_region=&sys_region=JO&aid=1233&residence=JO&screen_width=750&uoo=0&openudid=4bf5c9491d8f851bee9cb8a73a48ce3935a30d6b&os_api=18&os_version=13.5&app_language=ar&tz_name=Asia/Amman¤t_region=JO&device_platform=iphone&build_number=205020&device_type=iPhone8,1&iid=7027405281118750470&idfa=3D876826-942D-4BFE-A9AA-5E34E6A6E72D&locale=ar&cdid=A0DF5056-F002-4CF3-B02A-1E362753CC57&content_language='})
51 | vv1ck(grn+f'[+] UNfollo >> {User}')
52 | def get_following(self):
53 | while 1:
54 | sleep(1)
55 | GET=get('https://api2-16-h2.musical.ly/aweme/v1/user/following/list/?version_code=12.0.0&pass-region=1&pass-route=1&language=ar&app_name=musical_ly&vid=D89D043C-FEE3-4404-895E-C9536618B96F&app_version=12.0.0&residence=JO&is_my_cn=0&channel=App%20Store&mcc_mnc=&device_id=7023615385938740741&tz_offset=7200&account_region=&sys_region=JO&aid=1233&screen_width=750&uoo=0&openudid=b391b6c4a559f59af4481dcf8899e10de5f73803&os_api=18&ac=WIFI&os_version=13.5&app_language=ar&tz_name=Asia/Amman¤t_region=JO&device_platform=iphone&build_number=120008&device_type=iPhone8,1&iid=7027799084266424070&idfa=3D876826-942D-4BFE-A9AA-5E34E6A6E72D&offset=0&sec_user_id='+self.SEC+'&address_book_access=1&gps_access=0&source_type=2&count=20&user_id='+self.ID+'&max_time=0',headers={'Host': 'api2-16-h2.musical.ly','Connection': 'keep-alive','x-tt-store-idc': 'alisg','x-tt-store-region': 'jo','X-SS-DP': '1233','Cookie': 'sessionid='+self.sisn,'X-Khronos': '1636287035','X-Pods': '','X-Gorgon': '8300a60d2001fef8e08b3f7d1eccb4d6a997682985911a998c64','x-Tt-Token': '01'+self.sisn+'0127e2928aa6c29cf7d2757d13ce88f5ec64ced2158c43e6ef61b50bff98482ea80c13528d2a7b2a60028586c336e666116a2255f4944a0502d22f8ed33da2725a37d3ec2c6532b9d3da0054924e91eef7b-1.0.1','User-Agent': 'TikTok 12.0.0 rv:120008 (iPhone; iOS 13.5; ar_JO@numbers=latn) Cronet'})
56 | try:
57 | IDS =GET.json()['followings'][0]['uid']
58 | User=GET.json()['followings'][0]['unique_id']
59 | self.UNfollog(str(IDS),User)
60 | except KeyError:
61 | input(yel+'[!] Please try again later ..');exit()
62 | except IndexError:
63 | self.err+=1
64 | if self.err==6:input(grn+'[$] Deleted successfully ✅');exit('By Joker')
65 | else:pass
66 | except JSONDecodeError:
67 | input(yel+'[!] Please try again later ..');exit()
68 | "|==============|"
69 | def get_ID(M0D):
70 | S=input('\n$:~ Enter sessionid : ')
71 | if S:pass
72 | else:input('$:~ Please enter a sessionid : ')
73 | GET_ID=get('https://api16-normal-c-alisg.tiktokv.com/passport/account/info/v2/?scene=normal&multi_login=1&account_sdk_source=app&passport-sdk-version=19&os_api=25&device_type=A5010&ssmix=a&manifest_version_code=2018093009&dpi=191&carrier_region=JO&uoo=1®ion=US&app_name=musical_ly&version_name=7.1.2&timezone_offset=28800&ts=1628767214&ab_version=7.1.2&residence=SA&cpu_support64=false¤t_region=JO&ac2=wifi&ac=wifi&app_type=normal&host_abi=armeabi-v7a&channel=googleplay&update_version_code=2018093009&_rticket=1628767221573&device_platform=android&iid=7396386396296286392&build_number=7.1.2&locale=en&op_region=SA&version_code=200705&timezone_name=Asia%2FShanghai&cdid=f61ca549-c9ee-450b-90da-8854423b74e7&openudid=3e5afbd3f6dde322&sys_region=US&device_id=7296396296396396393&app_language=en&resolution=576*1024&device_brand=OnePlus&language=en&os_version=7.1.2&aid=1233&mcc_mnc=2947',headers={'Host': 'api16-normal-c-alisg.tiktokv.com', 'Cookie': 'sessionid='+S,'Accept-Encoding': 'gzip, deflate',
74 | 'User-Agent': 'com.zhiliaoapp.musically/2022107060 (Linux; U; Android 7.1.2; en_US; G011A; Build/N2G48H;tt-ok/3.10.0.2)'})
75 | if errorSN in GET_ID.text:input(red+'[!!] The session is not working !!')
76 | elif 'user_id' in GET_ID.text:
77 | ID=str(GET_ID.json()['data']['user_id'])
78 | SEC=GET_ID.json()['data']['sec_user_id']
79 | if M0D==1:TikTok_following(ID,SEC,S)
80 | elif M0D==2:TikTok_followers(ID,SEC,S)
81 | else:vv1ck(GET_ID.text)
82 | if __name__ == '__main__':
83 | M0D=int(input(''' .-"""-.
84 | // \\ Cleaning TikTok
85 | \\ // By JR @vv1ck
86 | .-"""-.-`.-.-.< _
87 | / _,-\ ()()_/:)
88 | \ / , ` `|
89 | '-..-| \-.,___, /
90 | \ `-.__/ / 1- Delete following
91 | `-.__.-'` 2- Delete followers '''));get_ID(M0D)
92 |
--------------------------------------------------------------------------------