Skip to content

Releases: RiadhBenlamine/SubX

v2.0.7

Choose a tag to compare

@RiadhBenlamine RiadhBenlamine released this 02 Aug 11:22

Changelog

All notable changes to SubX are documented in this file.

[2.0.7] - Major Performance & Pipeline Release

🌐 dnsx Integration & Stage Automated Pipeline

  • New DnsxTool Wrapper (tools/dnsx.py): Integrated ProjectDiscovery's dnsx binary for high-speed DNS A/CNAME record resolution.

  • Automated Workflow Pipeline:

    Discovered Subdomains --[dnsx: DNS Resolution]--> Resolved Subdomains (with IPs) --[httpx: HTTP Probing]--> Database & Export
    
  • DNS Pre-Filtering: Subdomains are resolved via dnsx first; non-resolving/dead domains are dropped in memory before touching httpx, eliminating redundant HTTP timeouts and reducing httpx probe time by >70%.

⚡Pipeline Performance Acceleration

  • dnsx high-performance defaults: concurrency set to 250 threads (-threads 250) with -retry 2.
  • httpx concurrency & timeout tuning: concurrency set to 100 threads (-threads 100) with a reduced 5s host timeout (-timeout 5) and capped retries (-retries 1).
  • Bulk database persistence: replaced individual per-row SQL UPDATE loops in StorageManager.update_results() with dialect-level bulk upserts (on_conflict_do_update). DB roundtrips for 1,000 subdomains reduced from 1,000 individual queries to 2 batch statements.

🐘 PostgreSQL Primary Database Engine

  • Default database upgrade: DEFAULT_DATABASE_URL changed to postgresql+asyncpg://postgres@127.0.0.1:5432/subx.
  • Active PostgreSQL configuration: updated config.yaml and config.yaml_sample to enable PostgreSQL by default (host: 127.0.0.1, port: 5432, user: postgres, dbname: subx).
  • Automated database bootstrapping: automatically checks and creates the PostgreSQL target database (subx) if missing, and initializes all SQLModel schema tables, unique constraints, and indexes.

[2.0.6] - Project Directory Customization

Custom --project Output Directory Support

Updated the --project / -p CLI flag across subx enum, subx http-probe, and subx db commands to accept an optional directory name:

subx enum -c config.yaml --project my_recon_output

Defaults to "projects" if specified without a path argument.

Auto-Discovery of config.yaml

Tool configurations (tools.dnsx, tools.httpx) are auto-loaded from local config.yaml or ~/.config/subx/config.yaml without requiring explicit -c flags on every subcommand.


[2.0.5] - CLI & Versioning Enhancements

  • ASCII banner versioning: embedded version string directly inside the ASCII banner.
  • Update checker: added automated update check when SubX is launched.

SubX 2.0.0

Choose a tag to compare

@RiadhBenlamine RiadhBenlamine released this 11 Jul 15:14