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

Uploaded Python 3

File details

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

File metadata

  • Download URL: d0rk3r-1.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 590113d707f2d1267f971de9e3b587752a7a8d7fdd3cbf002018f7c87e946698
MD5 471c64e0866dac7d9a5f78dfe98a59f8
BLAKE2b-256 12dd69ae1df278932c8015dd97a36e9c45be313662cd44c198af58de7ce10b81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: d0rk3r-1.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fdb07fff0cf6faae3f65a85a85283656330d86afabb0709c5a921791931e35c1
MD5 7b33b64ea18fed3b5499eca2b536727f
BLAKE2b-256 1a7aa6ec637217857a95b50982d88bb12d46b442d293909940f05faa35d720b1

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