6
Batasan dan Etika Penggunaan
GhostTrack tidak menyimpan basis datanya sendiri. Setiap nilai yang dicetak ke layar berasal dari layanan di luar repository, dan README menempatkan tool ini sebagai alat osint atau information gathering (README.md:1-21). Karena itu batas akurasi dan batas etika tool ini sama dengan batas sumber datanya. Modul GhostTR.py hanya mengimpor requests dan phonenumbers (GhostTR.py:9-152), dan requirements.txt mencantumkan dua dependensi itu tanpa nomor versi (requirements.txt:1-23).
Peta ketergantungan eksternal
Empat opsi menu memanggil empat sumber data yang berbeda. Tiga di antaranya memerlukan koneksi jaringan, satu bekerja sepenuhnya lokal.
graph TD
CLI["GhostTR.py - loop menu"]
IP["IP_Track"]
MY["showIP"]
PH["phoneGW"]
US["TrackLu"]
API1["ipwho.is via HTTP"]
API2["api.ipify.org"]
LIB["phonenumbers dataset lokal"]
SNS["24 URL platform sosial"]
CLI --> IP
CLI --> MY
CLI --> PH
CLI --> US
IP --> API1
MY --> API2
PH --> LIB
US --> SNS
style CLI fill:#f59e0b,color:#000
style IP fill:#8b5cf6,color:#fff
style MY fill:#8b5cf6,color:#fff
style PH fill:#8b5cf6,color:#fff
style US fill:#8b5cf6,color:#fff
style API1 fill:#dc2626,color:#fff
style API2 fill:#f59e0b,color:#000
style SNS fill:#f59e0b,color:#000
style LIB fill:#2d7d46,color:#fff
%% fig: Ketergantungan eksternal tiap opsi menu
%% desc: Setiap fungsi menu membaca satu sumber di luar repository; hanya phoneGW yang tidak memerlukan jaringan.| Sumber | Pemanggil | Permintaan | Yang dipakai | Catatan |
|---|---|---|---|---|
http://ipwho.is/{ip} | IP_Track | IP target disisipkan ke path URL | country, connection, timezone, dan field lain | Skema http, tanpa parameter timeout (GhostTR.py:45-464) |
https://api.ipify.org/ | showIP | tanpa parameter | teks IP publik pemanggil | Tanpa parameter timeout (GhostTR.py:171-1725) |
Dataset phonenumbers | phoneGW | tidak ada request jaringan | operator, wilayah, validitas nomor | Dipanggil lewat phonenumbers.parse (GhostTR.py:84-966) |
| 24 entri URL platform sosial | TrackLu | username disisipkan ke site['url'] | hanya response.status_code | Tanpa parameter timeout (GhostTR.py:152-1587) |
Ketiga pemanggilan requests.get di GhostTR.py tidak menyertakan parameter timeout, sehingga tool menunggu selama server tujuan menahan koneksi (GhostTR.py:45-464, GhostTR.py:171-1725, GhostTR.py:152-1587). Bila respons tidak sesuai harapan, kegagalannya dibahas di Penanganan Error dan Interrupt.
Akurasi data tiap fitur
| Fitur | Asal angka atau teks | Sifat data |
|---|---|---|
IP_Track | respons ipwho.is | perkiraan wilayah dari basis data IP, bukan posisi perangkat |
showIP | respons api.ipify.org | IP publik jalur keluar, bukan alamat antarmuka lokal |
phoneGW | carrier.name_for_number, geocoder.description_for_number | operator dan wilayah nomor, bukan lokasi pemegang nomor |
TrackLu | response.status_code == 200 | indikasi keberadaan akun, bukan bukti identitas |
Dua hal di IP_Track menurunkan presisi hasil. Koordinat dari API dipotong dengan int() sebelum dipakai menyusun tautan Google Maps, jadi bagian desimal hilang dan tautan peta menunjuk satu titik pada derajat penuh (GhostTR.py:59-618). Selain itu, field yang dicetak diambil langsung dari kunci JSON, sehingga wilayah yang dilaporkan ipwho.is adalah tebakan berbasis alamat IP.
Di phoneGW, default_region = "ID" membuat nomor tanpa kode negara selalu diurai sebagai nomor Indonesia (GhostTR.py:84-966). Nilai is_valid_number dan is_possible_number hanya memeriksa panjang dan pola nomor, bukan memastikan nomor itu aktif (GhostTR.py:90-919).
Di TrackLu, daftar social_media memuat 24 entri, dan Snapchat tercantum dua kali pada daftar yang sama (GhostTR.py:126-15110). Karena hasil disimpan ke results[site['name']], entri kedua menimpa entri pertama. Pemeriksaan hanya memakai status_code == 200, sehingga halaman login, halaman peringatan, dan pembatasan laju dapat terbaca sebagai akun ditemukan maupun sebaliknya (GhostTR.py:152-1587).
Etika penggunaan
Tool ini membaca data orang lain tanpa persetujuan mereka. README sendiri menyebut kombinasi dengan proyek lain, yaitu Seeker, untuk memperoleh IP target (README.md:33-3711). Seeker berada di luar repository ini, jadi hasil dan risikonya tidak dikendalikan oleh kode GhostTR.py.
⚠️ Permintaan ke
ipwho.ismemakai skemahttptanpa TLS, sehingga respons dapat dibaca dan diubah di tengah jalan (GhostTR.py:45-464). Alamat IP target yang kamu masukkan juga terkirim ke pihak ketiga dan tersimpan di log mereka. OpsishowIPmengirim IP publik milikmu sendiri keapi.ipify.org(GhostTR.py:171-1725), jadi operator tool ikut terekspos.
⚠️
TrackLumengirim 24 permintaan berurutan tanpa jeda ke platform pihak ketiga (GhostTR.py:152-1587). Pola ini dapat memicu pemblokiran IP dan melanggar ketentuan layanan platform yang dituju.
Acuan pemakaian yang aman: jalankan pelacakan pada aset milik sendiri atau target yang memberi izin tertulis, perlakukan keluaran phoneGW dan TrackLu sebagai petunjuk awal dan bukan bukti identitas, serta jangan memakai hasil IP_Track sebagai dasar tindakan hukum karena hanya perkiraan wilayah.
Notice di header dan status lisensi
Lima baris pertama GhostTR.py memuat notice penulis, bukan lisensi formal. Notice itu meminta siapa pun yang melakukan recode untuk meminta izin lebih dulu, minimal mencantumkan tag akun GitHub yang mengarah ke akun pemilik, dan menyarankan memakai fork sebagai jalan yang lebih mudah (GhostTR.py:1-512).
Akar repository hanya memuat GhostTR.py, README.md, requirements.txt, dan direktori asset/, tanpa berkas LICENSE. Karena itu syarat pemakaian ulang kode sepenuhnya bersandar pada notice di header tersebut, dan tidak ada teks lisensi yang memberi hak distribusi ulang secara eksplisit. Cara menjalankan tool dijelaskan di Instalasi dan Menjalankan Tool.