Skip to content

refactor: professional restructuring, modular plugin system, and high-performance brute-force integration#1

Open
PNP-MA wants to merge 2 commits into
DarkSuite:mainfrom
PNP-MA:main
Open

refactor: professional restructuring, modular plugin system, and high-performance brute-force integration#1
PNP-MA wants to merge 2 commits into
DarkSuite:mainfrom
PNP-MA:main

Conversation

@PNP-MA

@PNP-MA PNP-MA commented Apr 23, 2026

Copy link
Copy Markdown

This PR represents a major evolution of DarkScout, transforming it from a simple script into a professional, modular framework for
subdomain enumeration. The architecture has been completely overhauled to follow SOLID principles, DRY patterns, and modern Rust best
practices.

🚀 Key Changes

  • Professional Folder Restructuring: Organized the codebase into dedicated modules (plugins, models, io, utils, browser, bruteforce,
    args, errors) to ensure high maintainability and a clean src root.
  • Modular Plugin System: Introduced a trait-based Plugin system with a centralized PluginRegistry. This allows for seamless integration
    of new OSINT sources.
  • High-Performance Brute Force: Integrated a new asynchronous brute-force engine using trust-dns-resolver and tokio::sync::Semaphore for
    ultra-fast, thread-safe DNS resolution with controlled concurrency.
  • Advanced Error Handling: Replaced generic error types with a structured DarkScoutError enum using the thiserror crate, providing
    context-aware feedback for network, parsing, and authentication issues.
  • Polished UI/UX:
    • Concurrent MultiProgress bars for simultaneous plugin execution.
    • Professional terminal styling using console (colors, emojis, and a modern ASCII logo).
    • Clean, deduplicated, and sorted final results output.
  • Enhanced CLI Interface:
    • -p / --plugins: Select specific plugins to run.
    • -l / --list: List all available plugins and their current status (enabled/disabled).
    • -w / --wordlist: Support for single files, multiple files, or entire directories for brute forcing.
    • -c / --concurrency: User-defined concurrency levels for brute-forcing.
  • New OSINT Sources: Added WaybackArchive and BeVigil plugins to expand discovery capabilities.
  • Request Centralization: Created a Browser module to manage reqwest clients, headers (User-Agents), and timeouts consistently across all
    plugins.

🛠️ Technical Improvements

  • Concurrency Control: Implemented a Semaphore to limit concurrent plugins to 3 at a time, preventing terminal flickering and redraw
    artifacts.
  • Deduplication: Added a rigorous normalization and deduplication pipeline to ensure unique, clean results.
  • Production Ready: Fixed all compiler warnings (dead_code, unused_imports) and updated .gitignore and README.md to professional
    standards.

✅ Verification

  • Successfully tested full scans on google.com and hackthissite.org.
  • Verified individual plugin execution and error handling.
  • cargo check and cargo build run with 0 warnings/errors.

PNP-MA added 2 commits April 23, 2026 13:49
…integration

- Restructured project into modular directories (plugins, models, io, utils, browser, bruteforce)
- Implemented a trait-based Plugin system with a registry for OSINT sources
- Added new OSINT plugins: WaybackArchive and BeVigil
- Integrated high-performance async DNS brute-forcing using trust-dns-resolver
- Added structured error handling with custom DarkScoutError types
- Enhanced CLI UI with concurrent progress bars, colors, and emojis
- Moved argument parsing to a dedicated args.rs module
- Added -p (plugin selection), -l (list plugins), -w (wordlist), and -c (concurrency) flags
- Updated README.md and .gitignore for professional standards
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant