Added
- Packaged the project using `pyproject.toml` for installation via `pip` and
distribution on PyPI (as `nightcrawler`).
- Introduced a console script entry point: the `nightcrawler` command now wraps
`mitmdump` and loads the addon automatically.
- Added a **mandatory** command-line option `--nc-scope` to define the target
domain(s) for scanning and crawling (comma-separated).
- Implemented `--version` handling for the `nightcrawler` command to display the
package's own version alongside mitmproxy's version.
- Added basic addon lifecycle management using `running` and `done` hooks
(starting workers, closing shared HTTP client).
- Included basic `try...except` blocks in worker loops to improve resilience
against unexpected errors.
Changed
- **Major Refactor:** Restructured the single-script addon into multiple Python
modules (`addon.py`, `config.py`, `utils.py`, `passive_scanner.py`,
`crawler.py`, `sqli_scanner.py`, `xss_scanner.py`, `runner.py`) within a
`nightcrawler` package directory for better organization and maintainability.
- Internal imports updated to use absolute package paths (e.g.,
`from nightcrawler.utils import ...`).
Removed
- Removed the hardcoded `TARGET_SCOPE_DOMAINS` constant from `config.py`; scope
must now be provided via `--nc-scope`.