Skip to content

Add option to treat all input targets as default scope for entire crawl session #1385

@ehsandeep

Description

@ehsandeep

Discussed in #1383

Originally posted by mrschyte August 10, 2025

Introduce a new optional boolean flag that treats all input targets (from file, CLI, or stdin) as explicit scope roots for the entire crawling session.
This differs from the current default host-based scoping (per-host) and from -fs normalization (dn/rdn/fqdn).

Details

Flag name
-ais, -all-input-scope treat all input targets as in-scope for the full crawling session

Behavior

  • Each input line (stdin/file/CLI) is used as-is as a scope root.
  • Ignores -fs (field-scope). No dn/rdn/fqdn normalization is applied.
  • Compatible with -cs (in-scope regex) and -cos (out-of-scope regex) for additional filtering.
  • Conflicts with -ns (no-scope). If both are set, -ais should take precedence and -ns ignored, or validation should error.
  • Works seamlessly with stdin input: every line piped in is considered part of the global scope.

Example

Input file targets.txt:

Run:

katana -list targets.txt -ais

Scope interpretation:

  • All three targets are treated as independent scope roots.
  • Crawling will consider links under each, without normalizing to rdn/fqdn/dn.

Why Needed

  • Simplifies use cases where users want all provided targets in-scope at once, without needing to craft regex or rely on -fs.
  • Useful for multi-target crawling sessions across different domains.

Note:

  • -ais and -fs can't be used togather and should return error as validation error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: EnhancementMost issues will probably ask for additions or changes.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions