Skip to content

multi threading support

alzzdev edited this page Jun 12, 2026 · 1 revision

Multi-Threading Support

Atdork supports parallel batch processing to significantly speed up large dork campaigns.
Instead of running queries one by one, you can execute multiple searches simultaneously using configurable worker threads.


How It Works

  1. A thread pool is created with the number of workers you specify.
  2. Each query from your batch is submitted to a worker thread.
  3. Results are collected as soon as each thread finishes, and the progress bar updates in real time.
  4. If too many consecutive failures occur (e.g., proxies exhausted, rate limits hit), Atdork automatically falls back to sequential mode to prevent total failure.

Commands & Flags

Flag Description Default
--concurrency N Number of parallel threads to use for batch processing. 1 (sequential)
--max-fallback-failures N Number of consecutive failures before switching to sequential mode. 3

Basic Usage

Sequential (default, no flag)

python main.py --batch-file dorks.txt -r 20

Multi‑threaded (5 workers)

python main.py --batch-file dorks.txt --concurrency 5 -r 20

Multi‑threaded with custom fallback threshold

python main.py --batch-file dorks.txt --concurrency 5 --max-fallback-failures 10

How Fallback Works

When Atdork encounters repeated failures in parallel mode:

  1. The tool counts consecutive failures (not total failures).
  2. Once the count reaches --max-fallback-failures (default 3), all pending threads are cancelled.
  3. Remaining queries are executed sequentially one by one.

Why?
Parallel queries with failing proxies or blocked IPs can overwhelm the system.
Fallback ensures that no query is lost, even if the parallel phase collapses.


Performance Tips

  • Start with 3‑5 threads and increase gradually.
  • Always use proxies when running many concurrent queries:
    python main.py --batch-file dorks.txt --concurrency 5 --proxy-file proxies.txt
  • Combine with --delay to avoid rate limits:
    python main.py --batch-file dorks.txt --concurrency 5 --delay 1.5
  • Use --debug to monitor thread behavior:
    python main.py --batch-file dorks.txt --concurrency 3 --debug

Example: Large Bug Bounty Scan

python main.py \
  --batch-file all_dorks.txt \
  --concurrency 8 \
  --max-fallback-failures 5 \
  --proxy-file premium_proxies.txt \
  --strict \
  --delay 2 \
  --retries 3 \
  --format json \
  -o bounty_results.json
  • 8 workers run in parallel.
  • If 5 consecutive failures happen, fallback to sequential.
  • Strict mode prevents IP leaks.
  • Results saved as a single JSON file.

Related Pages

Clone this wiki locally