2
Instalasi dan Menjalankan Tool
GhostTrack disimpan sebagai satu berkas Python, GhostTR.py, dan daftar dependensi pihak ketiganya ada di requirements.txt. Karena itu instalasi hanya memerlukan git, Python 3, dan dua paket Python. Halaman ini berhenti tepat setelah menu utama tampil di layar; cara menu itu memproses pilihan dibahas di Loop Menu dan Dispatch Opsi.
Prasyarat: git dan Python 3
README menyediakan dua jalur penyiapan prasyarat, satu untuk distribusi Linux berbasis deb dan satu untuk Termux. Keduanya memasang paket yang sama, hanya manajer paketnya berbeda.
| Platform | Perintah penyiapan | Rujukan |
|---|---|---|
| Linux (deb) | sudo apt-get install git lalu sudo apt-get install python3 | README.md:9-131 |
| Termux | pkg install git lalu pkg install python3 | README.md:15-192 |
⚠️ Perintah Linux memakai
sudo, sedangkan perintah Termux tidak. Menjalankansudo apt-getdi dalam Termux akan gagal, jadi ikuti jalur sesuai platform yang dipakai.
Alur dari clone sampai menu pertama
Empat perintah pada bagian Usage harus dijalankan berurutan, karena setiap langkah bergantung pada hasil langkah sebelumnya. Ketergantungan itu tampak pada diagram berikut.
graph TD
A["sudo apt-get install git / python3"] --> C
B["pkg install git / python3"] --> C
C["git clone https://github.com/HunxByts/GhostTrack.git"] --> D["cd GhostTrack"]
D --> E["pip3 install -r requirements.txt"]
E --> F["python3 GhostTR.py"]
F --> G["main()"]
G --> H["option()"]
H --> I["Select Option :"]
H --> J["Exit"]
style A fill:#f59e0b,color:#000
style B fill:#f59e0b,color:#000
style E fill:#f59e0b,color:#000
style C fill:#2d7d46,color:#fff
style D fill:#2d7d46,color:#fff
style F fill:#2d7d46,color:#fff
style G fill:#2d7d46,color:#fff
style H fill:#2d7d46,color:#fff
style I fill:#2d7d46,color:#fff
style J fill:#dc2626,color:#fff
%% fig: Alur instalasi GhostTrack
%% desc: Prasyarat git dan Python 3 dari dua platform mengarah ke clone, pemasangan dependensi, dan pemanggilan main() yang berakhir di prompt Select Option.Blok Usage di README berisi urutan lengkapnya: git clone, cd GhostTrack, pip3 install -r requirements.txt, lalu python3 GhostTR.py (README.md:21-273). Perintah cd GhostTrack perlu dijalankan karena perintah terakhir memakai path relatif GhostTR.py, bukan path absolut (README.md:264).
Memasang dependensi
Pemasangan dependensi cukup satu perintah setelah direktori repository menjadi working directory: pip3 install -r requirements.txt (README.md:255). Berkas requirements.txt hanya memuat dua nama paket tanpa batasan versi (requirements.txt:1-26).
| Paket | Dipakai untuk | Rujukan |
|---|---|---|
requests | HTTP GET ke http://ipwho.is/{ip} di IP_Track dan ke https://api.ipify.org/ di showIP | GhostTR.py:457, GhostTR.py:1718 |
phonenumbers | parsing nomor telepon, region_code_for_number, carrier.name_for_number, geocoder.description_for_number di phoneGW | GhostTR.py:86-929 |
Kedua paket diimpor di bagian atas GhostTR.py bersama modul standar json, time, dan os. Modul phonenumbers juga menarik submodul carrier, geocoder, dan timezone pada baris impor berikutnya (GhostTR.py:9-1510). Karena impor ini berada di tingkat modul, kegagalan pemasangan dependensi akan langsung terlihat saat python3 GhostTR.py dijalankan, bukan saat salah satu menu dipilih.
Menjalankan tool
Jalankan python3 GhostTR.py dari dalam direktori GhostTrack (README.md:264). Berkas itu diawali shebang #!/usr/bin/python, sehingga interpreter yang dipakai saat dieksekusi langsung sebagai program adalah /usr/bin/python (GhostTR.py:111). Cara paling pasti tetap memanggilnya lewat python3 seperti pada README.
Eksekusi masuk melalui blok if __name__ == '__main__' yang membungkus main() dengan penanganan KeyboardInterrupt (GhostTR.py:309-31512). Fungsi main() membersihkan layar, memanggil option(), menunggu satu detik, lalu meminta nomor pilihan dengan prompt [ + ] Select Option : (GhostTR.py:296-30613). Fungsi option() sendiri memanggil clear() lebih dulu, menulis banner ASCII dan daftar menu ke stderr, sehingga tampilan pertama yang terlihat adalah banner GhostTrack diikuti daftar opsi (GhostTR.py:259-27214).
Pembersihan layar memakai os.system('cls') ketika os.name == 'nt' dan os.system('clear') pada sistem lain (GhostTR.py:210-21615). Perilaku ini menjelaskan mengapa terminal terlihat dikosongkan tepat sebelum menu muncul.
Menu pertama memuat lima entri berikut. Seluruhnya didefinisikan dalam satu list options di GhostTR.py:180-20716.
| Nomor | Label menu |
|---|---|
| 1 | IP Tracker |
| 2 | Show Your IP |
| 3 | Phone Number Tracker |
| 4 | Username Tracker |
| 0 | Exit |
Verifikasi hasil instalasi
Instalasi dianggap berhasil bila banner, daftar menu, dan prompt Select Option : muncul. Bila mengirim selain angka, main() menangkap ValueError dan mencetak [ ! ] Please input number sebelum meminta ulang (GhostTR.py:300-30617). Bila sebuah nomor tidak ada di daftar opsi, call_option melempar ValueError('Option not found') (GhostTR.py:219-22118).
Untuk keluar, pilih 0 yang memetakan entri menu ke exit (GhostTR.py:202-20619). Rincian dispatch tiap nomor ke fungsinya, termasuk perilaku ketika KeyboardInterrupt diterima, ada di Loop Menu dan Dispatch Opsi dan Penanganan Error dan Interrupt.