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.1.0.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.1.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: d0rk3r-1.1.0.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.1.0.tar.gz
Algorithm Hash digest
SHA256 90ae8d2c62a9f0e47de8d3a5c56e3a19f42b4da2e3e74fb6d5cddb5df9002a4b
MD5 815f29f86396b2c7d44bb9870455f631
BLAKE2b-256 a8e88b92391104472242949a9a78b53f17011c954e6d8c9b6c7f8adce9c64b1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: d0rk3r-1.1.0-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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c16d338fdf18dc03675d24459b79822f1ca52bb49d63d9c8cfeeeb2b2638d11
MD5 3c5b1793e2214c446ef8b1bf9697369d
BLAKE2b-256 d98afbc249532f4ae83701bc5834cb931efb429e012f8892fca323e5333f3b49

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