· 6 months ago · Mar 17, 2025, 04:10 PM
1# MIDTracker Tools
2# ./KeyzNet | https://t.me/keyznet
3# Contat me for APIKEY
4
5import time
6import requests
7from colorama import Fore, Style, init
8
9init(autoreset=True)
10
11UNIVERSITY_API_URLS = {
12 '1': "https://hengker.org/api/uinsmh.php",
13 '2': "https://hengker.org/api/uinib.php",
14 '3': "https://hengker.org/api/insikti.php",
15 '4': "https://hengker.org/api/ummi.php",
16 '5': "https://hengker.org/api/ugj.php",
17 '6': "https://hengker.org/api/umpri.php",
18 '7': "https://hengker.org/api/unimed.php",
19 '8': "https://hengker.org/api/unigoro.php",
20 '9': "https://hengker.org/api/raharja.php",
21 '10': "https://hengker.org/api/ubt.php",
22 '11': "https://hengker.org/api/ubs.php",
23 '12': "https://hengker.org/api/isi_ska.php",
24 '13': "https://hengker.org/api/potensi_utama.php",
25 '14': "https://hengker.org/api/ppi.php",
26 '15': "https://hengker.org/api/lp3i.php",
27 '16': "https://hengker.org/api/itp.php",
28 '17': "https://hengker.org/api/uit.php",
29 '18': "https://hengker.org/api/stmiklombok.php",
30 '19': "https://hengker.org/api/staim_klaten.php",
31 '20': "https://hengker.org/api/global.php",
32 '21': "https://hengker.org/api/pipmakassar.php"
33
34
35}
36
37CLIENT_SECRET = ""
38API_KEY = ""
39
40def tampilkan_header():
41 print(Fore.GREEN + "\n" + "="*50)
42 print(Fore.CYAN + " ==> MIDTracker <==".center(50))
43 print(Fore.CYAN+ "Tools Pencarian Data Mahasiswa".center(50))
44 print(Fore.YELLOW + "By: ./KeyzNet | https://t.me/keyznet".center(50))
45 print(Fore.GREEN + "="*50 + "\n")
46
47def tampilkan_menu_universitas():
48 print(Fore.MAGENTA + """
49 PILIH UNIVERSITAS:
50 [1] ▸ UIN Sultan Maulana Hasanuddin Banten
51 [2] ▸ UIN Imam Bonjol Padang
52 [3] ▸ Institut Bisnis dan Teknologi Indonesia
53 [4] ▸ Universitas Muhammadiyah Sukabumi
54 [5] ▸ Universitas Swadaya Gunung Jati
55 [6] ▸ Universitas Muhammadiyah Pringsewu Lampung
56 [7] ▸ Universitas Negeri Medan
57 [8] ▸ Universitas Bojonegoro
58 [9] ▸ Universitas Raharja Tangerang
59 [10] ▸ Universitas Borneo Tarakan
60 [11] ▸ Universitas Bani Saleh Bekasi
61 [12] ▸ Institut Seni Indonesia Surakarta
62 [13] ▸ Universitas Potensi Utama Medan
63 [14] ▸ Politeknik Perkeretaapian Indonesia Madiun
64 [15] ▸ Politeknik LP3I Jakarta
65 [16] ▸ Institut Teknologi Padang
66 [17] ▸ Universitas Indonesia Timur Makassar
67 [18] ▸ STMIK Lombok
68 [19] ▸ STAI Muhammadiyah Klaten
69 [20] ▸ Institut Teknologi dan Bisnis Bina Sarana Global Tangerang
70 [21] ▸ Politeknik Ilmu Pelayaran Makassar
71 [0] ▸ Keluar
72 """)
73
74def menu_pencarian():
75 print(Fore.MAGENTA + """
76 PILIH JENIS PENCARIAN:
77 [1] ▸ Nama
78 [2] ▸ NIM
79 [3] ▸ Email
80 [4] ▸ Tempat Lahir
81 [5] ▸ Nomor HP
82 [6] ▸ NIK
83 [7] ▸ Kelurahan
84 [8] ▸ Kode Pos
85 [9] ▸ Cari Semua Kolom
86 [0] ▸ Kembali
87 """)
88
89def jalankan_pencarian(pilihan, api_url):
90 column_map = {
91 '1': 'NAMA', '2': 'NIM', '3': 'Email',
92 '4': 'Tempat Lahir', '5': 'No HP',
93 '6': 'NIK', '7': 'Kelurahan', '8': 'Kode Pos',
94 '9': 'all'
95 }
96
97 column = column_map.get(pilihan)
98 if not column:
99 return []
100
101 keyword = input(Fore.WHITE + "[?] Masukkan kata kunci: ").strip()
102 if not keyword:
103 print(Fore.RED + "\n[!] Input kosong!")
104 time.sleep(1)
105 return []
106
107 try:
108 headers = {
109 'X-API-KEY': API_KEY # Kirim API key sebagai header
110 }
111
112 response = requests.get(
113 api_url,
114 params={
115 'client_secret': CLIENT_SECRET,
116 'column': column,
117 'keyword': keyword.lower()
118 },
119 headers=headers,
120 timeout=10
121 )
122
123 if response.status_code == 200:
124 return response.json()
125 else:
126 print(Fore.RED + f"\n[ERROR] Kode: {response.status_code}")
127 return []
128
129 except Exception as e:
130 print(Fore.RED + f"\n[ERROR] Gagal konek: {str(e)}")
131 return []
132
133def tampilkan_hasil(hasil):
134 if not hasil:
135 print(Fore.RED + "\n[!] Data tidak ditemukan")
136 time.sleep(1.5)
137 return
138
139 print(Fore.GREEN + f"\n[+] Ditemukan: {len(hasil)} data")
140 for idx, item in enumerate(hasil, 1):
141 print(Fore.YELLOW + f"\n── HASIL {idx} {'─'*30}")
142 for k, v in item.items():
143 print(Fore.BLUE + f"{k:15}: {Fore.WHITE}{v or '-'}")
144 input(Fore.CYAN + "\n[↲] Tekan Enter untuk lanjut...")
145
146def main():
147 tampilkan_header()
148 while True:
149 tampilkan_menu_universitas()
150 pilihan_univ = input(Fore.WHITE + "[?] Pilih Universitas (0-2): ").strip()
151
152 if pilihan_univ == '0':
153 print(Fore.GREEN + "\n[✓] Silence is Gold!")
154 time.sleep(1)
155 break
156
157 if pilihan_univ in UNIVERSITY_API_URLS:
158 api_url = UNIVERSITY_API_URLS[pilihan_univ]
159 while True:
160 menu_pencarian()
161 pilihan = input(Fore.WHITE + "[?] Pilih Jenis Pencarian (0-9): ").strip()
162
163 if pilihan == '0':
164 break
165
166 if pilihan in '123456789':
167 hasil = jalankan_pencarian(pilihan, api_url)
168 tampilkan_hasil(hasil)
169 else:
170 print(Fore.RED + "\n[!] Pilihan salah!")
171 time.sleep(1)
172 else:
173 print(Fore.RED + "\n[!] Pilihan universitas salah!")
174 time.sleep(1)
175
176if __name__ == "__main__":
177 main()