# thehananasif/mr.homes-by-hanan-asif architecture

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

- Interactive diagram: https://gitdiagram.com/thehananasif/mr.homes-by-hanan-asif
- Repository: https://github.com/thehananasif/mr.homes-by-hanan-asif

## Overview

Mr.Holmes is a command-line OSINT tool for researching usernames, email addresses, domains, and phone numbers, then producing and sharing reports. The visible entry point checks display configuration and hands control to a menu; sampled domain modules show email lookup and dork-based research, while README-documented capabilities include port scanning, report encoding/decoding, graphs, maps, hypotheses, and PDF export. The tree omits the referenced Core.Support and GUI directories, so their internal wiring and implementation paths cannot be verified; those links are left out or marked as documented capabilities.

Main entry points: [`Core/E_Mail.py`](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/E_Mail.py) (Email research), [`Core/Dork.py`](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Dork.py) (Dork research), [`MrHolmes.py`](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/MrHolmes.py) (CLI entry), [`Core`](https://github.com/thehananasif/mr.homes-by-hanan-asif/tree/main/Core) (Interactive menu)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Application runtime"]
  node_entry["CLI entry<br/>[MrHolmes.py]"]
  node_menu["Interactive menu"]
  node_configuration["Configuration<br/>[config.py]"]
end

subgraph group_research["OSINT research"]
  node_email["Email research<br/>[E_Mail.py]"]
  node_dorks["Dork research<br/>[Dork.py]"]
  node_ports["Port scanning<br/>[Port_Scanner.py]"]
  node_external_web(("Public web services"))
  node_email_sites["Email lookup sources<br/>[Lists.json]"]
  node_email_dorks["Email dork lists<br/>[Google_dorks.txt]"]
end

subgraph group_reports["Report handling"]
  node_encoding["Encode and decode<br/>[Decoder.py]"]
  node_pdf["PDF conversion<br/>[PDF_Converter.py]"]
  node_report_files["Generated reports"]
end

subgraph group_capabilities["Documented capabilities"]
  node_graphs_maps["Graphs and maps"]
  node_hypotheses["Subject hypotheses"]
  node_file_transfer["Phone file transfer<br/>[index.php]"]
end

node_user(("Operator"))

node_user -->|"starts"| node_entry
node_entry -->|"dispatches"| node_menu
node_configuration -->|"returns to"| node_menu
node_email -->|"reads links"| node_email_sites
node_email -->|"selects dorks"| node_email_dorks
node_email -->|"queries"| node_external_web
node_dorks -->|"searches"| node_external_web
node_email -->|"writes report"| node_report_files
node_dorks -->|"writes report"| node_report_files
node_ports -->|"writes report"| node_report_files
node_encoding -->|"encodes or decodes"| node_report_files
node_pdf -->|"reads report"| node_report_files
node_graphs_maps -.->|"creates report material"| node_report_files
node_hypotheses -.->|"contributes findings"| node_report_files
node_report_files -.->|"offers downloads"| node_file_transfer

click node_entry "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/MrHolmes.py"
click node_menu "https://github.com/thehananasif/mr.homes-by-hanan-asif/tree/main/Core"
click node_configuration "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/config.py"
click node_email "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/E_Mail.py"
click node_dorks "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Dork.py"
click node_ports "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Port_Scanner.py"
click node_email_sites "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Site_lists/E-Mail/Lists.json"
click node_email_dorks "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Site_lists/E-Mail/Google_dorks.txt"
click node_encoding "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Decoder.py"
click node_pdf "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/PDF_Converter.py"
click node_file_transfer "https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Transfer/index.php"

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_entry,node_menu,node_configuration toneBlue
class node_email,node_dorks,node_ports,node_external_web,node_email_sites,node_email_dorks toneAmber
class node_encoding,node_pdf,node_report_files toneMint
class node_graphs_maps,node_hypotheses,node_file_transfer toneRose
class node_user toneIndigo
```

## Components

### Application runtime

- [CLI entry](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/MrHolmes.py): `MrHolmes.py`
- [Interactive menu](https://github.com/thehananasif/mr.homes-by-hanan-asif/tree/main/Core): `Core`
- [Configuration](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/config.py): `Core/config.py`

### OSINT research

- [Email research](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/E_Mail.py): `Core/E_Mail.py`
- [Dork research](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Dork.py): `Core/Dork.py`
- [Port scanning](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Port_Scanner.py): `Core/Port_Scanner.py`
- **Public web services**
- [Email lookup sources](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Site_lists/E-Mail/Lists.json): `Site_lists/E-Mail/Lists.json`
- [Email dork lists](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Site_lists/E-Mail/Google_dorks.txt): `Site_lists/E-Mail/Google_dorks.txt`

### Report handling

- [Encode and decode](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/Decoder.py): `Core/Decoder.py`
- [PDF conversion](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Core/PDF_Converter.py): `Core/PDF_Converter.py`
- **Generated reports**

### Documented capabilities

- **Graphs and maps**
- **Subject hypotheses**
- [Phone file transfer](https://github.com/thehananasif/mr.homes-by-hanan-asif/blob/main/Transfer/index.php): `Transfer/index.php`

### Other components

- **Operator**

## Connections

- Operator → CLI entry: starts (evidence: `README.md`)
- CLI entry → Interactive menu: dispatches (evidence: `MrHolmes.py`)
- Configuration → Interactive menu: returns to (evidence: `Core/config.py`)
- Email research → Email lookup sources: reads links (evidence: `Core/E_Mail.py`)
- Email research → Email dork lists: selects dorks (evidence: `Core/E_Mail.py`)
- Email research → Public web services: queries (evidence: `Core/E_Mail.py`)
- Dork research → Public web services: searches (evidence: `README.md`)
- Email research → Generated reports: writes report (evidence: `Core/E_Mail.py`)
- Dork research → Generated reports: writes report (evidence: `Core/Dork.py`)
- Port scanning → Generated reports: writes report (evidence: `Core/Port_Scanner.py`)
- Encode and decode → Generated reports: encodes or decodes (evidence: `Core/Decoder.py`)
- PDF conversion → Generated reports: reads report (evidence: `Core/PDF_Converter.py`)
- Graphs and maps → Generated reports: creates report material (evidence: `README.md`)
- Subject hypotheses → Generated reports: contributes findings (evidence: `README.md`)
- Generated reports → Phone file transfer: offers downloads (evidence: `README.md`)
