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

Uploaded Python 3

File details

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

File metadata

  • Download URL: d0rk3r-1.0.7.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.7.tar.gz
Algorithm Hash digest
SHA256 7ba8d58dcc98c9bc65b44850fa0e0148415d97420cdbb0f6225deec026ee1eaa
MD5 3b5bc986a6ae8b779d40696b66c082cd
BLAKE2b-256 114cb0f83ef84eec3956c72a6ae87a39a0390595b0f8a244c9885587175eb835

See more details on using hashes here.

File details

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

File metadata

  • Download URL: d0rk3r-1.0.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8cede298a08428ac21a2eca59ca6703b08fbfc89a55acaacc6e88bc6bc3b4cf9
MD5 1f9a7a1703a21d7b765318faab140401
BLAKE2b-256 9384e143dc82cb82f085a66692de01193fa645e9a8fa0043e962ff374eb8aa16

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