DomainTwistex is an Elixir library that provides domain name permutation and typosquatting detection capabilities, powered by the Rust-based twistrs library. Version 0.4.0 introduces enhanced concurrency features and improved domain validation.
- Generate domain permutations for typosquatting detection
- Comprehensive domain validation including:
- IP resolution
- MX record validation
- TXT record checking
- Nameserver verification
- Server response analysis
- High-performance concurrent domain analysis
- Rust-powered permutation generation
Add domaintwistex
to your list of dependencies in mix.exs
:
def deps do
[
{:domaintwistex, "~> 0.6.0"}
]
end
- Elixir 1.18 or later
- Rust toolchain (for compiling the native extension)
# Basic domain analysis
domains = DomainTwistex.analyze_domain("example.com")
# Get domains with MX records
live_domains = DomainTwistex.get_live_mx_domains("example.com")
# Advanced usage with custom options
domains = DomainTwistex.analyze_domain("example.com",
max_concurrency: 50,
timeout: 5000,
ordered: false
)
New in 0.4.0:
max_concurrency
: Maximum number of concurrent tasks (default: System.schedulers_online() * 2)timeout
: Timeout for each task in milliseconds (default: 5000)ordered
: Maintain result order (default: false)
The library uses:
- Rust NIFs for domain permutation generation
- Concurrent task processing for domain validation
- Default system DNS resolution
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -am 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the BSD-3-Clause License.
This project includes code from twistrs, which is licensed under the MIT License. Copyright (c) 2023 JuxhinDB
OsintOwl