Skip to main content

DNS accessibility testing tool for identifying 403 errors and network restrictions

Project description

Hey 403 - CLI Edition

⚡ A Command-Line DNS Accessibility Testing Tool ⚡

Hey 403 is a powerful Python-based CLI utility designed to diagnose domain accessibility issues across multiple DNS providers. Whether you're a developer, network administrator, or security enthusiast, Hey 403 helps you quickly identify geo-restrictions, DNS inconsistencies, and connectivity problems.


Key Features

  • Global DNS Testing: Test domain accessibility with 15+ preconfigured DNS servers from providers like Google, Cloudflare, and more.
  • Error Detection: Detect 403 Forbidden, censorship blocks, and other HTTP errors.
  • Performance Insights: Measure and compare DNS resolution times across providers.
  • DNS Management: Set or unset DNS configurations directly from the CLI.
  • Parallel Execution: Run concurrent tests for faster results.
  • Rich Output: Enjoy colorful, formatted output with the rich library.

Installation

Install Hey 403 easily via PyPI:

pip install hey403

Requirements

  • Python 3.8+
  • Dependencies: rich, requests, dnspython (automatically installed via pip)

Quick Start

After installation, check the available options:

hey403 --help

Test a domain right away:

hey403 example.com

Usage Examples

Here’s how you can use Hey 403:

Test Domain Accessibility

Check how a domain resolves across multiple DNS providers:

hey403 example.com

Set the Best DNS

Automatically set the fastest working DNS for your system:

hey403 example.com --set

View Current DNS

Display your system’s current DNS settings:

hey403 -c

Unset Custom DNS

Revert to your system’s default DNS:

hey403 --unset

Command-Line Options

Option Description
-h, --help Show help message and exit
-c, --current-dns Display current DNS settings
--set Set the fastest DNS from successful tests
--unset Remove custom DNS and revert to default
--url URL Specify an alternate URL to test

Run hey403 --help for full details.


Why Hey 403?

  • Instant Diagnostics: Identify DNS issues in seconds.
  • Global Reach: Test with DNS servers worldwide.
  • User-Friendly: Clean, colorful CLI output.
  • Customizable: Manage DNS settings on the fly.

Contributing

We welcome contributions! To get started:

  1. Install the package in editable mode with dev dependencies:
    pip install -e .[dev]
    
  2. Run tests:
    pytest tests/ -v
    
  3. Submit your changes via a pull request on GitHub.

See our Contributing Guide for more details.


License

Hey 403 is licensed under the MIT License. Feel free to use, modify, and distribute it responsibly.


Notes

  • Responsible Use: Always comply with local laws and regulations when testing domains.
  • Feedback: Have suggestions? Open an issue on GitHub!

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

hey403-1.2.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

hey403-1.2.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file hey403-1.2.0.tar.gz.

File metadata

  • Download URL: hey403-1.2.0.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for hey403-1.2.0.tar.gz
Algorithm Hash digest
SHA256 30ad2b0385c074f80f65ddfe934ce2d865450d3c7b6956690fe28bcdb22af5cd
MD5 4634c25cc67af4d18471a0a4990d78a5
BLAKE2b-256 1e42e990a4325bd10df057d508a00738377630643716957fc025f74fcb353850

See more details on using hashes here.

File details

Details for the file hey403-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: hey403-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for hey403-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fd2020d66ac89013a54c33adf35eed334ed322e8a8719195a2f119343278339
MD5 565eb9e64fd6446f2b4a4e7af08c4dd5
BLAKE2b-256 dc1b2e4fcc8e2e4a355f79a23362b1b6a98342d355f41ac14eff27f0a584e17c

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