loading
loading
Utilities
Take a list of URLs and filter or extract domains by level.
overview
dsieve takes a list of URLs or domains and reshapes them by subdomain level. It can strip a URL down to its root domain, pull out one specific level of the name, or keep only the busiest parents at a chosen level and return all of their subdomains.
Level selection uses Python slice notation with -f, so you pick an exact range of subdomain depths instead of guessing. The -top option collapses a noisy list to its most common parent domains and their children, which helps when a discovery stage returns far more names than you want to probe.
On Trickest, dsieve is a Utilities node that reads a URL or domain with -i, or a file of them with -if, and writes a folder and a file. Slot it between enumeration and probing to normalize and scope the host set the rest of the workflow consumes.
source github.com/popovicn/dsieve
use cases
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.
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.
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.
Slot dsieve between discovery and probing so httpx and downstream scanners run against a scoped, level-consistent host set instead of raw URLs.
reference
| 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
# 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
Use dsieve to normalize and scope a domain list by level between discovery and probing. To deduplicate a wordlist while keeping order, reach for duplicut instead. To merge new findings into a running set, use anew. dsieve is the level-aware shaping step, not a deduplicator.
Removes duplicates from a wordlist without sorting it. dsieve filters and extracts domains by subdomain level, a different shaping job.
Appends only new lines to a file. A sibling utility for keeping a running set, not for level filtering.
faq
related
Import, export, and link workflow data with Airtable.
Decode Android APK files into smali sources and resources.
Check a file's values against conditions and exit with a matching code.
Extract all hosted zones from AWS Route53.
Output file lines by batch size, given START_LINE and END_LINE.
Extract a batch range from a file's lines or a folder's files, with parallel processing.
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.