webpeek
OSINT CLI tool for web reconnaissance - gather passive and active information about websites.
Installation
From PyPI (recommended when published)
pip install webpeek
From GitHub
pip install git+https://github.com/JorgeRosbel/webpeek.git
Local development
git clone https://github.com/JorgeRosbel/webpeek.git
cd webpeek
pip install -e .
Usage
# Basic scan
webpeek example.com
# Hybrid mode (active + passive)
webpeek example.com -H
# Passive only
webpeek example.com -P
# Active only
webpeek example.com -A
# Dynamic mode (for JavaScript sites)
webpeek example.com -H -y
# Specific modules
webpeek example.com -T -l -e -p
# Save to file
webpeek example.com -H -oN result.txt
# Without colors
webpeek example.com -C
# Help
webpeek --help
Options
| Short | Flag | Description |
|---|---|---|
-H |
--hybrid |
Run both active and passive modules |
-A |
--active |
Run all active modules |
-P |
--passive |
Run all passive modules |
-y |
--dynamic |
Use headless browser (Playwright) |
-oN |
--output |
Save output to file |
-C |
--no-color |
Disable colors |
-v |
--verbose |
Verbose output |
Passive Modules
Gather information from public sources without connecting directly to the target.
| Short | Flag | Description |
|---|---|---|
-w |
--whois |
Domain registration info |
-d |
--dns |
DNS A records |
-m |
--mx |
MX records |
-t |
--txt |
TXT records (SPF, DKIM) |
-S |
--subdomains |
Find subdomains |
Active Modules
Gather information by connecting directly to the target.
| Short | Flag | Description |
|---|---|---|
-h |
--headers |
HTTP headers |
-c |
--security |
Security headers |
-T |
--tech |
Detect technologies |
-W |
--wplugins |
WordPress plugins |
-s |
--ssl |
SSL certificate info |
-g |
--geo |
Geolocation |
-O |
--os |
OS detection |
-i |
--title |
Page title |
-D |
--description |
Meta description |
-e |
--emails |
Extract emails |
-p |
--phones |
Extract phone numbers |
-M |
--sitemap |
Sitemap URLs |
-r |
--robots |
Robots.txt |
-l |
--social |
Social networks |
Dynamic Mode
Use -y for JavaScript-rendered sites (React, Vue, Angular, etc.):
webpeek example.com -T -y
First time using dynamic mode will download Chromium (~150MB).
Example Output
╔════════════════════════════════════════════════════════╗
║ 🌐 WEBPEEK v1.3.5 - example.com ║
╚════════════════════════════════════════════════════════╝
📡 PASSIVE MODE
─────────────────────
◉ WHOIS:
└─ Registrar: NameCheap, Inc.
└─ Created: 2025-12-14
└─ Expires: 2026-12-14
◉ DNS:
└─ 93.184.216.34
⚡ ACTIVE MODE
─────────────────────
◉ IP:
└─ 93.184.216.34
◉ Geo:
└─ US, California (Cloudflare, Inc.)
◉ Technologies:
└─ Cloudflare
└─ Nginx
◉ SSL:
└─ example.com (expires in 90 days)
╔════════════════════════════════════════════════════════╗
║ Scan complete! ║
╚════════════════════════════════════════════════════════╝
Uninstall
pip uninstall webpeek
License
MIT
Metadata
Release files for webpeek 1.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| webpeek-1.3.5.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| webpeek-1.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.5 kB
Release files / webpeek-1.3.5.tar.gz
| Download URL | webpeek-1.3.5.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67e1c33fe84674b9b87497e3c75d3f08a0c6e8797d097792f087e29e995d0c31
|
|
BLAKE2b-256 checksum How to use checksums |
6e487a0896373d76e73b13ebe1bed48b2302ac6a00f34fb8bf09023f176102d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 30, 2026.
Transparency logRelease files / webpeek-1.3.5-py3-none-any.whl
| Download URL | webpeek-1.3.5-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
845e7cc6c47c9f5fc42efe04a2c1875fe4db78ba5f977eba09f91d12a92b13ad
|
|
BLAKE2b-256 checksum How to use checksums |
3bc299a8c4ce2b73c907fc6f9044ccc2457920be454bc4a4d4b873164101051a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 30, 2026.
Transparency log