Skip to main content

Resolves DNS names using a custom server before routing traffic through a proxy.

Project description

ProxyDNS

ProxyDNS is a CLI tool that creates a local proxy server with custom DNS resolution capabilities. It resolves domain names using your specified DNS servers before forwarding traffic through an upstream proxy, ensuring DNS queries are handled exactly where and how you want them.

This tool is particularly valuable when you need to:

  • Perform DNS resolution in a specific geographic location
  • Use custom DNS servers for security or privacy reasons
  • Bypass DNS resolution issues that occur with certain proxies
  • Maintain control over the DNS resolution process in your proxy chain

Built on mitmproxy for robust traffic handling and dnspython for reliable DNS operations.

Key Features

  • Custom DNS Resolution: Use any DNS servers you specify (Google, Cloudflare, private servers, etc.)
  • Multi-Protocol Proxy Support: Forward through HTTP, HTTPS, or SOCKS5 upstream proxies
  • Intelligent Caching: TTL-based DNS response caching for improved performance
  • Flexible Authentication: Support for both local proxy auth and upstream proxy credentials
  • Configurable Timeouts: Adjust DNS query timeouts to match your network conditions

Quick Start

# Basic usage with Google DNS and upstream proxy
proxydns --listen-host localhost \
         --listen-port 9000 \
         --dns-servers 8.8.8.8,1.1.1.1 \
         --proxy http://remote-proxy:8080 \
         --verbose

# Test your setup
curl -x http://localhost:9000 http://ip-api.com/json

How It Works

  1. Local Proxy Setup: Creates a local proxy server listening on your specified host/port
  2. DNS Resolution: Intercepts domain name requests and resolves them using your custom DNS servers
  3. Traffic Forwarding: Routes the resolved connections through your specified upstream proxy
  4. Authentication Handling: Manages credentials for both local and remote proxy authentication as needed

This approach gives you complete control over both DNS resolution and proxy routing in a single, streamlined tool.

Installation

pipx install proxydns

Uninstall

pipx uninstall proxydns
pip uninstall proxydns

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

proxydns-0.0.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxydns-0.0.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file proxydns-0.0.2.tar.gz.

File metadata

  • Download URL: proxydns-0.0.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for proxydns-0.0.2.tar.gz
Algorithm Hash digest
SHA256 cb58bd512a1fdd45f9c9c1e1666113bdfb74343d0956351d2cb97f2d39e985cd
MD5 5533e27b09283d6c53709521915e014d
BLAKE2b-256 60e5eb04ca5b6588c93d42db427ec07193064b7da2f4f9984e5cc2208581e00f

See more details on using hashes here.

File details

Details for the file proxydns-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: proxydns-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for proxydns-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f19d10fbfe74c111426a52ba68d4e64b1c1315ff02df2e8cc351427ed2dc2dc3
MD5 d1de33caa62f92eb7e2aff5372ddfb1f
BLAKE2b-256 2fbdfb29df5fc3399b1f084a73602d1d0ddb9ff899e06a700d953f2bd0a932eb

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