Skip to content

🗺 Roadmap #13

@Mohammad222PR

Description

@Mohammad222PR

Hey 403 Project Roadmap

Welcome to the Hey 403 project roadmap! This document outlines planned features, improvements, and tasks to enhance the CLI tool for diagnosing domain accessibility issues. Contributions are welcome—check the Contributing Guide for details.

Core Features

These features enhance the core functionality of Hey 403, focusing on usability and diagnostics.

  • Output Formats (JSON, CSV, YAML)
    Description: Add --output FORMAT option to save test results in JSON, CSV, or YAML formats for easier analysis in external tools.
    Priority: High
    Complexity: Low
    Tasks:

    • Add argparse option for --output.
    • Implement saving with json, csv, or yaml libraries.
    • Update documentation with examples (e.g., hey403 example.com --output json).
  • Detailed Statistics
    Description: Add --stats flag to display metrics like mean, median, and standard deviation of DNS response times.
    Priority: Medium
    Complexity: Low
    Tasks:

    • Use statistics module for calculations.
    • Integrate with rich for formatted output.
    • Test with multiple DNS providers.
  • Batch Domain Testing
    Description: Support testing multiple domains via --file domains.txt for bulk analysis.
    Priority: High
    Complexity: Medium
    Tasks:

    • Parse input file with domain list.
    • Process domains in parallel using concurrent.futures.
    • Summarize results in a table or file.

Advanced Features

These features extend Hey 403 for professional use cases and advanced diagnostics.

  • Deep HTTP/HTTPS Testing
    Description: Enhance HTTP checks to analyze response headers and content for signs of censorship or geo-blocking.
    Priority: High
    Complexity: Medium
    Tasks:

    • Extend requests usage to parse headers like Server or X-Country-Block.
    • Add --http-details flag for verbose output.
    • Handle edge cases (e.g., timeouts, redirects).
  • Proxy and Tor Support
    Description: Add --proxy and --tor options to test domains via proxies or Tor for privacy and geo-restriction analysis.
    Priority: Medium
    Complexity: High
    Tasks:

    • Integrate requests with socks5 for proxy support.
    • Test Tor integration with torpy or similar.
    • Update documentation for proxy setup.
  • Scheduled Testing
    Description: Add --schedule INTERVAL for periodic testing with results logged or sent via webhook/email.
    Priority: Medium
    Complexity: High
    Tasks:

    • Use apscheduler for scheduling.
    • Implement webhook/email notifications with requests or smtplib.
    • Add --history to store results locally (e.g., SQLite).

Development & Maintenance

These tasks focus on improving the project’s maintainability and community engagement.

  • Plugin System
    Description: Allow users to add custom DNS providers or test modules via a plugin architecture.
    Priority: Low
    Complexity: High
    Tasks:

    • Design plugin system using importlib.
    • Create example plugins for custom DNS providers.
    • Document plugin creation process.
  • Multilingual Support
    Description: Localize CLI messages (e.g., English, Persian) using gettext.
    Priority: Medium
    Complexity: Medium
    Tasks:

    • Set up gettext for translations.
    • Add Persian translations for CLI output.
    • Test with non-English locales.
  • Comprehensive Unit Tests
    Description: Expand test suite to cover edge cases (e.g., offline DNS, invalid domains).
    Priority: High
    Complexity: Medium
    Tasks:

    • Add tests for new features in tests/.
    • Use pytest mocks for DNS and HTTP responses.
    • Aim for >80% test coverage.
  • Interactive Documentation
    Description: Build interactive docs with mkdocs or Sphinx and host on GitHub Pages.
    Priority: Low
    Complexity: Low
    Tasks:

    • Set up mkdocs with a theme.
    • Generate API docs from code comments.
    • Deploy to GitHub Pages.

How to Contribute

  • Pick a task from this roadmap.
  • Check the Contributing Guide for setup and PR guidelines.
  • Open an issue to discuss your idea or claim a task.
  • Submit a pull request with your changes.

Notes

  • Priorities: High (critical for next release), Medium (valuable but not urgent), Low (nice-to-have).
  • Complexity: Low (1-2 days), Medium (3-5 days), High (1-2 weeks).
  • Feedback: Have ideas? Open an issue on GitHub!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions