Metadata-Version: 2.4
Name: goeyewitnesscategorizer
Version: 0.1.2
Summary: Parse GoWitness SQLite results and categorize HTML using EyeWitness-style signatures to produce a CSV report.
Project-URL: Homepage, https://github.com/DefensiveOrigins/goeyewitnesscategorizer
Project-URL: Source, https://github.com/DefensiveOrigins/goeyewitnesscategorizer
Project-URL: Issues, https://github.com/DefensiveOrigins/goeyewitnesscategorizer/issues
Author-email: Defensive Origins <info@defensiveorigins.com>
Keywords: categorization,eyewitness,gowitness,reconnaissance,security,web
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Security
Requires-Python: >=3.8
Requires-Dist: pandas>=1.0
Description-Content-Type: text/markdown

# goeyewitnesscategorizer
goeyewitnesscategorizer

# GoWitness + EyeWitness HTML Matcher

This tool parses a GoWitness SQLite database and cross-references HTML content from discovered web interfaces against EyeWitness-style category and default credentials signature files. It produces a CSV report mapping each web interface to a category and potential default credentials.

## 🔧 Features

- Match HTML against EyeWitness-style pattern signatures.
- Assign a **category** and **default credentials** to each matched entry.
- Output a clean, filterable **CSV report**.
- CLI-driven with clear arguments.

## Install via PIP
```
pip install goeyewitnesscategorizer
# then use "goeyewitnesscategorizer"
```

## 🗃️ Input Files

### 1. GoWitness SQLite DB
- Typically named `gowitness.sqlite`
- Must contain a `results` table with `url`, `title`, and `html` columns

### 2. `categories.txt`
- Format:  ```string1;string2;...|CategoryName```
- All strings must appear in the HTML for the category to be assigned.

### 3. `signatures.txt`
- Format:  ```string1;string2;...|username:password or other default cred format```

- - All strings must match for the full value after the pipe (`|`) to be recorded in the **Default Credentials** column.

## categoriy and creds/signatures files
You can make your own, or rely on work done with the eyewitness project to get you started quickly
```bash
wget https://raw.githubusercontent.com/RedSiege/EyeWitness/refs/heads/master/Python/signatures.txt
wget https://raw.githubusercontent.com/RedSiege/EyeWitness/refs/heads/master/Python/categories.txt
```

## 📤 Output

- CSV report (default: `gowitness_report.csv`) with the following columns:
- `URL`
- `Title`
- `Category`
- `Default Credentials`

## 🚀 Usage

```bash
python goeyewitnesscategorizer.py \
--db gowitness.sqlite \
--categories categories.txt \
--creds signatures.txt \
--output output_report.csv

# OR with pip
goeyewitnesscategorizer \
--db gowitness.sqlite \
--categories categories.txt \
--creds signatures.txt \
--output output_report.csv
```

## Requirements
* Python 3.7+
*  pandas

### Install Requirements 
*  pip install pandas

