4
Fitur Pelacakan
GhostTrack tidak memecah fitur pelacakannya ke dalam modul terpisah. Keempat fitur adalah fungsi biasa di satu berkas, GhostTR.py, yang didaftarkan pada list options sebagai entri berisi num, text, dan func; menu bernomor 1 sampai 4 menunjuk ke IP_Track, showIP, phoneGW, dan TrackLu (GhostTR.py:180-2071). Dispatch menu itu sendiri dibahas di Loop Menu dan Dispatch Opsi.
Setiap fungsi pelacakan dibungkus decorator is_option. Wrapper itu memanggil run_banner() lebih dulu, lalu menjalankan fungsi aslinya (GhostTR.py:29-362), sehingga keempat fitur selalu dibuka dengan banner dan clear() sebelum mencetak hasil. Helper banner dan warna ANSI dijelaskan di Banner, Warna ANSI, dan Helper. Perbedaan penting antarkeempat fitur terletak pada sumber datanya: tiga fitur mengambil data dari endpoint HTTP, satu fitur bekerja sepenuhnya offline.
Daftar fitur dan sumbernya
| No | Teks menu | Fungsi | Sumber data | Cara pengambilan |
|---|---|---|---|---|
| 1 | IP Tracker | IP_Track | http://ipwho.is/ | requests.get lalu json.loads |
| 2 | Show Your IP | showIP | https://api.ipify.org/ | requests.get lalu membaca .text |
| 3 | Phone Number Tracker | phoneGW | pustaka phonenumbers | parsing lokal, tanpa request |
| 4 | Username Tracker | TrackLu | 24 URL social media | satu requests.get per platform |
README hanya menyebut tiga menu dengan tangkapan layar, yaitu IP Tracker, Phone Tracker, dan Username Tracker (README.md:43-483). README juga menyarankan IP Tracker dikombinasikan dengan tool Seeker untuk memperoleh IP target (README.md:29-334).
Peta fungsi ke sumber data
graph TD
menu["options, nomor 1-4"] --> ip["IP_Track"]
menu --> sip["showIP"]
menu --> ph["phoneGW"]
menu --> un["TrackLu"]
ip --> whois["http://ipwho.is/ + IP target"]
sip --> ipify["https://api.ipify.org/"]
ph --> pn["pustaka phonenumbers"]
un --> sites["24 URL social media"]
whois --> out["print ke stdout"]
ipify --> out
pn --> out
sites --> out
style menu fill:#8b5cf6,color:#fff
style pn fill:#f59e0b,color:#000
style whois fill:#336791,color:#fff
style ipify fill:#336791,color:#fff
style sites fill:#336791,color:#fff
style out fill:#2d7d46,color:#fff
%% fig: Pemetaan fungsi pelacakan ke sumber datanya
%% desc: List options memanggil empat fungsi; tiga fungsi membaca endpoint HTTP dan satu fungsi membaca metadata nomor lewat pustaka phonenumbers sebelum semuanya mencetak hasil ke stdout.Jaringan versus pustaka lokal
IP_Track mengirim requests.get ke http://ipwho.is/{ip} dan mengubah teks respons menjadi dict lewat json.loads (GhostTR.py:45-465). showIP memakai pola yang lebih sederhana: satu requests.get ke https://api.ipify.org/, lalu isi .text langsung dicetak sebagai alamat IP publik mesin pengguna (GhostTR.py:171-1726).
phoneGW tidak menghubungi server mana pun. Nomor target diurai dengan phonenumbers.parse memakai default_region bernilai "ID", sehingga nomor tanpa kode negara diperlakukan sebagai nomor Indonesia (GhostTR.py:84-867). TrackLu berada di sisi lain: ia menyiapkan list social_media berisi 24 entri URL bertemplat dan melakukan requests.get untuk tiap entri (GhostTR.py:126-1588).
Perbedaan penanganan respons
Ketiga fitur berbasis HTTP membaca respons dengan cara berbeda. TrackLu memeriksa response.status_code == 200 untuk memutuskan sebuah username ditemukan, dan menyimpan pesan Username not found bila status bukan 200 (GhostTR.py:152-1589). Seluruh proses itu berada di dalam blok try, dan bila terjadi exception fungsi mencetak Error : {e} lalu berhenti tanpa menghentikan program (GhostTR.py:159-16110). IP_Track dan showIP tidak memiliki pengecekan setara.
⚠️
IP_Trackmemakai skemahttp://tanpa TLS keipwho.is, dan langsung memanggiljson.loadspada teks respons tanpa memeriksastatus_code. Bila endpoint membalas dengan isi yang bukan JSON, fungsi berhenti dengan traceback. Alur lengkapnya ada di IP Tracker.
Halaman rinci per fitur
Setiap fitur memiliki halaman tersendiri: IP Tracker untuk pemetaan seluruh field ipwho.is, Show Your IP untuk pembacaan satu alamat IP publik, Phone Number Tracker untuk field yang dihasilkan phonenumbers, dan Username Tracker untuk daftar platform yang diperiksa. Perilaku program saat KeyboardInterrupt atau opsi tidak dikenal dibahas di Penanganan Error dan Interrupt.