Utilities
Shape URL lists into level-scoped host sets
Filter or extract domains from URLs by subdomain level.
overview
What dsieve does
Place dsieve between enumeration and probing when a URL or domain list must be normalized by subdomain level before httpx or similar.
Select depths with -f using Python slice notation, or collapse noise with -top so only the busiest parents and their children remain.
Trickest runs dsieve as a managed Utilities node: -i or -if in, folder and file out. Use duplicut for unordered wordlist dedupe and anew for append-only merges; neither replaces level-aware shaping.
source github.com/popovicn/dsieve
use cases
Where dsieve fits
Reduce a URL list to root domains
Filter a messy list of URLs to their level-2 apex domains with -f 2, giving the next stage a clean, deduplicated set of targets to work from.
Extract one subdomain level
Use -f with Python slice notation to pull out exactly the level you need, scoping a probe to second-level, third-level, or a whole range of names.
Focus on the busiest parent domains
Keep only the top X parents at a level with -top and return their children, cutting a sprawling enumeration output down to the hosts that matter most.
Normalize hosts between recon stages
Slot dsieve between discovery and probing so httpx and downstream scanners run against a scoped, level-consistent host set instead of raw URLs.
reference
dsieve inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| input | STRING | -i | Input URL or domain. |
| input-file | FILE | -if | Input file path, one URL or domain per line. |
| filter-level | STRING | -f | Filter domain level. Use Python slice notation to select a range. |
| top | STRING | -top | Only consider the top X subdomains of a certain level and return all their subdomains. |
Showing key inputs. dsieve exposes 4 inputs in total.
example
Run dsieve
# extract level-3 subdomains from a URL listdsieve -if urls.txt -f 3api.example.comapp.example.comblog.example.comcdn.example.comdev.example.commail.example.comshop.example.comvpn.example.comguidance
Choosing dsieve
Use dsieve to normalize and scope a domain list by level between discovery and probing. Reach for duplicut to deduplicate a wordlist while keeping order. Use anew to merge new findings into a running set. dsieve is the level-aware shaping step, not a deduplicator.
duplicut
Removes duplicates from a wordlist without sorting it. dsieve filters and extracts domains by subdomain level, a different shaping job.
anew
Appends only new lines to a file. A sibling utility for keeping a running set, not for level filtering.
faq
dsieve questions
related
More Utilities tools
cewl
Spider a URL and return a wordlist for password crackers.
dnsgen
Wordlist and mined-word subdomain permutation.
pup
CSS selectors over HTML, the jq counterpart for markup.
unfurl
Extract chosen URL parts from stdin into clean line lists.
whisper
Speech to txt, vtt, srt, and json from an audio file or folder.
youtube-transcript
Public caption tracks to transcript.txt and results.jsonl.
Run dsieve yourself
A URL list feeds dsieve, which filters the domains down to the level you want and passes the scoped hosts to httpx so only live names land as output.
Facts on this page come from the live Trickest tool library.