_    __     _ _     _    _       _ 
   | |  / /__ _| | |__ | |  (_)___  | |
   | | / / _ ` | | '_ | |  | / __| | |
   | |/ /  __/ | | |_) | |__| __  |_|
   |_/_/ ___|_|_|_.__/ ____|___/ (_)
        

High-Performance DoH Proxy

Developed and designed by darkcodeit

🚀 Your DoH Endpoint

Use this URL as your DNS-over-HTTPS resolver

https://dohp1.aester.top/dns-query

Lightning Fast

Leverages Cloudflare's global edge network for minimal latency and maximum performance.

🔄

Load Balancing

Intelligently distributes requests across multiple DNS providers based on configurable weights.

🛡️

Automatic Failover

Seamlessly switches to backup providers when primary ones experience issues.

📡 Supported DNS Providers

This proxy supports both general DNS providers and ad-blocking focused providers for enhanced privacy and security.

cloudflare
20%
https://cloudflare-dns.com/dns-query
google
15%
https://dns.google/dns-query
quad9
15%
https://dns.quad9.net/dns-query
opendns
10%
https://doh.opendns.com/dns-query
adguard
10%
https://dns.adguard.com/dns-query
controld
10%
https://freedns.controld.com/p2
mullvad
10%
https://adblock.dns.mullvad.net/dns-query
nextdns
10%
https://dns.nextdns.io/dns-query

🔧 Usage Examples

Use this worker as a DoH endpoint:

GET Requests

For GET requests, the DNS query must be base64url-encoded as per the RFC 8484 specification:

GET /dns-query?dns=<base64url-encoded-dns-query>

Why base64url encoding?

Detailed DNS Encoding Explanation

Example with curl:

curl "https://dohp1.aester.top/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB"

POST Requests

For POST requests, the DNS query is sent as binary data in the request body:

POST /dns-query
Content-Type: application/dns-message
<binary-dns-query>

Example with curl:

curl -H "Content-Type: application/dns-message" \
     --data-binary @query.dns \
     https://dohp1.aester.top/dns-query

Using Without Base64 Encoding

To avoid base64 encoding entirely, use POST requests with the Content-Type: application/dns-message header. The DNS query is sent as raw binary data in the request body:

curl -H "Content-Type: application/dns-message" \
     --data-binary @query.dns \
     https://dohp1.aester.top/dns-query

⚙️ Configuration

This worker automatically balances requests across multiple DNS providers based on the configured weights. All DNS responses are cached for 5 minutes to improve performance.

For CORS support, the worker includes the following headers in all responses:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type, Accept
Endpoint URL copied to clipboard!