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

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.1.tar.gz (6.1 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.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for proxydns-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ea4cf261f427807debbd7d615009c9a8bc4f6f91bb9e562e7daaecca7692ceb4
MD5 e049beca8b6ca5d17bc3beba844922ad
BLAKE2b-256 d111b7862f1196782f4dc95a7a264c6c64f57c43f5ceef0f0641d23eea9a7ddb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for proxydns-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 416369ed9dcc4a21a456941fe8577705d4ddf84e009a47958ed6c2f36b305f80
MD5 ebc51eed864a306b0936802cf2e1e7b4
BLAKE2b-256 6404d2cb83dc2f85c64fe7b78ebf33ac1a9bdbf5c8f32f28b278627435f69771

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