# mrpasswordtz/ip-recon architecture

> Architecture diagram of the GitHub repository mrpasswordtz/ip-recon, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mrpasswordtz/ip-recon
- Repository: https://github.com/mrpasswordtz/ip-recon

## Overview

IP-RECON is a small command-line IP reconnaissance tool. The user enters a target IP; the CLI requests geolocation, network, and proxy/VPN details from Geo.ipify, then prints the returned fields and a map link (or a failure message). The request and formatting flow are visible in `recon.py`; the API relationship is evidenced by its URL and HTTP request.

Main entry points: [`recon.py`](https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py) (CLI workflow)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_cli["CLI workflow<br/>[recon.py]"]
node_lookup["IP lookup<br/>[recon.py]"]
node_geoipify["Geo.ipify API"]
node_formatter["Result formatter<br/>[recon.py]"]
node_terminal["Terminal output"]

node_user -->|"enters IP"| node_cli
node_cli -->|"requests lookup"| node_lookup
node_lookup -->|"fetches details"| node_geoipify
node_lookup -->|"returns data"| node_cli
node_cli -->|"formats results"| node_formatter
node_formatter -->|"prints details"| node_terminal

click node_cli "https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py"
click node_lookup "https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py"
click node_formatter "https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user toneBlue
class node_cli,node_lookup,node_formatter toneTeal
class node_geoipify toneMint
class node_terminal toneIndigo
```

## Components

### Other components

- **User**
- [CLI workflow](https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py): `recon.py`
- [IP lookup](https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py): `recon.py`
- **Geo.ipify API**
- [Result formatter](https://github.com/mrpasswordtz/ip-recon/blob/main/recon.py): `recon.py`
- **Terminal output**

## Connections

- User → CLI workflow: enters IP (evidence: `recon.py`)
- CLI workflow → IP lookup: requests lookup (evidence: `recon.py`)
- IP lookup → Geo.ipify API: fetches details (evidence: `recon.py`)
- IP lookup → CLI workflow: returns data (evidence: `recon.py`)
- CLI workflow → Result formatter: formats results (evidence: `recon.py`)
- Result formatter → Terminal output: prints details (evidence: `recon.py`)
