Lompat ke konten
dokumentasi.id
Commit a5cb8ad
v4
Star20 rb

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

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-207). 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-36), 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

NoTeks menuFungsiSumber dataCara pengambilan
1IP TrackerIP_Trackhttp://ipwho.is/requests.get lalu json.loads
2Show Your IPshowIPhttps://api.ipify.org/requests.get lalu membaca .text
3Phone Number TrackerphoneGWpustaka phonenumbersparsing lokal, tanpa request
4Username TrackerTrackLu24 URL social mediasatu requests.get per platform

README hanya menyebut tiga menu dengan tangkapan layar, yaitu IP Tracker, Phone Tracker, dan Username Tracker (README.md:43-48). README juga menyarankan IP Tracker dikombinasikan dengan tool Seeker untuk memperoleh IP target (README.md:29-33).

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.
Fig. 1: Pemetaan fungsi pelacakan ke sumber datanyaList 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-46). 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-172).

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-86). 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-158).

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-158). Seluruh proses itu berada di dalam blok try, dan bila terjadi exception fungsi mencetak Error : {e} lalu berhenti tanpa menghentikan program (GhostTR.py:159-161). IP_Track dan showIP tidak memiliki pengecekan setara.

⚠️ IP_Track memakai skema http:// tanpa TLS ke ipwho.is, dan langsung memanggil json.loads pada teks respons tanpa memeriksa status_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.