Skip to main content

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!

Metadata

Release files for hey403 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hey403 1.2.0
File Size Uploaded Provenance Actions
hey403-1.2.0.tar.gz 14.2 kB Without provenance Details for hey403-1.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hey403 1.2.0
File Interpreter ABI Platform Actions
hey403-1.2.0-py3-none-any.whl Python 3 none any Details for hey403-1.2.0-py3-none-any.whl

Total release size: 26.7 kB

Release files / hey403-1.2.0.tar.gz

Download URL hey403-1.2.0.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
30ad2b0385c074f80f65ddfe934ce2d865450d3c7b6956690fe28bcdb22af5cd
BLAKE2b-256 checksum
How to use checksums
1e42e990a4325bd10df057d508a00738377630643716957fc025f74fcb353850
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.0

Release files / hey403-1.2.0-py3-none-any.whl

Download URL hey403-1.2.0-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fd2020d66ac89013a54c33adf35eed334ed322e8a8719195a2f119343278339
BLAKE2b-256 checksum
How to use checksums
dc1b2e4fcc8e2e4a355f79a23362b1b6a98342d355f41ac14eff27f0a584e17c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.0

Security for hey403 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page