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!
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 FORMAToption to save test results in JSON, CSV, or YAML formats for easier analysis in external tools.Priority: High
Complexity: Low
Tasks:
argparseoption for--output.json,csv, oryamllibraries.hey403 example.com --output json).Detailed Statistics
Description: Add
--statsflag to display metrics like mean, median, and standard deviation of DNS response times.Priority: Medium
Complexity: Low
Tasks:
statisticsmodule for calculations.richfor formatted output.Batch Domain Testing
Description: Support testing multiple domains via
--file domains.txtfor bulk analysis.Priority: High
Complexity: Medium
Tasks:
concurrent.futures.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:
requestsusage to parse headers likeServerorX-Country-Block.--http-detailsflag for verbose output.Proxy and Tor Support
Description: Add
--proxyand--toroptions to test domains via proxies or Tor for privacy and geo-restriction analysis.Priority: Medium
Complexity: High
Tasks:
requestswithsocks5for proxy support.torpyor similar.Scheduled Testing
Description: Add
--schedule INTERVALfor periodic testing with results logged or sent via webhook/email.Priority: Medium
Complexity: High
Tasks:
apschedulerfor scheduling.requestsorsmtplib.--historyto 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:
importlib.Multilingual Support
Description: Localize CLI messages (e.g., English, Persian) using
gettext.Priority: Medium
Complexity: Medium
Tasks:
gettextfor translations.Comprehensive Unit Tests
Description: Expand test suite to cover edge cases (e.g., offline DNS, invalid domains).
Priority: High
Complexity: Medium
Tasks:
tests/.pytestmocks for DNS and HTTP responses.Interactive Documentation
Description: Build interactive docs with
mkdocsorSphinxand host on GitHub Pages.Priority: Low
Complexity: Low
Tasks:
mkdocswith a theme.How to Contribute
Notes