# What Programming Language Is GhostTrack Written In? Python Source Code Analysis

> Discover GhostTrack's programming language. Explore the Python source code of this cybersecurity tool and understand its core components and dependencies.

- Repository: [K1LLU/GhostTrack](https://github.com/HunxByts/GhostTrack)
- Tags: source-code-analysis
- Published: 2026-04-29

---

**GhostTrack is written entirely in Python**, utilizing standard library modules like `json` and `os` alongside third-party packages such as `requests` and `phonenumbers`.

GhostTrack is an open-source OSINT (Open Source Intelligence) tool designed for tracking IP addresses, phone numbers, and usernames. According to the HunxByts/GhostTrack source code, the application is implemented as a Python 3 script that follows standard Python syntax and conventions throughout its codebase.

## Evidence From the Source Code

### Shebang and Interpreter Declaration

The entry-point file [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py) begins with the classic Python shebang, immediately identifying the interpreter required to execute the tool:

```python
#!/usr/bin/python

```

This declaration confirms the script is intended to run with the Python interpreter located at `/usr/bin/python`, which is a standard convention for Python applications on Unix-like systems.

### Import Statements and Dependencies

The source code imports multiple standard Python libraries and external packages that are characteristic of Python development. In [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py), you will find imports for standard modules like `json`, `requests`, and `os`, alongside specialized third-party libraries such as `phonenumbers` for phone number validation and formatting.

The [`requirements.txt`](https://github.com/HunxByts/GhostTrack/blob/main/requirements.txt) file lists these external dependencies explicitly, including `requests` and `phonenumbers`, which are installed via `pip3` according to the repository documentation.

### Function Implementation Examples

The codebase demonstrates Python-specific syntax through its function definitions and control flow. For example, the IP tracking functionality is implemented using Python decorators and input handling:

```python
@is_option
def IP_Track():
    ip = input(f"{Wh}\n Enter IP target : {Gr}")
    req_api = requests.get(f"http://ipwho.is/{ip}")
    ip_data = json.loads(req_api.text)
    print(f"{Wh}\n IP target       :{Gr}", ip)
    # ... prints additional location fields ...

```

This excerpt shows Python f-strings for string interpolation, the `requests` library for HTTP requests, and `json.loads()` for parsing API responses—all hallmarks of Python development.

## Key Python Files in the Repository

The GhostTrack repository contains several Python-specific files that constitute the application:

- **GhostTR.py**: The main executable script containing the menu system, option handlers, and all OSINT-related logic. This file serves as the entry point for the application.
- **requirements.txt**: Specifies the third-party Python packages required to run the tool, including `requests` and `phonenumbers`.
- **README.md**: Provides Python-specific installation instructions using `pip3` and execution via `python3`.

## How to Run the Python Application

To execute GhostTrack, you must have Python 3 installed on your system. The installation process involves cloning the repository and installing the Python dependencies listed in [`requirements.txt`](https://github.com/HunxByts/GhostTrack/blob/main/requirements.txt):

```bash
git clone https://github.com/HunxByts/GhostTrack.git
cd GhostTrack
pip3 install -r requirements.txt
python3 GhostTR.py

```

Once installed, the tool runs as a standard Python CLI application, presenting an interactive menu for selecting tracking options.

## Summary

- GhostTrack is implemented in **Python**, as confirmed by the shebang in [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py) and the use of Python-specific syntax.
- The application relies on standard Python libraries (`json`, `os`) and third-party packages (`requests`, `phonenumbers`).
- Key files include [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py) (main script), [`requirements.txt`](https://github.com/HunxByts/GhostTrack/blob/main/requirements.txt) (dependencies), and [`README.md`](https://github.com/HunxByts/GhostTrack/blob/main/README.md) (documentation).
- Installation requires Python 3 and uses `pip3` for dependency management.

## Frequently Asked Questions

### What version of Python does GhostTrack require?

GhostTrack requires Python 3, as indicated by the installation instructions in [`README.md`](https://github.com/HunxByts/GhostTrack/blob/main/README.md) which specify using `pip3` and `python3` commands. While the shebang in [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py) references `/usr/bin/python`, modern systems typically map this to Python 3, though explicit Python 3 compatibility is assumed given the use of f-strings and modern library syntax.

### Does GhostTrack use any Python web frameworks?

GhostTrack does not use web frameworks like Django or Flask. Instead, it is built as a command-line interface (CLI) tool using standard Python libraries for HTTP requests (`requests`) and JSON parsing, along with specialized libraries like `phonenumbers` for phone number processing.

### Can GhostTrack run on Windows?

Yes, GhostTrack can run on Windows provided Python 3 is installed. The `python3 GhostTR.py` command works on Windows systems where Python is added to the system PATH, or you can use `py GhostTR.py` depending on your Python installation configuration.

### Where are the main functions defined in GhostTrack?

The main functions for tracking operations are defined in [`GhostTR.py`](https://github.com/HunxByts/GhostTrack/blob/main/GhostTR.py). For example, the `IP_Track()` function handles IP address lookups, while phone tracking and username tracking functions are also implemented in this same file, organized under decorators like `@is_option` to manage menu selection logic.