Releases: RiadhBenlamine/SubX
Release list
v2.0.7
Changelog
All notable changes to SubX are documented in this file.
[2.0.7] - Major Performance & Pipeline Release
🌐 dnsx Integration & Stage Automated Pipeline
-
New
DnsxToolWrapper (tools/dnsx.py): Integrated ProjectDiscovery'sdnsxbinary 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
dnsxfirst; non-resolving/dead domains are dropped in memory before touchinghttpx, eliminating redundant HTTP timeouts and reducinghttpxprobe 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
UPDATEloops inStorageManager.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_URLchanged topostgresql+asyncpg://postgres@127.0.0.1:5432/subx. - Active PostgreSQL configuration: updated
config.yamlandconfig.yaml_sampleto 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_outputDefaults 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
Full Changelog: https://github.com/RiadhBenlamine/SubX/commits/2.0.0