Metadata-Version: 2.4
Name: veiled-eye
Version: 3.1.0
Summary: Veiled Eye: identity investigation and OSINT correlation for e-mails, usernames, phone numbers and wallets, with a web UI, relationship graph and reports.
Author: Emre Köybaşı
Maintainer: Emre Köybaşı
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/emrekybs/veiled-eye
Project-URL: Source, https://github.com/emrekybs/veiled-eye
Project-URL: Issues, https://github.com/emrekybs/veiled-eye/issues
Keywords: osint,cti,maigret,sherlock,reconnaissance,threat-intelligence
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
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: Topic :: Security
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: aiohttp==3.14.1
Requires-Dist: beautifulsoup4==4.14.3
Requires-Dist: PySocks==1.7.1
Requires-Dist: httpx[http2]==0.28.1
Requires-Dist: fastapi==0.115.12
Requires-Dist: uvicorn[standard]==0.34.3
Requires-Dist: celery==5.6.2
Requires-Dist: requests[socks]==2.33.0
Requires-Dist: cloudscraper==1.2.71
Requires-Dist: chardet==3.0.4
Requires-Dist: bs4==0.0.1
Requires-Dist: cfscrape==2.1.1
Requires-Dist: tweepy==4.16.0
Requires-Dist: twikit==2.3.3
Requires-Dist: geopy==2.4.1
Requires-Dist: ddgs>=8.1.1
Requires-Dist: googlesearch-python>=1.3.0
Requires-Dist: socialscan==2.0.1
Requires-Dist: requests-futures==1.0.2
Requires-Dist: torrequest==0.1.0
Requires-Dist: holehe==1.61
Requires-Dist: thefuzz==0.22.1
Requires-Dist: redis==7.2.0
Requires-Dist: langdetect==1.0.9
Requires-Dist: TranslatorX==1.2
Requires-Dist: vaderSentiment==3.3.2
Requires-Dist: emailrep==0.0.5
Requires-Dist: stop_words==2025.11.4
Requires-Dist: spotipy==2.25.2
Requires-Dist: twitch-python==0.0.20
Requires-Dist: parse==1.21.1
Requires-Dist: browser-cookie3==0.20.1
Requires-Dist: google-api-python-client==2.190.0
Requires-Dist: youtube-transcript-api==1.2.4
Requires-Dist: requests_html==0.10.0
Requires-Dist: lxml_html_clean
Requires-Dist: fontawesome==5.10.1.post1
Requires-Dist: peopledatalabs==6.4.13
Requires-Dist: playwright==1.58.0
Requires-Dist: TikTokApi==7.3.1
Requires-Dist: w3lib==2.4.0
Requires-Dist: python-Levenshtein
Requires-Dist: maigret==0.6.6
Requires-Dist: user-scanner==1.5.2.2
Requires-Dist: gitsniff==1.0.2
Requires-Dist: crosslinked==0.3.0
Requires-Dist: phonenumbers==9.0.41
Requires-Dist: ignorant==1.2
Requires-Dist: pillow>=10.4
Requires-Dist: reportlab>=4.2
Requires-Dist: lxml>=5.3
Requires-Dist: dnspython==2.9.0
Provides-Extra: test
Requires-Dist: pytest==8.3.5; extra == "test"
Dynamic: license-file

<p align="center"><img src="imgs/veiled-eye-logo.png" width="140" alt="Veiled Eye"></p>
<h1 align="center">Veiled Eye</h1>
<p align="center"><em>Every shadow has a story.</em></p>

Identity investigation for OSINT and CTI. Give it an e-mail, username, phone
number or crypto wallet. It runs 46 sources in parallel, follows every lead
they return and correlates everything into one profile.

<p align="center"><img src="imgs/home.jpg" alt="Veiled Eye home"></p>

## Install

```shell
pipx install veiled-eye      # recommended
# or
pip install veiled-eye
```

### From source (without PyPI)

```shell
git clone https://github.com/emrekybs/veiled-eye
cd veiled-eye
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
```

or in one line, isolated: `pipx install git+https://github.com/emrekybs/veiled-eye`

## Run

```shell
veiled-eye serve             # web UI → http://127.0.0.1:4300
```

`serve` needs Redis. If `redis-server` is installed it is started for you,
otherwise run `docker run -d -p 6379:6379 redis:7-alpine`.

Prefer the terminal? No Redis needed:

```shell
veiled-eye scan johndoe
veiled-eye scan -e john.doe@acme-labs.io -x html,pdf --outdir case/
```

Other commands: `veiled-eye modules`, `veiled-eye doctor`, `veiled-eye proxies`.
Keys, cookies and the proxy list are set in the web UI under **API Keys**.

## What you get

**Username**

<p align="center"><img src="imgs/scan-username.jpg" alt="Username scan"></p>

**E-mail**

<p align="center"><img src="imgs/scan-email.jpg" alt="E-mail scan"></p>

**Phone**

<p align="center"><img src="imgs/scan-phone.jpg" alt="Phone scan"></p>

**Relationship graph**

<p align="center"><img src="imgs/graph.jpg" alt="Relationship graph"></p>

Exports: PDF / HTML report, STIX 2.1, GraphML, CSV, JSON.

## Docker

```shell
git clone https://github.com/emrekybs/veiled-eye && cd veiled-eye
docker compose up -d         # http://localhost:4300
```

## Responsible use

Investigate only people and organisations you are authorised to. Veiled Eye
reads public data; sessions you add are only used to read public profiles.

## License

GPL-3.0-or-later. See [LICENSE](LICENSE), [NOTICE](NOTICE) and
[CREDITS](CREDITS.md). By Emre Köybaşı.
