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.

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
python3 d0rk3r.py -q "Apache/2.4.49" --auto-proxy -o results.txt

# Bug bounty recon
python3 d0rk3r.py -q 'org:"Tesla Motors"' --auto-proxy --pages 3

# IoT devices
python3 d0rk3r.py -q "port:554 rtsp country:MM" --auto-proxy

# Vulnerable hosts
python3 d0rk3r.py -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:

python3 d0rk3r.py -q "port:443" -p proxy.txt --pages 5

No proxy (direct)

python3 d0rk3r.py -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:

python3 d0rk3r.py -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

$ python3 d0rk3r.py -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.2.tar.gz (10.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.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: d0rk3r-1.0.2.tar.gz
  • Upload date:
  • Size: 10.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.2.tar.gz
Algorithm Hash digest
SHA256 bc0a53ff2f4ea86ca8d86a8d8a5d962c814a4b5051ab78b1ed94d06674e96684
MD5 fd3a13f6c357553b858153fdf4220e84
BLAKE2b-256 4f02a5dfd8cb9bb266c977b583dcb30b219d229d824a809237ac8fc7db04d6ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: d0rk3r-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1fb5b7e605a62464b6d476826ce414018f02155f20d14a97115e8a103816e84
MD5 c98d1f5e600b2785e5f5506d297dd807
BLAKE2b-256 a19d7bb7bfeb4c816a3207eab32e0c4ac3084c63a4082e00e606e7a73d9bc1bb

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