Metadata-Version: 2.4
Name: domainia
Version: 2.2.0
Summary: Domainia Scanner is an automated Open-source Intelligence (OSINT) tool that enumerates subdomains, all DNS records, IP addresses, related domains/subdomains, certificate details, site info, HTTP status, name servers (NS), domain whois, and etc. of a single domain or a list of domains by using the passive and active reconnaissance techniques.
Author-email: Ali N / IRSec <hi@irsec.eu>
License: # MIT License
        
        Copyright (c) 2021 Ali N / IRSec
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://domainia.irsec.eu
Project-URL: Repository, https://github.com/namnamir/domainia
Project-URL: Issues, https://github.com/namnamir/domainia/issues
Project-URL: Documentation, https://domainia.irsec.eu
Project-URL: PyPI, https://pypi.org/project/domainia/
Keywords: osint,certificate,scanner,domain,security,passive,active,reconnaissance,subdomain,dns,ssl,whois,whois-lookup,certifi,subdomain-scanner,subdomain-enumeration,osint-python,scanner,ipv6,ipv4,ip,ssl-certificates,osint-python,dkim,spf,dmarc
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beautifulsoup4>=4.14.2
Requires-Dist: certifi>=2025.10.5
Requires-Dist: cffi>=2.0.0
Requires-Dist: charset-normalizer>=3.4.4
Requires-Dist: colorama>=0.4.6
Requires-Dist: cryptography>=46.0.3
Requires-Dist: dnspython>=2.8.0
Requires-Dist: idna>=3.11
Requires-Dist: pycparser>=2.23
Requires-Dist: pyopenssl>=25.3.0
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: requests>=2.32.5
Requires-Dist: setuptools>=80.9.0
Requires-Dist: six>=1.17.0
Requires-Dist: soupsieve>=2.8
Requires-Dist: typing-extensions>=4.15.0
Requires-Dist: ultimate-sitemap-parser>=1.6.0
Requires-Dist: urllib3>=2.5.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Dynamic: license-file

[![PyPI](https://img.shields.io/pypi/v/domainia?style=flat-square)](https://pypi.org/project/Domainia/) ![GitHub last commit](https://img.shields.io/github/last-commit/namnamir/domainia?style=flat-square) [![CodeFactor](https://www.codefactor.io/repository/github/namnamir/domainia/badge)](https://www.codefactor.io/repository/github/namnamir/domainia) [![GitHub issues](https://img.shields.io/github/issues-raw/namnamir/domainia?style=flat-square)](https://github.com/namnamir/domainia/issues) ![GitHub branch checks state](https://img.shields.io/github/checks-status/namnamir/domainia/main?style=flat-square) [![License](https://img.shields.io/github/license/namnamir/domainia?style=flat-square)](LICENSE)

<img src="https://raw.githubusercontent.com/namnamir/domainia/main/img/logo.png" width="150px" align="right">

**Domainia** Scanner is an automated Open-source Intelligence (OSINT) tool that enumerates subdomains, all DNS records, IP addresses, related domains/subdomains, certificate details, site info, HTTP status, name servers (NS), domain whois, and etc. of a single domain or a list of domains by using the passive and active reconnaissance techniques.

❤ Support Domainia: ![GitHub Sponsors](https://img.shields.io/github/sponsors/namnamir?style=flat-square) [![Liberapay patrons](https://img.shields.io/liberapay/patrons/namnamir?style=flat-square)](https://liberapay.com/namnamir/donate)

<img src="https://raw.githubusercontent.com/namnamir/domainia/main/img/logo2.png">

---
# How to Use
If you look for the changelog history, you can find it [here](https://github.com/namnamir/domainia/blob/main/CHANGELOG.md).

## 1. Installation
### 1.1. Installation Through [PyPi](https://pypi.org/project/Domainia/) 
[![PyPI](https://img.shields.io/pypi/v/domainia?style=flat-square)](https://pypi.org/project/Domainia/)

If you would like to install it as a Python package, run the following command.
```bash
pip install Domainia
# or
python -m pip install Domainia
```
### 1.2. Installation form the Source
First, clone the package from Github.
```bash
git clone https://github.com/namnamir/domainia.git
```
Then, by running the following command, install all required dependencies for the current user.
```Bash
pip install -r requirements.txt --user
# or
python -m pip install -r requirements.txt --user
```

## 2. Add API Keys
Modify the file `api_keys.py` and add the API keys of the mentioned tools.
![Define APIs](https://raw.githubusercontent.com/namnamir/domainia/main/img/api.png)

## 3. Check the Configuration File
Open the file `config.py` and modify it if needed. For each section of it, there is an explanation as the comment.

There are many options can be modified in the config file. Here are a list of the options:
- `date_format` to set the data and time format
- `scan_type` to set the scan type
- `dns_records` to set which DNS records should be enumerated
- `include_txt_records` to set which TXT records should be written in the output file
- `dns_servers` to set the DNS servers
- `delimiter` to set the delimiters for each data to be written into the CSV file
- `whois` to set which Whois detail should be written into the CSV file
- `ssl` to set which SSL detail should be written into the CSV file
- `api` to modify details of the APIs including the data/time format

## 4. Run the Script
The script can be run in 2 modes, loading the list of domains from a file or from the command.
```bash
  -h, --help
                        Show this help message and exit
  -f FILE, --file FILE  
                        Path to the list of domain names, e.g. domains.txt
  -d DOMAIN, --domain DOMAIN
                        The comma separated list of domains
  -w WHOIS, --whois WHOIS
                        Whois API; default "whoisxml".
                        Possible options: "whoisxml" and "whoxy"
-t TYPE, --type TYPE  
                       Type of the scan. If it is set, it will ignore the config file value for the scan type.
                       Possible options: "quick" and "deep"
  -o OUTPUT, --output OUTPUT
                        The name of the output CSV file, e.g. results.csv
```
![Run Domainia Scanner](https://raw.githubusercontent.com/namnamir/domainia/main/img/scan.gif)

## 5. Results (CSV)
Result of the scan would be saved in a CSV file. You can manage the path of the output file by the argument `-o` or `--output`.
![Results in CSV](https://raw.githubusercontent.com/namnamir/domainia/main/img/result.png)
![Results in CSV](https://raw.githubusercontent.com/namnamir/domainia/main/img/result2.png)

## 6. JSON Format

```json
[
  "example.com": {
    "DNS": [
      {
        "record": "A",
        "value": "1.2.3.4",
      },
    ],
    "related_ip" : [
      {
        "name": "1.2.3.4",
        "version": "IPv4",
        "whois": {},
        "listed": [],
        "technologies" : [],
        "ports": [],
        "reverse_dns": [],
        "vulnerabilities": [],
      },
    ],
    "related_domains" : [
      {
        "name": "site.tld",
        "whois": {},
        "listed": [],
        "technologies" : [],
        "ports": [],
        "vulnerabilities": [],
        "http_headers": [],
        "html_meta": [],
        "subdomains": [],
        "related_domains": []
      },
    ],
    "html": {
      "meta": [
        {
          "name": "",
          "value": "",
        }
      ],
      "redirects": [],
      "status_code": 200,
      "title": "",
      "analytics": [
        {
          "name": "Google",
          "value": "UA-123"
        }
      ]
    },
    "http_headers": [
      {
        "name": "",
        "value": "",
      }
    ],
    "whois": {},
    "listed": [],
  }
]
```

---
⚖️ **Copyright**
Domainia tool is released under copy left; there is no right. Just kidding, it is under MIT license; read more about it on the [LICENSE page](https://github.com/namnamir/domainia/blob/main/LICENSE).

⚠️ **Disclaimer**
Domainia tool is tool for legitimate purposes. Do not use it in any illegitimate or illegal activities.
