loading
loading
Utilities
Quickly deduplicate a list of URLs by path and query-string shape.
overview
urldedupe reads a list of URLs and returns the unique ones, where unique means a distinct path and query-string combination rather than a byte-identical string. A crawl or archive pull typically produces the same endpoint hundreds of times with different parameter values; urldedupe collapses those down to one representative per shape so the next stage works on real variety, not noise.
Its smarter modes are what set it apart from a plain sort and uniq. With similar-URL removal, /api/user/1 and /api/user/2 are recognized as the same shape and reduced to one. You can keep only URLs that carry query strings, drop URLs with file extensions like .png or .js, and switch on a slower regex parser when accuracy matters more than speed. The modes combine, so you tune the dedup to the pipeline.
On Trickest, urldedupe is a Utilities node that reads a URLs file and writes a file and a folder. Slot it after a crawler or archive tool and before a fuzzer or parameter scanner so those expensive stages run against a tight, deduplicated set instead of a list full of repeats.
use cases
Collapse thousands of near-identical URLs to one per shape so a fuzzer or scanner spends its budget on distinct endpoints.
Enable similar-URL removal so /api/user/1 and /api/user/2 reduce to a single representative instead of flooding the list.
Use query-strings-only mode to drop static URLs and pass on only the endpoints that have parameters worth testing.
Turn on no-extensions to remove .png, .js, .woff, and similar files so testing focuses on dynamic endpoints.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| urls-file | FILE | -u | File containing URLs to deduplicate. |
| mode | STRING | -m | Comma-separated filters to enable (e.g. r, s, qs, ne). |
| remove-similar-urls | BOOLEAN | -s | Remove similar URLs based on integers and image/font files. |
| query-strings-only | BOOLEAN | -qs | Only include URLs that have query strings. |
| no-extensions | BOOLEAN | -ne | Exclude URLs that have a file extension (.png, .js, .html, and others). |
| regex-parse | BOOLEAN | -r | Use slower regex parsing for more thorough, accurate results. |
Showing key inputs. urldedupe exposes 6 inputs in total.
example
# collapse a crawl dump to unique parameterized endpointsurldedupe -u urls.txt -s -qs > unique.txthttps://example.com/search?q=loginhttps://example.com/api/v2/user?id=1https://example.com/catalog?category=books&sort=pricehttps://example.com/account/settings?tab=securityhttps://app.example.com/reports?range=30d&format=jsonhttp://198.51.100.24/index.php?page=dashboardhttps://example.com/download?doc=invoicehttps://203.0.113.10/api/orders?status=openguidance
Use urldedupe to thin a noisy URL list down to unique path and query shapes before an expensive fuzzing or scanning stage. It deduplicates whole URLs, including near-duplicates. To extract a single part of a URL instead, use unfurl; to append only new lines across runs, use anew.
Appends only previously unseen lines. urldedupe collapses near-duplicate URLs within one list.
Extracts a chosen URL component. urldedupe deduplicates whole URLs by shape.
Rewrites query values to a fixed token. Pair it with urldedupe to normalize then dedupe.
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 urldedupe, which collapses near-duplicates to unique shapes before ffuf fuzzes the survivors and writes the findings as a queryable output.
Facts on this page come from the live Trickest tool library.