Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

DoH Scanner

Scrapes a list of DNS-over-HTTPS (DoH) providers from curl's DNS-over-HTTPS wiki and tests each one against a set of domains, ranking them by success count and average response time.

Usage

python3 doh_scanner.py

Options

Flag Default Description
--timeout N 5 Socket timeout per query (seconds)
--parallel N 20 Providers to test simultaneously

Configuration

Edit the variables at the top of the script:

DOMAINS = ["x.com", "youtube.com", "reddit.com", "discord.com", "gemini.google.com", "kimi.com"]
DOH_TIMEOUT = 5   # seconds per query
PARALLEL = 20     # providers tested at once

How It Works

  1. Scrape — Fetches the DoH provider list from curl's GitHub wiki
  2. Deduplicate — Removes duplicate URLs
  3. Test — For each provider, resolves all domains sequentially using daemon threads with a hard timeout (DNS resolution, TCP, TLS, and HTTP all bounded)
  4. Rank — Filters out providers with 0 successes, then sorts by success count (descending) then average ping (ascending)

Requirements

  • Python 3.x
  • No external dependencies — uses only the standard library (urllib, json, threading, concurrent.futures)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages