Lompat ke konten
dokumentasi.id
Commit a5cb8ad
v4
Star20 rb

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-2). 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-15), dan requirements.txt mencantumkan dua dependensi itu tanpa nomor versi (requirements.txt:1-2).

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.
Fig. 1: Ketergantungan eksternal tiap opsi menuSetiap fungsi menu membaca satu sumber di luar repository; hanya phoneGW yang tidak memerlukan jaringan.
SumberPemanggilPermintaanYang dipakaiCatatan
http://ipwho.is/{ip}IP_TrackIP target disisipkan ke path URLcountry, connection, timezone, dan field lainSkema http, tanpa parameter timeout (GhostTR.py:45-46)
https://api.ipify.org/showIPtanpa parameterteks IP publik pemanggilTanpa parameter timeout (GhostTR.py:171-172)
Dataset phonenumbersphoneGWtidak ada request jaringanoperator, wilayah, validitas nomorDipanggil lewat phonenumbers.parse (GhostTR.py:84-96)
24 entri URL platform sosialTrackLuusername disisipkan ke site['url']hanya response.status_codeTanpa parameter timeout (GhostTR.py:152-158)

Ketiga pemanggilan requests.get di GhostTR.py tidak menyertakan parameter timeout, sehingga tool menunggu selama server tujuan menahan koneksi (GhostTR.py:45-46, GhostTR.py:171-172, GhostTR.py:152-158). Bila respons tidak sesuai harapan, kegagalannya dibahas di Penanganan Error dan Interrupt.

Akurasi data tiap fitur

FiturAsal angka atau teksSifat data
IP_Trackrespons ipwho.isperkiraan wilayah dari basis data IP, bukan posisi perangkat
showIPrespons api.ipify.orgIP publik jalur keluar, bukan alamat antarmuka lokal
phoneGWcarrier.name_for_number, geocoder.description_for_numberoperator dan wilayah nomor, bukan lokasi pemegang nomor
TrackLuresponse.status_code == 200indikasi 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-61). 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-96). Nilai is_valid_number dan is_possible_number hanya memeriksa panjang dan pola nomor, bukan memastikan nomor itu aktif (GhostTR.py:90-91).

Di TrackLu, daftar social_media memuat 24 entri, dan Snapchat tercantum dua kali pada daftar yang sama (GhostTR.py:126-151). 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-158).

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-37). Seeker berada di luar repository ini, jadi hasil dan risikonya tidak dikendalikan oleh kode GhostTR.py.

⚠️ Permintaan ke ipwho.is memakai skema http tanpa TLS, sehingga respons dapat dibaca dan diubah di tengah jalan (GhostTR.py:45-46). Alamat IP target yang kamu masukkan juga terkirim ke pihak ketiga dan tersimpan di log mereka. Opsi showIP mengirim IP publik milikmu sendiri ke api.ipify.org (GhostTR.py:171-172), jadi operator tool ikut terekspos.

⚠️ TrackLu mengirim 24 permintaan berurutan tanpa jeda ke platform pihak ketiga (GhostTR.py:152-158). 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-5).

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.