Discovery
Merge fresh findings into a master list
Append lines to a file only if they are not already there.
overview
What anew does
Place anew between producers and a master list. new-file holds the fresh dump; original-file is the persistent set. Missing lines append; stdout is the change set.
Use it for incremental recon: each scheduled pass forwards only additions to probing or alerting. Turn on -t when tools disagree on leading or trailing spaces.
Choose clean-wordlist or duplicut for one-shot wordlist dedupe. Choose diff-trickest-files when you only need a diff and not an append. anew is the merge-and-diff glue.
source github.com/tomnomnom/anew
use cases
Where anew fits
Deduplicate merged recon output
Append a stage's results into a master list so the combined set stays unique no matter how many overlapping tools fed into it.
Detect what changed between runs
Diff a fresh run against the previous master list so the workflow only sees subdomains, URLs, or hosts that are new this time.
Drive downstream stages on additions
Pipe the new lines anew prints to probing or alerting so scheduled runs stay cheap when most of the surface is unchanged.
Normalize whitespace before compare
Turn on -t so lines that differ only by leading or trailing spaces merge as the same entry instead of bloating the master list.
reference
anew inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| new-file | FILE | · | Filename with possible new results to merge in. |
| original-file | FILE | · | Original file that lines are compared against and appended to. |
| trim-whitespaces | BOOLEAN | -t | Trim leading and trailing whitespace before comparison. |
Showing key inputs. anew exposes 3 inputs in total.
example
Run anew
# merge fresh findings into the master list; -t trims whitespace before comparecat new-results.txt | anew -t master.txtapi.example.comstaging.example.comdev.example.commail.example.comvpn.example.comgitlab.example.com198.51.100.24203.0.113.88guidance
Choosing anew
Use anew wherever a pipeline needs deduplication or change detection: merging tool outputs into a unique list, or diffing a scheduled run against the last one so only new lines move downstream. Place it between stages rather than at the edges.
clean-wordlist
Cleans and dedupes a wordlist in place. anew is built for incremental merge and diff across runs.
duplicut
Removes duplicates from huge wordlists efficiently. Use for one-shot dedup of very large files.
diff-trickest-files
Diffs two Trickest files directly. Prefer when you only need the change set without appending.
faq
anew questions
related
More Discovery tools
apkurlgrep
Extract URLs and endpoints from Android APK files.
cariddi
Crawl a domain list and scan responses for endpoints, secrets, tokens, and juicy files.
crawlergo
Browser-driven crawler that harvests requests for downstream scanners.
dirsearch
Web path scanner.
fallparams
Crawl pages, harvest potential parameters, write a custom wordlist.
feroxbuster
Recursive content discovery with smart defaults and rich response filters.
Run anew yourself
Fresh results and a master list feed anew, which appends only the unseen lines and writes the new-only set as a queryable output.
Facts on this page come from the live Trickest tool library.