Metadata-Version: 2.4
Name: farsight-recon
Version: 2.0.0
Summary: CLI-Based Recon and Threat Intelligence Framework
License: MIT
License-File: LICENSE
Keywords: osint,recon,reconnaissance,threat-intelligence,security,cli
Author: FARSIGHT Team
Author-email: contact@farsight-security.com
Requires-Python: >=3.10,<4.0
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Security
Requires-Dist: aiodns (>=3.4.0,<4.0.0)
Requires-Dist: aiohttp (>=3.14.1,<4.0.0)
Requires-Dist: beautifulsoup4 (>=4.11.1,<5.0.0)
Requires-Dist: click (<8.3)
Requires-Dist: dnspython (>=2.6.1)
Requires-Dist: dnstwist (>=20250130,<20250131)
Requires-Dist: gnews (>=0.4.1,<0.5.0)
Requires-Dist: idna (>=3.15)
Requires-Dist: markdown (>=3.3.7,<4.0.0)
Requires-Dist: pillow (>=12.2.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: python-whois (>=0.7.3,<0.8.0)
Requires-Dist: rapidfuzz (>=3.13.0,<4.0.0)
Requires-Dist: reportlab (>=4.0.4,<5.0.0)
Requires-Dist: requests (>=2.33.0,<3.0.0)
Requires-Dist: typer (>=0.16.0,<0.17.0)
Requires-Dist: urllib3 (>=2.7.0)
Project-URL: Documentation, https://github.com/seedon198/Farsight#readme
Project-URL: Homepage, https://farsight.click
Project-URL: Repository, https://github.com/seedon198/Farsight
Description-Content-Type: text/markdown

<div align="center">

<table>
<tr>
<td align="center" width="50%">

### DEFCON 34

<a href="https://sessionize.com/adlin-seedon-dsouza/">
<img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/appsecvillage-logo.png" alt="AppSec Village" height="64"/>
</a>

<sub>🗓️ Aug 6–9, 2026 &nbsp;•&nbsp; Las Vegas &nbsp;•&nbsp; Upcoming</sub>

**[Farsight: Turning OSINT into Actionable Attack Surface Intelligence](https://sessionize.com/adlin-seedon-dsouza/)**

</td>
<td align="center" width="50%">

### BLACKHAT 2025

<a href="https://www.blackhat.com/sector/2025/arsenal/schedule/index.html#farsight-cli-based-recon-and-threat-intelligence-framework-47707">
<img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/blackhat-logo.png" alt="Black Hat" height="64"/>
</a>

<sub>🎯 Oct 1–2, 2025 &nbsp;•&nbsp; Toronto &nbsp;•&nbsp; Presented</sub>

**[Arsenal: CLI-Based Recon and Threat Intelligence Framework](https://www.blackhat.com/sector/2025/arsenal/schedule/index.html#farsight-cli-based-recon-and-threat-intelligence-framework-47707)**

</td>
</tr>
</table>

</div>

<p align="center">
  <img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/logo.svg" alt="FARSIGHT Logo" width="100%"/>
</p>

# FARSIGHT

[![Python](https://img.shields.io/badge/Python-3.10+-blue?style=for-the-badge&logo=python)](https://python.org)
[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)
[![Stars](https://img.shields.io/github/stars/seedon198/Farsight?style=for-the-badge&cacheSeconds=3600)](https://github.com/seedon198/Farsight/stargazers)
[![CI](https://img.shields.io/github/actions/workflow/status/seedon198/Farsight/ci.yml?branch=main&style=for-the-badge&label=CI)](https://github.com/seedon198/Farsight/actions)
[![Last Commit](https://img.shields.io/github/last-commit/seedon198/Farsight?style=for-the-badge)](https://github.com/seedon198/Farsight/commits/main)

**A fast, modular CLI recon and threat-intelligence framework. Works with or without API keys.**

<p align="center">
  <img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/demo.gif" alt="FARSIGHT demo: scanning a domain from the CLI" width="100%"/>
</p>

## Features

- **Organization Discovery:** WHOIS, certificate transparency, passive DNS, related domains
- **Recon & Asset Discovery:** DNS enumeration, subdomain discovery, async port scanning
- **Threat Intelligence:** leak detection, credential exposure, dark web mentions, email reputation
- **Typosquatting Detection:** domain permutation, content similarity, risk scoring
- **News Monitoring:** relevance-scored news tracking across multiple sources
- **Reporting:** Markdown and PDF output with executive summaries
- **API-optional:** works out of the box; add keys (Shodan, Censys, VirusTotal, ...) for deeper results

## Install

```bash
pip install farsight-recon
```

(The PyPI distribution is named `farsight-recon` since `farsight` was already taken, but it installs the same `farsight` command.)

With [Poetry](https://python-poetry.org/):

```bash
poetry add farsight-recon
```

Or run from source:

```bash
git clone https://github.com/seedon198/Farsight.git
cd Farsight
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
```

Requires Python 3.10+.

## Usage

```bash
# Basic scan (org discovery + recon)
farsight scan example.com

# Everything, verbose
farsight scan example.com --all --verbose

# Specific modules, PDF output
farsight scan example.com -m org -m threat --output report.pdf
```

Running from source instead of a pip install? Swap `farsight` for `python -m farsight` in any command above.

Run `farsight scan --help` for the full option list.

## Web UI

A local-only web UI wraps the same scan modules with a live-progress browser view:

```bash
pip install -r requirements-web.txt
python -m farsight web
```

Opens a browser at `http://127.0.0.1:8000` with real-time module progress, live stats, and an in-browser report with Markdown/PDF download. Binds to loopback only — there's no authentication, so don't expose it beyond your own machine. Run `python -m farsight web --help` for options.

<p align="center">
  <img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/web-ui-scan.png" alt="FARSIGHT web UI: scan form with live stats" width="100%"/>
</p>

<table>
<tr>
<td width="55%"><img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/web-ui-graph.png" alt="FARSIGHT web UI: attack surface graph"/></td>
<td width="45%"><img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/web-ui-typosquat.png" alt="FARSIGHT web UI: typosquat watch grid"/></td>
</tr>
</table>

<p align="center">
  <img src="https://raw.githubusercontent.com/seedon198/Farsight/main/docs/assets/web-ui-report.png" alt="FARSIGHT web UI: in-browser report" width="100%"/>
</p>

## API Keys (optional)

FARSIGHT works with zero configuration. Set these for deeper results:

```bash
export FARSIGHT_SHODAN_API_KEY="..."
export FARSIGHT_CENSYS_API_KEY="..."
export FARSIGHT_SECURITYTRAILS_API_KEY="..."
export FARSIGHT_VIRUSTOTAL_API_KEY="..."
export FARSIGHT_INTELX_API_KEY="..."
export FARSIGHT_LEAKPEEK_API_KEY="..."
```

## Development

```bash
pip install -r requirements-dev.txt
pytest tests/
```

Contributions welcome: fork, branch, open a PR.

## License

MIT. See [LICENSE](LICENSE).

## Disclaimer

For authorized security assessments only. Always get permission before scanning a domain or network you don't own.

