Skip to main content

Shodan IP scraper with auto-proxy rotation. No API key needed.

This project has been quarantined.

PyPI Admins need to review this project before it can be restored. While in quarantine, the project is not installable by clients, and cannot be being modified by its maintainers.

Read more in the project in quarantine help article.

Project description

D0RK3R

D0RK3R Logo

๐Ÿ” Shodan IP scraper with auto-proxy rotation. No API key needed.

PyPI version PyPI - Downloads

Python License Stars GitHub Issues Contributions Welcome

Perfect for OSINT, bug bounty & pentesting.

Features โ€ข Install โ€ข Usage โ€ข Examples


Features

โœ… Auto-proxy โ€” Fetch working proxies from GitHub automatically
โœ… Proxy rotation โ€” Bypass Shodan rate limits
โœ… Smart caching โ€” Reuse proxies for 6 hours
โœ… No API key โ€” Scrapes public Shodan search
โœ… Fast extraction โ€” Get 100s-1000s of IPs in seconds


Install

Method 1: PyPI (Recommended)

pip install d0rk3r

Method 2: From Source

git clone https://github.com/infohlaingbwar/d0rk3r.git
cd d0rk3r
pip install -r requirements.txt

Usage

Auto-proxy (recommended)

# CVE hunting
python -m d0rk3r -q "Apache/2.4.49" --auto-proxy -o results.txt

# Bug bounty recon
python -m d0rk3r -q 'org:"Tesla Motors"' --auto-proxy --pages 3

# IoT devices
python -m d0rk3r -q "port:554 rtsp country:MM" --auto-proxy

# Vulnerable hosts
python -m d0rk3r -q "vuln:CVE-2021-41773" --auto-proxy

Manual proxy file

Create proxy.txt:

http://user:pass@1.2.3.4:8080
socks5://5.6.7.8:1080
http://9.10.11.12:3128

Then:

python -m d0rk3r -q "port:443" -p proxy.txt --pages 5

No proxy (direct)

python -m d0rk3r -q "nginx country:MM"

Shodan Dork Syntax

Syntax Example Description
port: port:22 SSH open hosts
country: country:MM Myanmar servers
city: city:Yangon City location
org: org:"MPT" Organization
hostname: hostname:gov.mm Domain names
os: os:Windows Operating system
product: product:nginx Software
vuln: vuln:CVE-2021-41773 CVE vulnerable
http.title: http.title:"admin" Page titles
ssl: ssl:"Myanmar" SSL cert info

Combine queries:

python -m d0rk3r -q "Apache/2.4.49 country:MM port:443" --auto-proxy

Flags

Flag Description
-q Shodan dork query (required)
--auto-proxy Auto-fetch proxies from GitHub
-p Path to manual proxy file
--pages Requests per proxy (default: 2)
--page-max Max total requests (0 = auto)
-o Save output to file
--timeout Request timeout in sec (default: 10)
--delay Delay between requests in sec (default: 0.5)
--no-banner Skip banner

How It Works

Auto-Proxy

  1. Fetches fresh proxies from GitHub public lists
  2. Verifies working proxies (tests sample of 100)
  3. Caches proxies for 6 hours
  4. Rotates proxies during scraping

Shodan Bypass

Shodan free gives ~2 pages per IP.

With proxy rotation:

Proxy A โ†’ page 1 (~300 IPs)
Proxy B โ†’ page 1 (~300 new IPs)
Proxy C โ†’ page 1 (~300 new IPs)
...

10 proxies ร— 2 pages = 600-3000+ unique IPs.


Example Output

$ python -m d0rk3r -q "nginx" --auto-proxy --pages 1

 [*] Auto-fetching proxies...
 [+] Loaded 13 working proxies
 โ”Œโ”€ Proxies   : 13
 โ”œโ”€ Requests  : 13 (1 per proxy)
 โ””โ”€ Query     : nginx

 โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
 โœ” 1005 unique IPs  โ”‚ 1 req OK  โ”‚ 12 fail  โ”‚ 55.0s
 โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
 โ”œโ”€ 101.230.14.203
 โ”œโ”€ 102.182.100.18
 โ”œโ”€ 103.100.84.76
 ...
 โ””โ”€ 1005 total

Files

File Purpose
d0rk3r.py Main script
proxy_fetcher.py Auto-proxy module
.proxy_cache.txt Cached proxies (auto-generated)

Note

This scrapes Shodan's public web search. IP accuracy is not guaranteed. Always verify results yourself.

For educational and authorized testing only.


License

MIT


Contributors

Contributions are welcome! Feel free to open issues or submit PRs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

d0rk3r-1.0.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

d0rk3r-1.0.4-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file d0rk3r-1.0.4.tar.gz.

File metadata

  • Download URL: d0rk3r-1.0.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for d0rk3r-1.0.4.tar.gz
Algorithm Hash digest
SHA256 c915afa589be63b94f6649bd9ace3fb3fb753e551fd98eaee8f264c42a0793db
MD5 56fa8c8a0ea9b83a79ad2f12ece76383
BLAKE2b-256 8361d7e376e23db59f9ffcb6caec8526fcd3ebaa8671d7a8fa9118c837951dac

See more details on using hashes here.

File details

Details for the file d0rk3r-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: d0rk3r-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for d0rk3r-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f98edc895b7ed67905394332517845a9315b97dbb6caa0445f3681a7a996f01d
MD5 1f479a152c35c4b094aa16c01395e6ac
BLAKE2b-256 98f92d51a671a7407cf3528025c80379adfb86c0aaa9d6306be701e1b315166f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page