Pick by the job you need#
- Another local engine. URLCrazy adds word-level misspellings, homophones and plural forms. urlinsane adds multilingual variants and package and username checks, if you build its unreleased engine from source. DNSRazzle adds SSIM screenshot scoring for many brands in one run. 1–21
- A keyword feed instead of permutations. openSquat matches brand keywords against a daily feed of newly registered domains. 22–32
- A browser scan with no install. CIRCL Typosquatting finder scans without an account and exports to MISP. 33–37
- Scheduled alerts. dnstwister and CheckPhish email you when lookalikes of your domain appear. Have I Been Squatted adds certificate transparency, newly registered domains and rules that act on a match. Silent Push fits when lookalike monitoring sits inside wider infrastructure investigations. 38–50
Stay on dnstwist when a local scan already does the job. Marcin Ulikowski's open-source and free CLI, under Apache-2.0, generates a wide, tested fuzzer set. It covers QWERTY, QWERTZ and AZERTY keyboard layouts, bitsquatting, per-TLD IDN glyph rules, and dictionary and TLD files. Optional flags add WHOIS creation date and registrar, HTTP and SMTP banners, an --mxcheck probe, and HTML and screenshot similarity percentages. Results go to CSV, JSON, a bare list or the Python API, lookups can use DoH or custom resolvers, and --screenshots saves PNG files. The maintainer lists integrations in other products, among them a Splunk add-on and Maltego, and dnstwist.it runs a quick check with no login. The latest release is from January 2025. Have I Been Squatted vs dnstwist 9,17,51–60
This page covers a selection of tools that generate or find lookalike candidates for a domain you name. Order is editorial. Local tools come first, then hosted checks, then hosted monitoring.
Local scan
Generates permutations of the domains you supply, on your machine
- dnstwist (the incumbent)
- URLCrazy
- urlinsane (newest engine unreleased)
- ail-typo-squatting (CIRCL library)
- DNSRazzle (wraps dnstwist)
You supply the schedule and storage
Keyword feed match
Matches a feed of newly registered domains to brand keywords
You supply keywords and a schedule
Hosted check
Runs permutations in a browser with no install
- Typosquatting finder (CIRCL)
- dnstwister
- dnstwist.it (dnstwist's own page)
- Have I Been Squatted (sign-in needed)
You repeat checks by hand
Scheduled monitoring
The service repeats checks and sends alerts
You sign up and review alerts
Components for your own pipeline
- crt.sh
- CertStream
- Phishing Catcher (scores CertStream names)
Certificate transparency data that your own code matches against your brand.
Shortlist#
Certificate components have their own section below.
| Best for | How you get it | Trade-off | |
|---|---|---|---|
| URLCrazy | |||
| URLCrazy | Local scan with word-level misspellings and plural forms1–3 | Bundled TLD and IP data from April 202065–66 | |
| urlinsane | |||
| urlinsane | Local scan with multilingual variants4–8 | ||
| DNSRazzle | |||
| DNSRazzle | MX check sends real SMTP messages by default74–75 | ||
| openSquat | |||
| openSquat | Open source and free77–78 | Default feed permits personal and research use only30 | |
| CIRCL Typosquatting finder | |||
| CIRCL Typosquatting finder | Browser scan with MISP export35–37 | One-shot scan interface80–82 | |
| dnstwister | |||
| dnstwister | Daily A and MX alerts on similar names38 | Public self-serve subscription38 | Hosted alerting cannot be self-hosted83 |
| CheckPhish | |||
| CheckPhish | Typosquat monitoring with email alerts39–41 | ||
| Silent Push | |||
| Silent Push | Impersonation search inside a threat intelligence platform47 | Quote-based contract87–89 | Hosted platform only90 |
| Have I Been Squatted | |||
| Have I Been Squatted | Hosted service94 | ||
Monitoring side by side#
The four hosted monitors differ in how often they check, where alerts go and what you can do with a match.
| Cadence | Alerts go to | After a match | |
|---|---|---|---|
| dnstwister | |||
| dnstwister | About every 24 hours95–98 | Email and RSS, with IP and CIDR muting95–97 | |
| CheckPhish | |||
| CheckPhish | |||
| Silent Push | |||
| Silent Push | Monitors every 24 hours; Assets Impersonation down to every 5 minutes107–109 | Pivots into shared DNS, WHOIS, favicon and banner infrastructure48–50 | |
| Have I Been Squatted | |||
| Have I Been Squatted | Stated at least once every 24 hours42 | ||
URLCrazy#
Best for penetration testers and analysts who want Wikipedia misspellings, homophones, singular and plural forms and a wide TLD swap from one local Ruby command. Not for teams that need a registration check in the same run, because the README states that the tool does not check whether a domain is registered. 1–3,65,114
URLCrazy's Wrong TLD method swaps in each of 1,513 bundled TLDs, plus country second-level domains. It resolves A, MX and NS records, and -r skips DNS. Four keyboard layouts, QWERTY, AZERTY, QWERTZ and Dvorak, help when the brand serves users in different regions. Output goes to CSV or JSON. The optional -p flag fetches search-engine result counts, which the maintainer presents as an estimate of a typo's relative popularity. Andrew Horton maintains the URLCrazy repository. The README dates first publication to 2009, the latest release, 0.8.2, is from July 2025, and Kali, Parrot, BlackArch and the AUR package it. 1–3,61–62,64–65,114–123
The license is a custom Restricted license, not an OSI-approved one. It allows use and distribution, but modified versions need the maintainer's permission, and a commercial service other than penetration testing, such as domain protection for clients, needs a separate license. Prefer URLCrazy for word-level misspellings and TLD breadth. Prefer dnstwist for an Apache-2.0 license, --whois, --mxcheck or page-similarity percentages. Have I Been Squatted vs URLCrazy 1–3,9,17,51,53,55–58,61–65,114
A URLCrazy run against haveibeensquatted.com on November 4, 2026 reported 2,229 hostnames to process. The excerpt shows the original and four candidates with their typo type, address and country, then the name and mail servers of three names. 1–2,61–62,66,116,118,124
$ urlcrazy -n haveibeensquatted.com
URLCrazy Domain Report
Domain : haveibeensquatted.com
Keyboard : qwerty
At : 2026-11-04 23:58:00 +0100
# Please wait. 2229 hostnames to process
Typo Type Typo Domain IP Country
Original haveibeensquatted.com 2606:4700::6812:13f5
Character Omission haveibeensquated.com
Character Repeat haveibeeensquatted.com
Wrong TLD haveibeensquatted.dev 76.76.21.21 UNITED STATES (US)
Wrong TLD haveibeensquatted.ws 64.70.19.203 UNITED STATES (US)
Typo Domain NameServer MailServer
haveibeensquatted.com nile.ns.cloudflare.com alt2.aspmx.l.google.com
haveibeensquated.com carlane.ns.cloudflare.com
haveibeeensquatted.com may.ns.cloudflare.com route3.mx.cloudflare.net
urlinsane#
Best for engineers who build from source and want multilingual domain variants plus package and username squat checks, for example as a CI gate on dependency names. Not for readers who need a released binary of the rewritten engine. The newest release, 0.8.2, is from November 2024. 4–16,69
urlinsane's rewritten engine must be built from public GPL-3.0 source. The released 0.8.2 binary uses the earlier pipeline. The rewrite lists 32 algorithms, including same-language and cross-language homophones, number words and 133 keyboard adjacency sets, plus delegated-subdomain variants and full public-suffix TLD swaps. It generates variants of email addresses, packages, usernames and repository names, checks whether packages and usernames exist, and runs a dependency-confusion analyzer. Three-state results keep a failed lookup from reading as a free name. Clusters group results by shared address, nameserver or registrant, with Graphviz output. For CI, --fail-on exits with code 2, output is deterministic, incomplete scans are marked PARTIAL, and NDJSON is written when a scan completes. The maintainer last committed to the urlinsane repository in August 2026 and publishes long-form documentation of the attack and the engine. 4–16,67–70,125–136
Each run takes one target, and the automation guide shows cron and CI schedules. The CLI reference calls the engine mid-rewrite and lists flags that are specified but not built, among them --resume and graph diffing. Prefer urlinsane when broader target types justify building an unreleased engine. Prefer dnstwist when you need a released binary with page-similarity scores. Have I Been Squatted vs urlinsane 4,9,17,51,53,56,59–60,67,69

| urlinsane | dnstwist | |
|---|---|---|
| Targets beyond domains | ||
| Targets beyond domains | ||
| Release state | ||
| Release state | ||
| Shared infrastructure | ||
| Shared infrastructure | ||
| Page similarity | ||
| Page similarity | ||
DNSRazzle#
Best for teams that want dnstwist's permutations plus local SSIM screenshot scoring, RDAP lookups and optional nmap and dnsrecon reports, for many brands in one run. Not for anyone who needs new engine features. Version 2.0.0, released in April 2026, is the final feature release, and the maintainer names SecurityShrimp Highlander, a separate commercial product, as its replacement. 9,17–21,72,139–144
DNSRazzle extends dnstwist rather than replacing its engine. It imports dnstwist==20201228, which lacks the cyrillic and plural fuzzers of current dnstwist, and adds a url-encoded-slash permutation for %2F link tricks. -d or -f take many domains in one run. Playwright captures viewport screenshots and scores them against the original with SSIM. The tool can write a threshold-based blocklist and email a CSV report through your SMTP server. For each lookalike its screenshot step selects, it can run nmap -A -sV and a dnsrecon report with SOA, SRV, SPF ranges, crt.sh subdomains and a DNSSEC zone walk. 9,18–21,74–75,140–142,145–146
The MX interception test (mx-spy) runs on every permutation with an MX record. It is on by default, sends a real SMTP message to third-party mail servers, and no flag turns it off. Talks at Kernelcon 2022 and the Health-ISAC Fall Americas summit in 2021 describe its use by the security team at Baxter Healthcare. The DNSRazzle repository is under Apache-2.0. Use DNSRazzle when SSIM scoring and multi-domain batches matter more than a current engine. Stay on current dnstwist for newer fuzzers. Have I Been Squatted vs DNSRazzle 21,51,72–75,141,145,147–149

| DNSRazzle | dnstwist | |
|---|---|---|
| Permutation engine | ||
| Permutation engine | ||
| Screenshot similarity | ||
| Screenshot similarity | ||
| Many domains per run | ||
| Many domains per run | Yes: Comma list or file of domains20–21 | One domain per run51 |
| Maintenance | ||
| Maintenance | 2.0.0 (April 2026) is the final feature release20 | |
openSquat#
Best for researchers who want to match brand keywords against a daily feed of newly registered domains on their own machine. Not for readers who need permutations of one named domain. openSquat matches keywords against a feed instead. 22–28,76
openSquat downloads a daily feed of about 100,000 newly registered domains and runs Levenshtein matching against your keywords locally. A checksum file skips unchanged downloads. Homograph handling transliterates non-Latin characters to Latin before comparing, so a Cyrillic lookalike can match. Optional flags query Quad9, VirusTotal, a phishing list, ports 80 and 443, and crt.sh. Output is TXT, JSON or CSV, and the README shows a cron example. An API mode queries openSquat's hosted lookalike service per keyword and returns an IDN flag and Unicode rendering for each match. 22–32,150–156
One maintainer keeps the GPL-3.0 code in the openSquat repository, with releases through October 2026. Version 2.3.1 treats phishing lists as untrusted input, and 2.3.0 stops API-key leaks on redirects. GitHub showed 989 stars and 163 forks in November 2026. The default feed permits personal and research use only. Pick openSquat for keyword matching on new registrations. Keep dnstwist when you start from one domain. Have I Been Squatted vs openSquat 23,30,51,56,77–78,137,157–159
An openSquat 2.3.1 run on November 4, 2026 checked the keyword haveibeensquatted against a feed of 100,000 domains at the high-confidence threshold and flagged none. 22–32,155,160–162
$ opensquat -k keywords.txt --dns -o results.txt -t txt
version 2.3.1
+---------- Checking Domain Squatting ----------+
[*] Downloading fresh domain list: https://feeds.opensquat.com/opensquat-nrd-latest.txt
[*] Download volume: 1.57 MB
[*] keywords total: 1
[*] Total domains: 100,000
[*] Threshold: high confidence
[+] Starting Domain Squatting verification for 'haveibeensquatted' [1/1]
+---------- Summary Squatting ----------+
[*] Domains flagged: 0
[*] Running time: 2.44 seconds
| openSquat | dnstwist | |
|---|---|---|
| Discovery method | ||
| Discovery method | Levenshtein match of keywords against an NRD feed22–28 | |
| Newly registered feed | ||
| Newly registered feed | ||
| Page similarity | ||
| Page similarity | ||
| Optional enrichment | ||
| Optional enrichment | WHOIS plus HTTP and SMTP banners51 | |
CIRCL Typosquatting finder#
Best for CSIRT-style teams that want a browser scan without an account, MISP export, or a BSD-licensed library that feeds AIL and other systems. Not for buyers who need recurring monitoring or durable investigation history. No public documentation of either was found for the service. 34–37,80–82,163
CIRCL, the CERT for Luxembourg's private sector, communes and non-governmental entities, runs the Typosquatting finder as a public service, with EU co-funding through the JTAN action. Its library, ail-typo-squatting, ships 21 algorithms, including common misspellings, homophones and numeral swaps, and covers 1,441 bundled IANA TLDs plus public-suffix second levels. It can test each variation for catch-all DNS. The website compares page text and resources with the original and exports a MISP feed or a MISP JSON event. The AIL framework's tracker calls the library for typosquatting watches, and the library also emits YARA, regex and YAML rules. 33–37,79–82,163–174
The BSD-2-Clause library and the Apache-2.0 website are both open source, so a team can self-host the whole service. pypistats reported 49,109 library downloads in the last month, a count that includes mirrors and CI. The latest PyPI release is from April 2025. On November 4, 2026, the hosted /api/<domain> route returned 500 while the browser form returned results, so retest before you integrate the REST route. Choose CIRCL for MISP export and a CERT-run page. Choose dnstwist for --mxcheck and screenshot hashes. Open the CIRCL Typosquatting finder. Have I Been Squatted vs CIRCL Typosquatting Finder 9,17,35–37,51,56–58,81,175–185

| CIRCL Typosquatting finder | dnstwist | |
|---|---|---|
| Hosted check | ||
| Hosted check | Yes: Public web service, no account33–34 | Yes: No-login page at dnstwist.it52 |
| MISP and detection outputs | ||
| MISP and detection outputs | Yes: Native MISP feed and JSON event export35–37 | |
| Mail checks | ||
| Mail checks | ||
| Scheduling | ||
| Scheduling | One-shot scan interface80–82 | One-shot CLI; you schedule it51 |
Domain protection
Detect adversary infrastructure while it is being staged.
Have I Been Squatted helps security teams detect lookalike domains, certificate and DNS changes, and staging infrastructure, investigate the evidence, and coordinate takedowns.
dnstwister#
Best for small portfolios that want daily A and MX alerts on similar names without running a CLI. Not for operators who must self-host the alerting service, or who need the public /api/ip/ endpoint without retesting it. 38,83,95–98,187
dnstwister offers no-login search and hosted monitoring that alerts within 24 hours when a similar name gains a new A or MX record. Its engine is a modified copy of the dnstwist library. Email alerts and RSS feeds support follow-up, while IP and CIDR muting, a separate new-MX-only list and a newly_monitored flag for algorithm changes cut repeat noise. Each alert email ends with a link to manage the subscription. A keyless public API exposes the fuzzing and lookup endpoints, and indicator pages offer STIX 2.1 downloads. The news page records algorithm and incident changes in plain language. The open-source web app is Unlicense, and the hosted service code is private. 38,83,95–97,99–103,188–196
On November 4 and 8, 2026, the status page listed open incidents for DNS resolution and delta calculations, and the live /api/ip/ endpoint returned "error":true for well-known domains. The browser-resolution endpoint returned an A record for google.com on November 4. Those checks cover the public API and the status page, not alert delivery. Prefer dnstwister for hosted daily alerts when the service is healthy. Prefer upstream dnstwist for local control, --mxcheck and screenshot hashes. Have I Been Squatted vs dnstwister 9,17,51,56–58,97,187,189,197–199

| dnstwister | dnstwist | |
|---|---|---|
| Engine | ||
| Engine | Modified copy of dnstwist188 | |
| Daily alerts | ||
| Daily alerts | Yes: Alerts within 24 hours of new A or MX on similar names38 | One-shot CLI; you schedule it51 |
| Exports | ||
| Exports | ||
| DNS resolution model | ||
| DNS resolution model | ||
CheckPhish#
Best for analysts who want a URL sandbox plus hosted typosquat monitoring with email alerts. Not for teams that need daily lookalike scans, because monitoring scans typosquat variants weekly. 39–41,84,86,105–106
Bolster runs CheckPhish. Monitoring generates typosquat variations of your domain, live-scans them and sends email alerts. A live URL scan returns a screenshot, DOM and WHOIS data. The API documents dispositions beyond phishing, such as scam, adult and cryptojacking, and lets you choose the scanner's user agent. Ready-made integrations include a Microsoft Security Copilot plugin, with third-party Splunk SOAR and Tines listings. Managed takedowns are part of the wider Bolster platform. Use CheckPhish when a hosted sandbox and weekly alerts fit. Use dnstwist for local runs and similarity percentages. Open the CheckPhish homepage. 9,17,39–41,51,53,55–56,84–86,104–106,200–205

| CheckPhish | dnstwist | |
|---|---|---|
| Scheduled monitoring | ||
| Scheduled monitoring | One-shot CLI; you schedule it51 | |
| Phishing disposition | ||
| Phishing disposition | ||
| Integrations | ||
| Integrations | Security Copilot plugin; Splunk SOAR and Tines listings202–205 | Maintainer lists Splunk, Maltego and others56 |
| Local control | ||
| Local control | Run by Bolster200 | |
Silent Push platform#
Best for threat intelligence and SOC teams that need Domain Impersonation as one module inside a wider internet-scan platform. Not for readers who want a local permutation CLI. Silent Push is a hosted platform. 47,88,90
Choose Silent Push when a lookalike investigation needs pivots into shared DNS, WHOIS, favicon and banner infrastructure. Domain Impersonation takes a target domain, with options for typosquat mode, digit homoglyphs and subdomain search. Assets Impersonation searches a list of owned domains or IPs on five-minute, hourly or daily schedules. Monitors rerun saved queries every 24 hours and alert in the app, by email, Slack, Teams or webhook. Favicon and HTML title impersonation queries and ssdeep HTML similarity compare page content. 47–50,107–113,206–208

Context Graph Search runs SPQL over Silent Push's own scans of web, banner, open-directory and WHOIS data. SPQL is in alpha. Passive DNS and WHOIS history sit beside third-party passive DNS views from Farsight and Zetalytics. Fingerprint pivots cover favicon Murmur3 hashes, ssdeep, JARM and banners. Silent Push states that Traffic Origin reveals the country behind proxy and VPN connections. For threat-actor work, it offers Indicators of Future Attack (IOFA) and APT feeds, TLP:AMBER reports and on-demand analyst services. It lists 20 SIEM, SOAR and TIP integrations, plus TAXII. Choose dnstwist for an unlimited local scan. Have I Been Squatted vs Silent Push 49–50,53,55–56,113,206,208–224
| Silent Push | dnstwist | |
|---|---|---|
| Lookalike discovery | ||
| Lookalike discovery | ||
| Investigation pivots | ||
| Investigation pivots | Yes: Context Graph Search across PADNS, WHOIS, favicon and banners48–50 | |
| Scheduled alerts | ||
| Scheduled alerts | One-shot CLI; you schedule it51 | |
| Page similarity scores | ||
| Page similarity scores | Favicon and HTML title impersonation; ssdeep HTML similarity206–208 | |
Have I Been Squatted#
Best for teams that want permutations, certificate transparency and newly registered domains checked on a schedule they do not have to run, with rules that alert, block or request a Takedown. Not for teams that must self-host the scanner. 42–46,93–94
Have I Been Squatted starts from lookalikes of your domains and goes on to the malicious infrastructure behind them, with scheduled Domain Monitoring, enrichment and rules. It states that lookups run at least once every 24 hours, starting minutes after you add a domain. Permutations are built on the open-source engine twistrs, whose README states a goal of porting dnstwist. Have I Been Squatted states that newly registered domains come from gTLD zone files for the past 30 days. Enrichment includes RDAP registration data, DNS records, open ports, page semantics, favicon hashes and HAR captures, and the rule catalog lists 173 domain signals. Each result shows whether the lookalike is set up for email, and an analyst can open a live page in an isolated browser session. 9,17,42–43,93–94,225–233
Rules raise alerts with statuses such as Active, Resolved, Ignored and False Positive, and digests run daily, weekly or monthly. A rule can also deliver a finding to a SIEM, push a domain to Network Enforcement, mark a result Malicious with a note or request a Takedown. An analyst reviews every Takedown request. Connectors reach Slack, webhooks and named SIEMs, and the MCP server and Slack app need an organization admin for writes. The hunting tools run ad-hoc Typosquat and Analyze lookups, and the Analyzer runs a one-off domain analysis without a login. 17,43–46,91–93,233–241
Teams that script dnstwist today can keep scripting. The Public API streams lookup, analyze and certificate transparency search results as NDJSON, with scoped API keys and a Python SDK. Discover adds the names that are still open, listing unregistered permutations of your domain that could be used for phishing or brand impersonation. 17,233,238,240,242
Have I Been Squatted does not compute full-page visual similarity against your real site. It fingerprints favicons instead. Stay on dnstwist for local fuzzing, --mxcheck and page-similarity percentages. 9,17,51,56–58

| Have I Been Squatted | dnstwist | |
|---|---|---|
| Finding lookalikes | ||
| Finding lookalikes | Yes: Permutations, CT, newly registered domains, business context42–43 | |
| Schedule | ||
| Schedule | Stated at least once every 24 hours42 | One-shot CLI; you schedule it51 |
| Page similarity | ||
| Page similarity | ||
| After a match | ||
| After a match | ||
Components and combinations#
crt.sh and CertStream supply certificate transparency data to a lookalike pipeline, and Phishing Catcher scores names from the CertStream feed. You supply the brand list, the matching and the alerts around them. No public documentation of lookalike generation for a named domain was found for any of the three. 243–254
crt.sh#
Sectigo operates crt.sh as a free certificate search with no account. It searches identities you supply and pivots by certificate hash, SPKI hash, subject hash, serial or CA. Guest PostgreSQL access, JSON and Atom output support scripting. The schema, monitors and front end are open source under GPL-3.0. The site also carries CA compliance data, such as certificate linting, root program disclosures and the health of more than 130 monitored CT logs. On November 4, 2026, its Atom feed for haveibeensquatted.com returned 327 entries in 5.2 seconds, while some same-day rechecks returned HTTP 502. In checks from November 4 to 9, 2026, its guest database and web search were more than two weeks behind the CT logs and missed certificates issued in late October, so check how current the results are before you rely on them. Sectigo's terms restrict automatic access and non-personal use, so read them before you script against the site. Pair crt.sh with dnstwist when you already have candidate names, or with openSquat's optional crt.sh enrichment. 22,151–154,243,252–262
CertStream#
CertStream streams new certificate transparency entries over a WebSocket as JSON. Every entry carries the raw wildcard and SAN names, so a consumer can match any hostname pattern. Client libraries cover Python, JavaScript, Go and Java, and the Python client reconnects automatically, though the server keeps no history and reconnects do not replay missed entries. The maintainer describes the public server as a demo for proofs of concept. On November 8, 2026, it accepted WebSocket connections but sent no entries in 45 seconds, and its /latest.json still held entries from October 31, 2025. Self-host the MIT server or the community certstream-server-go fork instead. The fork runs as a single binary or Docker image, with a published resource profile, Prometheus metrics and static CT log support, and its latest release, v1.10.1, is from September 2026. Third-party tools consume the format, Phishing Catcher among them. 244–247,263–275
Phishing Catcher#
Phishing Catcher is a GPL-3.0 Python proof of concept. It scores certificate names from the CertStream feed against editable YAML keywords and visible rules, then writes matches to the console and a name-only local log. The rules score confusable characters, one-edit typos of high-score keywords, fake .com- labels and deep nesting such as paypal.com.security.accountupdate.gq. The default list holds 64 brand and service keywords, so one run watches many brands. The repository has 1,832 stars and 358 forks, and TrustRadius lists it among the tools most compared with dnstwist, and an issue in the repository says certleak was inspired by it. The authors of an ARES 2021 paper adapted its scoring as a baseline for trained phishing classifiers. The script hard-codes the public CertStream endpoint, which sent no entries in a November 2026 test, so it needs a one-line edit to read a self-hosted server. The last commit on master dates from December 2020, and there are no releases. Choose it only if you intend to maintain the certificate-feed pipeline yourself. 247–251,267–270,276–287
Choose by need#
- Keep dnstwist for a local permutation scan with page-similarity scores and
--mxcheck. 9,17,51,53,55–58 - Word-level misspellings and TLD breadth: URLCrazy. Multilingual, package and username variants from an engine you build from unreleased source: urlinsane. 1–16,65,114
- Screenshot scoring for many brands in one run: DNSRazzle. 9,17–21
- Newly registered domain keyword matching: openSquat. 22–32
- MISP export or YARA rules from a CERT-run engine: CIRCL Typosquatting finder. 35–37,163,167
- Daily email and RSS alerts: dnstwister. Weekly typosquat alerts beside a URL sandbox: CheckPhish. 39–40,84,86,95–98,105–106
- Lookalikes inside wider infrastructure investigations: Silent Push. 47–50
- Monitoring with rules that alert, block or request a Takedown, plus a Public API for your scripts: Have I Been Squatted. 43–46,93,238,240,242
- Certificate data for your own pipeline: crt.sh or CertStream. 243–246
Is Have I Been Squatted right for you?#
It fits teams that no longer want to schedule, store and compare scans themselves. Domain Monitoring checks permutations, certificate transparency and newly registered domains continuously, and rules can alert, send the finding to a SIEM, block the domain or request a Takedown. From a lookalike, Atlas investigations, in early access, pivot across shared infrastructure to the related domains behind it. Scripts keep working through the Public API and its Python SDK. Have I Been Squatted does not monitor social media, app stores, dark web content or ads. 17,42–46,91–93,230–231,238,240,242,288–291
Domain Monitoring, hunting tools, rules and alerts are self-serve with a free trial. Takedowns and the email, network, SIEM and canary products are bought through sales. 42,93,292
FAQ#
dnstwister alerts within 24 hours when a similar name gains an A or MX record, by email and RSS. CheckPhish scans typosquat variants weekly and sends email alerts. Silent Push Monitors rerun queries every 24 hours, and Have I Been Squatted states that its lookups run at least once every 24 hours, with rules that route alerts. openSquat's hosted plans also send daily keyword alerts by email, and by Slack or Microsoft Teams on Professional and Business. The local tools on this page leave scheduling to cron or CI. 1,21–22,30–31,38–42,45,51,61,67,69,74,76,93,95–97,107,115,155,162,293
No. They are data sources. crt.sh searches certificate identities you supply, and CertStream streams new certificates for a consumer such as Phishing Catcher to score. You add the brand matching, storage and alerts. 243–251
Sources and corrections
Each numbered marker on this page links to its sources below. Each source shows the date it was last checked. If a fact is wrong or out of date, send a correction. A correction is checked against the source and the page is updated.
- 1.Andrew Horton (urbanadventurer). “URLCrazy README.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/README.md
- 2.Andrew Horton. “lib/domainname.rb (typo generators).” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/lib/domainname.rb
- 3.Andrew Horton. “common-misspellings.rb.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/common-misspellings.rb
- 4.Rangertaha. “URLInsane README (lines 9, 45 to 46, 99 to 116, 164 to 205, 269 to 305).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/README.md
- 5.Rangertaha. “`variant/all/all.go` (`Specs`).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/variant/all/all.go#L58-L93
- 6.Rangertaha. “Pinned embedded SQLite dataset.” Accessed . https://raw.githubusercontent.com/rangertaha/urlinsane/4f53d2e839f79520dc520976f1b634fdb3566406/internal/config/dataset.db
- 7.Rangertaha. “Language enumeration from the installed dataset.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/dataset/lang.go#L73-L104
- 8.GitHub. “Pinned recursive tree (untruncated language-file inventory).” Accessed . https://api.github.com/repos/rangertaha/urlinsane/git/trees/4f53d2e839f79520dc520976f1b634fdb3566406?recursive=1
- 9.Have I Been Squatted. “Domain signals.” Accessed . https://docs.haveibeensquatted.com/reference/signals/domain/
- 10.Rangertaha. “`observe/sources.go` (HTTP probes and repository guard).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/observe/sources.go#L58-L226
- 11.Rangertaha. “`analyze/depconfusion/depconfusion.go`.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/analyze/depconfusion/depconfusion.go#L21-L71
- 12.Rangertaha. “Package-registry source inventory.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/datasets/sources/packages.lst
- 13.Rangertaha. “Username-site source inventory.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/datasets/sources/usernames.lst
- 14.Rangertaha. “Repository-host namespace endpoints.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/datasets/sources/repos.lst
- 15.GitHub. “GitHub releases.” Accessed . https://api.github.com/repos/rangertaha/urlinsane/releases
- 16.Rangertaha. “CHANGELOG (lines 26 to 27, 89, 118 to 120).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/CHANGELOG.md
- 17.Have I Been Squatted. “Changelog.” Accessed . https://haveibeensquatted.com/changelog
- 18.SecurityShrimp (`f8al`). “dnsrazzle/BrowserUtil.py.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/BrowserUtil.py#L104
- 19.SecurityShrimp (`f8al`). “dnsrazzle/VisionUtil.py.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/VisionUtil.py#L65
- 20.SecurityShrimp (`f8al`). “DNSRazzle README.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/docs/README.md
- 21.SecurityShrimp (`f8al`). “DNSrazzle.py (CLI options, output, blocklist).” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/DNSrazzle.py#L54
- 22.atenreiro. “openSquat Core README.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/README.md
- 23.atenreiro. “Changelog.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/CHANGELOG
- 24.atenreiro. “squatting_detector.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/squatting_detector.py
- 25.atenreiro. “validations.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/validations.py
- 26.atenreiro. “arg_parser.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/arg_parser.py
- 27.openSquat. “API reference, lookalike endpoint parameters.” Accessed . https://opensquat.com/docs
- 28.openSquat. “Domain Lookalike API, threat types.” Accessed . https://opensquat.com/products/domain-lookup-api
- 29.atenreiro. “feed_manager.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/feed_manager.py
- 30.openSquat. “Free NRD feed file (downloaded; header and counts).” Accessed . https://feeds.opensquat.com/opensquat-nrd-latest.txt
- 31.openSquat. “Pricing, Domain Feeds tab.” Accessed . https://opensquat.com/pricing
- 32.openSquat. “Community feeds, free and paid comparison.” Accessed . https://opensquat.com/free-feeds
- 33.CIRCL. “About.” Accessed . https://typosquatting-finder.circl.lu/about
- 34.CIRCL. “Typosquatting-finder.” Accessed . https://typosquatting-finder.circl.lu/
- 35.CIRCL. “MISP export.” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/app/misp.py#L9
- 36.MISP project. “MISP object `typosquatting-finder-result`.” Accessed . https://github.com/MISP/misp-objects/blob/main/objects/typosquatting-finder-result/definition.json
- 37.AIL project. “AIL framework Tracker.py.” Accessed . https://github.com/ail-project/ail-framework/blob/49660c8212623d3338598428abe521dacfa91b61/bin/lib/Tracker.py#L779
- 38.dnstwister. “Subscribe (single-domain plans, trial).” Accessed . https://dnstwister.report/subscribe
- 39.Bolster. “Using CheckPhish Domain Monitoring, updated 2024-02-23 (WB 2025-10-06).” Accessed . https://web.archive.org/web/20251006145251/https://bolster.ai/kbarticles/using-checkphish-domain-monitoring
- 40.Bolster. “CheckPhish homepage (WB 2026-10-16).” Accessed . https://web.archive.org/web/20261016082655/https://checkphish.bolster.ai/
- 41.Bolster. “Free Domain Monitoring (WB 2026-10-06).” Accessed . https://web.archive.org/web/20261006140143/https://checkphish.bolster.ai/domain-monitoring/
- 42.Have I Been Squatted. “Domain Monitoring.” Accessed . https://haveibeensquatted.com/platform/monitoring
- 43.Have I Been Squatted. “Domain monitoring guide.” Accessed . https://docs.haveibeensquatted.com/features/domain-monitoring/
- 44.Have I Been Squatted. “Integrations.” Accessed . https://haveibeensquatted.com/platform/integrations
- 45.Have I Been Squatted. “Rules engine guide.” Accessed . https://docs.haveibeensquatted.com/guides/rules-engine/
- 46.Have I Been Squatted. “Network Intelligence guide.” Accessed . https://docs.haveibeensquatted.com/features/network-intelligence/
- 47.Silent Push. “Impersonation.” Accessed . https://help.silentpush.com/docs/impersonation
- 48.Silent Push. “Community Edition.” Accessed . https://www.silentpush.com/community-edition/
- 49.Silent Push. “Release 6.1.” Accessed . https://help.silentpush.com/docs/release-6-1
- 50.Silent Push. “Silent Push Knowledge Base index (no entry contains "takedown").” Accessed . https://help.silentpush.com/llms.txt
- 51.elceef. “dnstwist.py (`Fuzzer`, `Scanner`, `Whois`, `pHash`, `Format`).” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/dnstwist.py#L832
- 52.Marcin Ulikowski. “dnstwist | phishing domain scanner.” Accessed . https://dnstwist.it/
- 53.GitHub. “GitHub repository metadata.” Accessed . https://api.github.com/repos/elceef/dnstwist
- 54.GitHub. “GitHub profile of elceef.” Accessed . https://api.github.com/users/elceef
- 55.elceef. “LICENSE.” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/LICENSE
- 56.elceef (Marcin Ulikowski). “dnstwist README.” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/docs/README.md
- 57.elceef. “dnstwist man page.” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/docs/dnstwist.1
- 58.elceef. “dnstwist.py (`_mxcheck` command loop).” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/dnstwist.py#L968
- 59.GitHub. “GitHub releases.” Accessed . https://api.github.com/repos/elceef/dnstwist/releases
- 60.GitHub. “Latest commit.” Accessed . https://api.github.com/repos/elceef/dnstwist/commits/341395377f40761fe4152f43fd18eea757b6069a
- 61.Andrew Horton. “urlcrazy (main script, options, license header).” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/urlcrazy
- 62.GitHub. “GitHub repository metadata.” Accessed . https://api.github.com/repos/urbanadventurer/urlcrazy
- 63.Kali Linux. “Kali package debian/copyright.” Accessed . https://gitlab.com/kalilinux/packages/urlcrazy/-/raw/kali/master/debian/copyright
- 64.Repology. “urlcrazy package versions.” Accessed . https://repology.org/project/urlcrazy/versions
- 65.Andrew Horton (IANA data). “tlds-alpha-by-domain.txt.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/tlds-alpha-by-domain.txt
- 66.GitHub. “Last commit touching country-ips.dat.” Accessed . https://api.github.com/repos/urbanadventurer/urlcrazy/commits?path=country-ips.dat&per_page=1
- 67.Rangertaha. “CLI reference (§1 to §9).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/docs/CLI.md
- 68.Rangertaha. “LICENSE.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/LICENSE
- 69.Rangertaha. “Automation guide.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/docs/guide/automation.md
- 70.Rangertaha. “Installing guide.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/docs/guide/install.md
- 71.SecurityShrimp (`f8al`). “setup.py.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/setup.py
- 72.GitHub. “GitHub repository metadata.” Accessed . https://api.github.com/repos/f8al/DNSrazzle
- 73.SecurityShrimp / Apache Software Foundation. “Apache License 2.0, full repository license.” Accessed . https://raw.githubusercontent.com/f8al/DNSrazzle/1cf41837574610d42418fd078c51903b52fb850b/LICENSE
- 74.SecurityShrimp (`f8al`). “dnsrazzle/DnsRazzle.py (fuzzing, scanner options, screenshot loop).” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/DnsRazzle.py#L108
- 75.elceef (Marcin Ulikowski). “dnstwist.py at tag 20201228 (`DomainFuzz`, `DomainThread`).” Accessed . https://github.com/elceef/dnstwist/blob/20201228/dnstwist.py#L506
- 76.atenreiro. “app.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/app.py
- 77.GitHub. “GitHub repository metadata (`gh api`).” Accessed . https://api.github.com/repos/atenreiro/opensquat
- 78.atenreiro. “LICENSE.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/LICENSE
- 79.CIRCL. “Flask server routes.” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/Flask_server.py#L293
- 80.CIRCL. “Sample configuration.” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/conf/conf.cfg.sample
- 81.CIRCL. “ail-typo-website README.” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/README.md
- 82.CIRCL. “Session (GeoIP, page similarity, NS/MX marking, cache).” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/app/session.py#L120
- 83.Robert Wallhead. “dnstwister README.” Accessed . https://github.com/dnstwister/dnstwister/blob/ebf4ea72fee43d411bcc8d2e8a9b9bb375c49115/README.md
- 84.Bolster. “CheckPhish Plans & Packages (WB 2025-01-24).” Accessed . https://web.archive.org/web/20250124174213/https://checkphish.bolster.ai/plans/
- 85.Bolster. “Scan APIs for CheckPhish Users (WB 2026-04-14).” Accessed . https://web.archive.org/web/20260414005617/https://bolster.ai/kbarticles/scan-apis-for-CheckPhish-users
- 86.Bolster. “Developer-Friendly CheckPhish API (WB 2026-10-06).” Accessed . https://web.archive.org/web/20261006140143/https://checkphish.bolster.ai/checkphish-api/
- 87.Silent Push via Internet Archive. “Understand our subscription types (archived 2024-09-27, page updated 2024-08-12).” Accessed . https://web.archive.org/web/20240927161637/https://help.silentpush.com/docs/subscriptions
- 88.Silent Push. “Silent Push Platform.” Accessed . https://www.silentpush.com/platform/
- 89.Silent Push. “Release 5.1.” Accessed . https://help.silentpush.com/docs/release-51
- 90.Silent Push. “MCP for Silent Push.” Accessed . https://help.silentpush.com/docs/mcp-for-silent-push
- 91.Have I Been Squatted. “Alert digest guide.” Accessed . https://docs.haveibeensquatted.com/guides/digest/
- 92.Have I Been Squatted. “Connectors.” Accessed . https://docs.haveibeensquatted.com/integrations/
- 93.Have I Been Squatted. “Pricing.” Accessed . https://haveibeensquatted.com/pricing
- 94.Have I Been Squatted. “twistrs repository (README and LICENSE).” Accessed . https://github.com/haveibeensquatted/twistrs
- 95.dnstwister. “Latest News (February 2024).” Accessed . https://dnstwister.report/news/
- 96.dnstwister. “Documentation, APIs (subscriber).” Accessed . https://dnstwister.report/documentation/dnstwister_apis
- 97.dnstwister. “Documentation, Subscriptions.” Accessed . https://dnstwister.report/documentation/subscriptions
- 98.dnstwister. “Live fuzz test for `example.com`.” Accessed . https://dnstwister.report/api/fuzz/6578616d706c652e636f6d
- 99.dnstwister. “Features page, dashboard image `DNSTwisterAsset+5.png` (Domain History, Domain Analysis, Threat Intelligence Indicators); image no longer on the redesigned features page on 2026-11-09, file still served by the CDN.” Accessed . https://dnstwister.com/features
- 100.dnstwister. “Threat intelligence indicators, live public result page.” Accessed . https://dnstwister.report/indicators/65732d636f6e63726574652e636f6d/3.33.152.147
- 101.dnstwister. “Live domain indicator JSON download.” Accessed . https://dnstwister.report/indicators/65732d636f6e63726574652e636f6d/domain_stix2.1.json
- 102.dnstwister. “Live IPv4 indicator JSON download.” Accessed . https://dnstwister.report/indicators/3.33.152.147/ipv4_stix2.1.json
- 103.dnstwister. “Live wildcard-URL indicator JSON download.” Accessed . https://dnstwister.report/indicators/65732d636f6e63726574652e636f6d/url_stix2.1.json
- 104.Bolster Community (user posts). “My website has been incorrectly reported for phishing by CheckPhish (WB 2025-09-01).” Accessed . https://web.archive.org/web/20250901020059/https://community.bolster.ai/t/my-website-has-been-incorrectly-reported-for-phishing-by-checkphish/229.rss
- 105.Bolster. “What's CheckPhish? (WB 2025-10-06).” Accessed . https://web.archive.org/web/20251006013129/https://bolster.ai/kbarticles/whats-checkphish
- 106.Bolster. “Real-Time URL Scanning and Phishing Sandbox (WB 2026-10-06).” Accessed . https://web.archive.org/web/20261006140143/https://checkphish.bolster.ai/live-url-scan/
- 107.Silent Push. “Monitored Queries.” Accessed . https://help.silentpush.com/docs/monitored-queries
- 108.Silent Push. “Assets Impersonation.” Accessed . https://help.silentpush.com/docs/assets-impersonation
- 109.Silent Push. “Brand Impersonation Monitoring and Queries.” Accessed . https://help.silentpush.com/docs/brand-impersonation-monitoring-and-queries
- 110.Silent Push. “Save and Automate Context Graph Search Queries.” Accessed . https://help.silentpush.com/docs/save-and-automate-context-graph-search-queries
- 111.Silent Push. “Notification Center.” Accessed . https://help.silentpush.com/docs/notification-center
- 112.Silent Push. “Domain Impersonation.” Accessed . https://help.silentpush.com/docs/domain-impersonation
- 113.Silent Push. “How To Use IOFA Feeds.” Accessed . https://help.silentpush.com/docs/how-to-use-iofa-feeds
- 114.Andrew Horton. “tld.rb (TLD and SLD validity table).” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/tld.rb
- 115.Andrew Horton. “CHANGELOG.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/CHANGELOG.md
- 116.Andrew Horton. “lib/typo.rb (DNS and popularity).” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/lib/typo.rb
- 117.Andrew Horton. “lib/keyboard.rb.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/lib/keyboard.rb
- 118.Andrew Horton. “output.rb (human, CSV, JSON).” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/output.rb
- 119.GitHub. “Contributors.” Accessed . https://api.github.com/repos/urbanadventurer/urlcrazy/contributors
- 120.GitHub. “GitHub profile of urbanadventurer.” Accessed . https://api.github.com/users/urbanadventurer
- 121.GitHub. “GitHub releases.” Accessed . https://api.github.com/repos/urbanadventurer/urlcrazy/releases
- 122.GitHub. “Commit list.” Accessed . https://api.github.com/repos/urbanadventurer/urlcrazy/commits?per_page=100
- 123.Kali Linux (OffSec). “urlcrazy, Kali Linux Tools.” Accessed . https://www.kali.org/tools/urlcrazy/
- 124.Andrew Horton. “country.rb.” Accessed . https://github.com/urbanadventurer/urlcrazy/blob/78bf6e855d6d83e387ae3b5c8ffc36f241b96f66/country.rb
- 125.Rangertaha. “README at release `0.8.2` (lines 155 to 183).” Accessed . https://github.com/rangertaha/urlinsane/blob/0.8.2/README.md
- 126.GitHub. “GitHub repository metadata.” Accessed . https://api.github.com/repos/rangertaha/urlinsane
- 127.Rangertaha. “`observe/dns/dns.go`.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/observe/dns/dns.go#L232-L241
- 128.Rangertaha. “`variant/tld/tld.go`.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/variant/tld/tld.go
- 129.Rangertaha. “`variant/fsd/fsd.go`.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/variant/fsd/fsd.go
- 130.Rangertaha. “`variant/registry.go` (`RegisteredLanguages`, `RegisteredKeyboards`, `adjacencySignature` and `PublicSuffixes`).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/variant/registry.go#L117-L222
- 131.Rangertaha. “Compiled suffix-rule inventory.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/datasets/tld.go
- 132.Rangertaha. “`observe/whois/whois.go` (lines 42 to 110, 161 to 201).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/observe/whois/whois.go#L42-L110
- 133.Rangertaha. “`analyze/campaign/campaign.go` (clustering and analyzer/model separation comment).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/analyze/campaign/campaign.go#L27-L75
- 134.GitHub. “Latest commit.” Accessed . https://api.github.com/repos/rangertaha/urlinsane/commits/4f53d2e839f79520dc520976f1b634fdb3566406
- 135.Rangertaha. “URLInsane documentation home.” Accessed . https://rangertaha.github.io/urlinsane/
- 136.Rangertaha. “Implemented debug-logging flag.” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/cmd/urlinsane/root.go#L58-L71
- 137.elceef. “dnstwist.py (`--registered` option).” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/dnstwist.py#L1272
- 138.Rangertaha. “`observe/all/all.go` (`New`).” Accessed . https://github.com/rangertaha/urlinsane/blob/4f53d2e839f79520dc520976f1b634fdb3566406/internal/plugins/observe/all/all.go#L28-L58
- 139.SecurityShrimp (`f8al`). “dnsrazzle/RDAPUtil.py.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/RDAPUtil.py#L45
- 140.SecurityShrimp (`f8al`). “dnsrazzle/NetUtil.py (RDAP call, nmap, reconDNS).” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/NetUtil.py#L87
- 141.SecurityShrimp (`f8al`). “reconDNS `general_enum` (fork of darkoperator/dnsrecon; PyPI `reconDNS` 0.0.3).” Accessed . https://github.com/f8al/dnsrecon/blob/HEAD/recondns/recondns.py#L653
- 142.SecurityShrimp (`f8al`). “Release v2.0.0 "Culminating Capybara" (all releases via `api.github.com/repos/f8al/DNSrazzle/releases`).” Accessed . https://github.com/f8al/DNSrazzle/releases/tag/v2.0.0
- 143.GitHub. “Commit list on `main`.” Accessed . https://api.github.com/repos/f8al/DNSrazzle/commits?per_page=25
- 144.SecurityShrimp. “Products.” Accessed . https://www.securityshrimp.com/products.html
- 145.SecurityShrimp (`f8al`). “requirements.txt.” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/requirements.txt
- 146.SecurityShrimp (`f8al`). “dnsrazzle/MailUtil.py (also `etc/mail_config.conf.sample`).” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/MailUtil.py#L145
- 147.SecurityShrimp (`f8al`). “dnsrazzle/IOUtil.py (CSV columns).” Accessed . https://github.com/f8al/DNSrazzle/blob/1cf41837574610d42418fd078c51903b52fb850b/dnsrazzle/IOUtil.py#L112
- 148.InfoconDB. “Detecting Brand Impersonation with Computer Vision and DNSRazzle (Kernelcon 2022).” Accessed . https://infocondb.org/con/kernelcon/kernelcon-2022/detecting-brand-impersonation-with-computer-vision-and-dnsrazzle
- 149.Health-ISAC. “Detecting Brand Impersonation with DNSRazzle and Computer Vision.” Accessed . https://health-isac.org/archive/detecting-brand-impersonation-with-dnsrazzle-and-computer-vision
- 150.atenreiro. “homograph.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/homograph.py
- 151.atenreiro. “dns_resolvers.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/dns_resolvers.py
- 152.atenreiro. “phishing.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/phishing.py
- 153.atenreiro. “vt.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/vt.py
- 154.atenreiro. “port_check.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/port_check.py
- 155.openSquat. “Integrations, email, Slack and Teams alerts.” Accessed . https://opensquat.com/integrations
- 156.atenreiro. “api_client.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/api_client.py
- 157.atenreiro. “pyproject.toml.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/pyproject.toml
- 158.GitHub. “Commits and contributors (`gh api`).” Accessed . https://api.github.com/repos/atenreiro/opensquat/commits
- 159.PyPI. “opensquat on PyPI (JSON).” Accessed . https://pypi.org/pypi/opensquat/json
- 160.atenreiro. “cli.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/cli.py
- 161.atenreiro. “output.py.” Accessed . https://github.com/atenreiro/opensquat/blob/8476845019a3888d66a159f5abb5c4b23d6f9df4/opensquat/output.py
- 162.openSquat. “openSquat home page.” Accessed . https://opensquat.com/
- 163.CIRCL (typosquatter). “`ail-typo-squatting` README.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/README.md
- 164.CIRCL. “Homepage template (result table, include list).” Accessed . https://github.com/typosquatter/ail-typo-website/blob/6229cdc3d8f5f719b646743f443877e9c47b5300/templates/home_page.html
- 165.CIRCL. “README acknowledgment.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/README.md#acknowledgment
- 166.CIRCL. “CIRCL home page.” Accessed . https://www.circl.lu/
- 167.CIRCL. “`ALGO_NAME_LIST` (also `typo.py`, `format/output.py`).” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/generator/const/main.py#L51
- 168.CIRCL. “Bundled data directory.” Accessed . https://github.com/typosquatter/ail-typo-squatting/tree/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/etc
- 169.typosquatter. “Pinned homophone data, 486 nonempty entries.” Accessed . https://raw.githubusercontent.com/typosquatter/ail-typo-squatting/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/etc/homophones.txt
- 170.MISP warning lists, bundled by typosquatter. “Pinned dynamic-DNS data, 35,467 entries.” Accessed . https://raw.githubusercontent.com/typosquatter/ail-typo-squatting/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/etc/dynamic-dns.json
- 171.typosquatter. “Pinned common-misspelling data, 4,291 keys.” Accessed . https://raw.githubusercontent.com/typosquatter/ail-typo-squatting/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/etc/common-misspellings.json
- 172.CIRCL. “wrongTld.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/generator/wrongTld.py#L24
- 173.IANA, bundled by typosquatter. “Pinned TLD data, 1,441 entries.” Accessed . https://raw.githubusercontent.com/typosquatter/ail-typo-squatting/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/etc/tlds-alpha-by-domain.txt
- 174.CIRCL. “DNS resolving and catch-all.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/ail_typo_squatting/dns_local/resolving.py#L4
- 175.CIRCL. “pyproject.toml.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/pyproject.toml
- 176.AIL project. “LICENSE.” Accessed . https://github.com/typosquatter/ail-typo-squatting/blob/48d1103f6b4d4df4598db6f9b37144046711102a/LICENSE
- 177.GitHub. “Website repository metadata.” Accessed . https://api.github.com/repos/typosquatter/ail-typo-website
- 178.pypistats.org. “Recent downloads.” Accessed . https://pypistats.org/api/packages/ail-typo-squatting/recent
- 179.GitHub. “Library repository metadata.” Accessed . https://api.github.com/repos/typosquatter/ail-typo-squatting
- 180.GitHub. “GitHub releases.” Accessed . https://api.github.com/repos/typosquatter/ail-typo-squatting/releases
- 181.PyPI. “PyPI project.” Accessed . https://pypi.org/pypi/ail-typo-squatting/json
- 182.CIRCL. “Latest website commit.” Accessed . https://github.com/typosquatter/ail-typo-website/commit/6229cdc3d8f5f719b646743f443877e9c47b5300
- 183.GitHub. “Latest library commit API.” Accessed . https://api.github.com/repos/typosquatter/ail-typo-squatting/commits?per_page=1
- 184.GitHub. “Website releases.” Accessed . https://github.com/typosquatter/ail-typo-website/releases
- 185.CIRCL. “API route and policy paths.” Accessed . https://typosquatting-finder.circl.lu/api/doc
- 186.elceef. “webapp.py.” Accessed . https://github.com/elceef/dnstwist/blob/341395377f40761fe4152f43fd18eea757b6069a/webapp/webapp.py#L35
- 187.dnstwister. “Live IP test for `google.com`.” Accessed . https://dnstwister.report/api/ip/676f6f676c652e636f6d
- 188.dnstwister. “Documentation, FAQ.” Accessed . https://dnstwister.report/documentation/faq
- 189.dnstwister. “Live web UI resolution test.” Accessed . https://dnstwister.report/api/webui?pd=google.com
- 190.dnstwister. “Search page script.” Accessed . https://dnstwister.report/static/js/search.js
- 191.dnstwister. “Search result page.” Accessed . https://dnstwister.report/search?ed=6578616d706c652e636f6d
- 192.dnstwister. “Public API index (live JSON; also `/api/parked/` test).” Accessed . https://dnstwister.report/api/
- 193.ThreatQuotient. “DNS Twister CDF.” Accessed . https://helpcenter.threatq.com/Integration_Documentation/cdf/DNS_Twister_CDF.htm
- 194.Mindflow. “Dnstwister integration.” Accessed . https://mindflow.io/integrations/dnstwister
- 195.Robert Wallhead. “UNLICENCE.” Accessed . https://github.com/dnstwister/dnstwister/blob/ebf4ea72fee43d411bcc8d2e8a9b9bb375c49115/UNLICENCE
- 196.Marcin Ulikowski, modified by Robert Wallhead. “Embedded dnstwist module.” Accessed . https://github.com/dnstwister/dnstwister/blob/ebf4ea72fee43d411bcc8d2e8a9b9bb375c49115/dnstwister/dnstwist/__init__.py
- 197.dnstwister. “dnstwister status.” Accessed . https://dnstwister.report/status
- 198.dnstwister (via Internet Archive). “dnstwister status, web archive capture of 2025-10-15 (latest capture listed on 2026-11-08).” Accessed . https://web.archive.org/web/20251015133944/https://dnstwister.report/status
- 199.Robert Wallhead. “Open-source resolver.” Accessed . https://github.com/dnstwister/dnstwister/blob/ebf4ea72fee43d411bcc8d2e8a9b9bb375c49115/dnstwister/tools/__init__.py
- 200.Bolster. “Terms of Service, last updated 2024-10-01 (WB 2026-06-04).” Accessed . https://web.archive.org/web/20260604170146/https://checkphish.bolster.ai/terms-of-service/
- 201.Bolster. “CheckPhish scan APIs for phishing detection.” Accessed . https://bolster.ai/kbarticles/scan-apis-for-checkphish-users
- 202.Microsoft. “CheckPhish (Microsoft Security Copilot plugin), last updated 2025-08-25.” Accessed . https://learn.microsoft.com/en-us/copilot/security/plugin-checkphish
- 203.Microsoft Marketplace. “CheckPhish Scanner for Outlook, App capabilities.” Accessed . https://marketplace.microsoft.com/en-us/product/office/wa200003488
- 204.Splunk. “CheckPhish (Splunkbase app 6220).” Accessed . https://splunkbase.splunk.com/app/6220
- 205.Tines. “CheckPhish.ai × Tines.” Accessed . https://www.tines.com/stories/templates/checkphish-ai/
- 206.Silent Push. “Favicon Impersonation.” Accessed . https://help.silentpush.com/docs/favicon-impersonation.md
- 207.Silent Push. “HTML Title Impersonation.” Accessed . https://help.silentpush.com/docs/html-title-impersonation
- 208.Silent Push. “HTML Content Similarity.” Accessed . https://help.silentpush.com/docs/html-content-similarity
- 209.Silent Push. “SPQL Data Sources.” Accessed . https://help.silentpush.com/docs/data-sources
- 210.Silent Push. “Context Graph Search Datasources.” Accessed . https://help.silentpush.com/docs/context-graph-search-datasources
- 211.Silent Push. “Release 6.0.” Accessed . https://help.silentpush.com/docs/release-6-0
- 212.Silent Push. “About Us.” Accessed . https://www.silentpush.com/company/
- 213.Silent Push. “SPQL.” Accessed . https://help.silentpush.com/docs/spql
- 214.Silent Push. “SPQL Syntax Rules.” Accessed . https://help.silentpush.com/docs/syntax
- 215.Silent Push. “PADNS Tab.” Accessed . https://help.silentpush.com/docs/padns-tab
- 216.Silent Push. “Farsight Tab.” Accessed . https://help.silentpush.com/docs/farsight-tab
- 217.Silent Push. “Zetalytics Tab.” Accessed . https://help.silentpush.com/docs/zetalytics-tab
- 218.Silent Push. “Traffic Origin.” Accessed . https://www.silentpush.com/traffic-origin/
- 219.Silent Push. “TLP Amber Reports.” Accessed . https://help.silentpush.com/docs/tlp-amber-reports
- 220.Silent Push. “Intelligence On-Demand.” Accessed . https://www.silentpush.com/intelligence-on-demand/
- 221.Silent Push. “Purchase Analyst Credits.” Accessed . https://help.silentpush.com/docs/purchase-an-analsyt-credit
- 222.Silent Push. “Integrations.” Accessed . https://www.silentpush.com/integrations/
- 223.Silent Push. “Silent Push 6.1 Platform Detects Attacker Infrastructure Earlier.” Accessed . https://www.silentpush.com/press-releases/platform-6-1-earlier-action/
- 224.Silent Push. “Gaining Greater Control and Access Management with Preemptive Cyber Defense (Silent Push 6.2, 2026-10-06).” Accessed . https://www.silentpush.com/blog/platform-6-2/
- 225.Have I Been Squatted. “Homepage (footer tagline).” Accessed . https://haveibeensquatted.com/
- 226.Have I Been Squatted. “certgrep guide.” Accessed . https://docs.haveibeensquatted.com/certgrep/guide/
- 227.Have I Been Squatted. “Atlas observations: registration data by TLD.” Accessed . https://mcp.haveibeensquatted.com/mcp
- 228.Have I Been Squatted. “Passive DNS guide.” Accessed . https://docs.haveibeensquatted.com/features/passive-dns/
- 229.Spamhaus. “Spamhaus passive DNS endpoint, unauthenticated probe.” Accessed . https://beta-pdns.spamhaus.com/api/v3/login
- 230.Have I Been Squatted. “Atlas investigations.” Accessed . https://docs.haveibeensquatted.com/features/atlas-investigations/
- 231.Have I Been Squatted. “Atlas investigations (add domains and indicators).” Accessed . https://docs.haveibeensquatted.com/features/atlas-investigations/#steer-an-investigation
- 232.Have I Been Squatted. “Platform.” Accessed . https://haveibeensquatted.com/platform
- 233.Have I Been Squatted. “Access control reference.” Accessed . https://docs.haveibeensquatted.com/reference/access-control/
- 234.Have I Been Squatted. “Administration guide.” Accessed . https://docs.haveibeensquatted.com/guides/administration/
- 235.Have I Been Squatted. “Takedowns.” Accessed . https://haveibeensquatted.com/platform/takedowns
- 236.Have I Been Squatted. “Webhooks.” Accessed . https://docs.haveibeensquatted.com/integrations/webhooks/
- 237.Have I Been Squatted. “Agents.” Accessed . https://haveibeensquatted.com/platform/agents
- 238.Have I Been Squatted. “MCP server.” Accessed . https://docs.haveibeensquatted.com/ai/mcp/
- 239.Have I Been Squatted. “Slack app.” Accessed . https://docs.haveibeensquatted.com/ai/slack/
- 240.Have I Been Squatted. “API: Analyze a URL.” Accessed . https://docs.haveibeensquatted.com/guides/api/analyze/#analyze-a-url
- 241.Have I Been Squatted. “Tools: Analyze (URL analysis note, served without sign-in).” Accessed . https://haveibeensquatted.com/app/tools?mode=analyze
- 242.Have I Been Squatted. “API.” Accessed . https://docs.haveibeensquatted.com/guides/api/
- 243.Sectigo. “JSON output (timed request 2026-11-04; keys and `output=rss` response rechecked 2026-11-09).” Accessed . https://crt.sh/?q=%25.haveibeensquatted.com&output=json
- 244.CaliDog. “certstream-server README.” Accessed . https://github.com/CaliDog/certstream-server/blob/b19cba80d285ee0f63f2d8aac15e9d930433593a/README.md
- 245.Cali Dog Security. “CertStream `/example.json` (read 2026-11-04 and 2026-11-09).” Accessed . https://certstream.calidog.io/example.json
- 246.CaliDog. “ct_watcher.ex.” Accessed . https://github.com/CaliDog/certstream-server/blob/b19cba80d285ee0f63f2d8aac15e9d930433593a/lib/certstream/ct_watcher.ex
- 247.x0rz. “Phishing Catcher README.” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/README.md
- 248.x0rz. “catch_phishing.py.” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/catch_phishing.py#L26
- 249.x0rz. “external.yaml.” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/external.yaml
- 250.no0ne-code (user). “Solution to Certstream Down.” Accessed . https://github.com/x0rz/phishing_catcher/issues/86
- 251.Arthur Drichel, Vincent Drury, Justus von Brandt, Ulrike Meyer (RWTH Aachen University). “Finding Phish in a Haystack: A Pipeline for Phishing Classification on Certificate Transparency Logs (ARES 2021), sections 4.6.2 and 5.1, Table 1.” Accessed . https://sappan-project.eu/wp-content/uploads/2021/11/2021-drichel-Finding_Phish_in_a_Haystack-_A_Pipeline_for_Phishing_Classification_on_Certificate_Transparency_Logs.pdf
- 252.Sectigo. “crt.sh Certificate Search.” Accessed . https://crt.sh/
- 253.Sectigo. “crt.sh Advanced search.” Accessed . https://crt.sh/?a=1
- 254.crt.sh maintainers. “crtsh GitHub organization (via `gh api orgs/crtsh/repos`).” Accessed . https://github.com/crtsh
- 255.Sectigo. “Website Terms and Conditions.” Accessed . https://sectigo.com/terms-of-use
- 256.Sectigo. “Root Causes 216: What is crt.sh? (2022-04-11).” Accessed . https://www.sectigo.com/root-causes/root-causes-216-what-is-crt-sh
- 257.Sectigo. “Atom feed (timed requests 2026-11-04 and 2026-11-08; self link rechecked 2026-11-09).” Accessed . https://crt.sh/atom?identity=haveibeensquatted.com
- 258.Sectigo. “Public PostgreSQL.” Accessed .
- 259.crt.sh forum (Sectigo staff reply). “How to monitor all possibilities.” Accessed . https://groups.google.com/g/crtsh/c/IYrB12mUugQ
- 260.Sectigo (crt.sh database and search). “Guest database copies, refused connections and web search recheck (query: now, last replayed transaction, replay LSN, max certificate id, newest `entry_timestamp` for ids above 30003000000).” Accessed . https://crt.sh/?q=certgrep.sh&output=json&exclude=expired
- 261.Sectigo. “crt.sh Monitored Logs.” Accessed . https://crt.sh/monitored-logs
- 262.Sectigo. “Public PostgreSQL freshness recheck.” Accessed .
- 263.Cali Dog Security. “CertStream landing page (bundled text).” Accessed . https://certstream.calidog.io/static/js/app.47135fa.js
- 264.GitHub. “GitHub repository metadata via `gh api`.” Accessed . https://api.github.com/repos/CaliDog/certstream-server
- 265.CaliDog. “certstream-python README.” Accessed . https://github.com/CaliDog/certstream-python/blob/97eb5b37e2c2077495e20d6df3459088a5262b48/README.md
- 266.CaliDog. “certstream-go and certstream-js READMEs.” Accessed . https://github.com/CaliDog/certstream-go/blob/master/README.md
- 267.CaliDog maintainer. “Public certstream-server down (Fitblip comment).” Accessed . https://github.com/CaliDog/certstream-server/issues/110
- 268.Cali Dog Security. “CertStream `/latest.json` (read 2026-11-04, 2026-11-08 and 2026-11-09).” Accessed . https://certstream.calidog.io/latest.json
- 269.Have I Been Squatted (test of the Cali Dog Security server). “WebSocket client test, Node.js 22 built-in `WebSocket`, 2026-11-08 20:44 to 20:46 UTC.” Accessed .
- 270.CaliDog / community. “Service is down. (issue opened 2025-11-05; quoted reply 2026-04-01).” Accessed . https://github.com/CaliDog/certstream-python/issues/73
- 271.d-Rickyy-b. “certstream-server-go README.” Accessed . https://github.com/d-Rickyy-b/certstream-server-go/blob/6ae7d175ed0d4c95e58258fc7c735160dc35e7c2/README.md
- 272.d-Rickyy-b. “certstream-server-go CHANGELOG.” Accessed . https://github.com/d-Rickyy-b/certstream-server-go/blob/v1.10.1/CHANGELOG.md
- 273.GitHub. “Go fork default-branch head commit.” Accessed . https://api.github.com/repos/d-Rickyy-b/certstream-server-go/commits/6ae7d175ed0d4c95e58258fc7c735160dc35e7c2
- 274.GitHub. “Go fork repository metadata.” Accessed . https://api.github.com/repos/d-Rickyy-b/certstream-server-go
- 275.GitHub. “Go fork dev-branch commit, 2026-10-30.” Accessed . https://api.github.com/repos/d-Rickyy-b/certstream-server-go/commits/0a249c4cdf3edb8be1e438dabbb240497680f39f
- 276.x0rz. “LICENSE.” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/LICENSE
- 277.GitHub. “GitHub repository metadata via `gh api`.” Accessed . https://api.github.com/repos/x0rz/phishing_catcher
- 278.Phish Report (Bradley Kemp). “How to detect phishing websites in real-time using open source.” Accessed . https://phish.report/blog/phishing-catcher
- 279.x0rz. “suspicious.yaml.” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/suspicious.yaml
- 280.x0rz. “confusables.py (`unconfuse`).” Accessed . https://github.com/x0rz/phishing_catcher/blob/089208e3b8f052d494767c066866e80869add0cf/confusables.py#L1825
- 281.TrustRadius. “Top DNSTWIST Alternatives & Competitors in 2025 (archived 2025-06-17).” Accessed . http://web.archive.org/web/20250617165036/https://www.trustradius.com/products/dns-twist/competitors
- 282.TrustRadius. “List of Best Phishing Catcher Alternatives & Competitors 2025 (archived 2025-04-30).” Accessed . http://web.archive.org/web/20250430125755/https://www.trustradius.com/products/phishing-catcher/competitors
- 283.hoochiemama (user). “CertStream down?” Accessed . https://github.com/x0rz/phishing_catcher/issues/84
- 284.CaliDog maintainer. “Public certstream-server scope and congestion warning (Fitblip comment, 2023-12-14).” Accessed . https://github.com/CaliDog/certstream-server/issues/110#issuecomment-1854938217
- 285.GitHub. “Head commit of `master`.” Accessed . https://api.github.com/repos/x0rz/phishing_catcher/commits/089208e3b8f052d494767c066866e80869add0cf
- 286.GitHub. “Releases.” Accessed . https://api.github.com/repos/x0rz/phishing_catcher/releases
- 287.GitHub. “Tags.” Accessed . https://api.github.com/repos/x0rz/phishing_catcher/tags
- 288.Have I Been Squatted. “Atlas investigations (shareable view links).” Accessed . https://docs.haveibeensquatted.com/features/atlas-investigations/#read-the-map
- 289.Have I Been Squatted. “Atlas investigations (New investigation flow).” Accessed . https://docs.haveibeensquatted.com/features/atlas-investigations/#start-an-investigation
- 290.Have I Been Squatted. “Solutions.” Accessed . https://haveibeensquatted.com/solutions
- 291.Have I Been Squatted. “Brand protection.” Accessed . https://haveibeensquatted.com/solutions/brand-protection
- 292.Have I Been Squatted. “Network Intelligence.” Accessed . https://haveibeensquatted.com/platform/network-intelligence
- 293.openSquat. “About openSquat, commercial intelligence.” Accessed . https://opensquat.com/about
- 294.GitHub. “Open pull requests and issues (`api.github.com/repos/f8al/DNSrazzle/issues?state=open`).” Accessed . https://github.com/f8al/DNSrazzle/pulls