Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/atenreiro/opensquat
/ types & classes
Types & classes
44 in github.com/atenreiro/opensquat
⨍
Functions
180
◇
Types & classes
44
↳
Endpoints
5
↓ 9 callers
Class
APIClient
Thin client for the openSquat lookalike endpoint. One instance owns one requests.Session. Safe to share across threads in --api mode (re
opensquat/api_client.py:87
↓ 9 callers
Class
FeedManager
opensquat/feed_manager.py:18
↓ 3 callers
Class
APIError
Generic openSquat API error.
opensquat/api_client.py:54
↓ 2 callers
Class
APIBadRequest
400 Bad Request — invalid keyword or parameter.
opensquat/api_client.py:83
↓ 2 callers
Class
AuthError
Raised when no usable API key can be resolved.
opensquat/auth.py:22
↓ 2 callers
Class
CTLog
opensquat/ct.py:18
↓ 1 callers
Class
APIAuthError
401 Unauthorized — missing or invalid API key.
opensquat/api_client.py:58
↓ 1 callers
Class
APIPlanError
403 Forbidden — plan limit exceeded.
opensquat/api_client.py:62
↓ 1 callers
Class
APIQuotaExhausted
429 Too Many Requests — monthly quota exhausted (permanent until reset).
opensquat/api_client.py:66
↓ 1 callers
Class
APIRateLimited
429 Too Many Requests with Retry-After — transient upstream rate limit, distinct from permanent quota depletion. Carries the retry delay in second
opensquat/api_client.py:74
↓ 1 callers
Class
ApiOptions
Per-keyword API call options.
opensquat/app.py:82
↓ 1 callers
Class
DNSValidator
opensquat/dns_validator.py:11
↓ 1 callers
Class
LookalikeDomain
One matched domain plus the per-domain metadata the server returned. All fields except `domain` are optional. Community and Premium Feed mod
opensquat/api_client.py:28
↓ 1 callers
Class
LookalikeResult
Parsed response from POST /v1/nrd/lookalike/{keyword}.
opensquat/api_client.py:44
↓ 1 callers
Class
SquattingDetector
opensquat/squatting_detector.py:14
↓ 1 callers
Class
_RateLimiter
Thread-safe fixed-interval rate limiter shared across worker threads. When rate_per_sec is None or <= 0, wait() is a no-op (zero overhead).
opensquat/app.py:48
Class
CRTSH
Class responsible for checking given domain for CT logs.
opensquat/ct.py:30
Class
CheckUpdate
This domain class verifies if there is a newer upgrade avaiable To use: CheckUpdate.main() Attribute: URL: The URL with
opensquat/check_update.py:14
Class
Domain
Main orchestration class for OpenSquat.
opensquat/app.py:91
Class
InputFile
opensquat/file_input.py:15
Class
Phishing
Class Phishing. To use: Phishing().main(keyword) Attribute: keyword: list of keywords
opensquat/phishing.py:19
Class
PortCheck
This domain class verifies if a port for a number is open or not To use: PortCheck.main("opensquat.com") Attribute: dom
opensquat/port_check.py:17
Class
Quad9
The Quad9 is responsible for to check if the doman is malicious To use: Quad9().main(domain) Attribute: domain: the dom
opensquat/dns_resolvers.py:15
Class
SaveFile
The SaveFile is responsible for the file saving operations. To use: Domain().main(keywords, confidence, domains) Attribute:
opensquat/output.py:17
Class
TestAPIClientInit
tests/test_api_client.py:65
Class
TestAuthErrorExit
Non-community mode with no usable key must exit -1.
tests/test_arg_parser.py:64
Class
TestCRTSH
Tests for Certificate Transparency checking.
tests/test_ct.py:6
Class
TestCTLog
Tests for CTLog data class.
tests/test_ct.py:31
Class
TestDeprecatedPeriodFlag
-p/--period is deprecated and should exit with a clear message.
tests/test_arg_parser.py:133
Class
TestExtractDetailFallback
_extract_detail now falls back to response.text when body is not JSON.
tests/test_api_client.py:322
Class
TestFeedManagerHeaders
tests/test_feed_manager.py:19
Class
TestFuzzinessChoices
--api-fuzziness has a closed set of valid values.
tests/test_arg_parser.py:91
Class
TestLoadAPIKey
tests/test_auth.py:15
Class
TestLookalikeErrors
tests/test_api_client.py:213
Class
TestLookalikeHappyPath
tests/test_api_client.py:94
Class
TestMaskKey
tests/test_auth.py:123
Class
TestModeResolution
The mode flag derivation branches of get_args().
tests/test_arg_parser.py:10
Class
TestPremiumDownloadHeaders
tests/test_feed_manager.py:56
Class
TestPremiumSkipsMD5
tests/test_feed_manager.py:42
Class
TestRateLimitFlag
--api-rate-limit parses to an int and defaults to None (unlimited).
tests/test_arg_parser.py:111
Class
TestRateLimitHandling
429 responses split: with Retry-After => rate limit, without => quota.
tests/test_api_client.py:281
Class
TestSafeFilenameForPremium
tests/test_feed_manager.py:98
Class
TestValidations
tests/test_validations.py:5
Class
VirusTotal
This domain class validates a domain on VirusTotal. To use: VirusTotal().main("opensquat.com") # domain report
opensquat/vt.py:15