Domain Scanner: A Powerful Go Tool for Domain Availability Checking
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
Domain Scanner is a robust Go-based tool designed to check the availability of domain names efficiently. It helps users find available domains by scanning against various patterns, dictionary inputs, and advanced filters. With features like multi-method verification and a smart performance warning system, it ensures comprehensive and safe domain discovery.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
Domain Scanner is a powerful and flexible domain name availability checker written in Go. This robust open-source tool helps users efficiently find available domain names by checking multiple registration indicators and providing detailed verification results. It supports various methods for domain generation, including pattern-based scanning, dictionary input, and advanced regular expression filtering, making it an indispensable utility for domain researchers and developers.
Installation
Getting started with Domain Scanner is straightforward. Follow these steps to clone the repository and set up the project:
git clone https://github.com/xuemian168/domain-scanner.git
cd domain-scanner
go mod download
Examples
Domain Scanner offers a range of options for flexible domain checking. Here are some common usage examples:
1. Check 3-letter .li domains with 20 workers:
go run main.go -l 3 -s .li -p D -workers 20
2. Use a dictionary file for word-based domain checking:
go run main.go -dict words.txt -s .com
3. Use regex filter to match domain prefix (e.g., two letters followed by a number):
go run main.go -l 3 -s .li -p D -r "^[a-z]{2}[0-9]$"
4. Use advanced regexp2 features for repeating patterns (e.g., "aaa", "bbb"):
go run main.go -l 3 -s .li -p D -r "^(.)\\1{2}$"
Why Use Domain Scanner?
Domain Scanner stands out with its comprehensive feature set and focus on performance and user safety:
- High Performance: Built with Go, it leverages concurrent processing for fast and efficient domain checking.
- Multi-method Verification: It verifies domain availability using DNS records (NS, A, MX), WHOIS information, and SSL certificate checks, providing accurate results.
- Advanced Filtering: Utilize powerful regular expressions with
regexp2support, including backreferences and lookarounds, for precise domain matching. - Flexible Domain Generation: Generate domains from patterns (numbers, letters, alphanumeric) or use dictionary files for word-based scanning.
- Smart Performance Warnings: An intelligent system warns users about potentially long scans, estimating time, network load, and resource usage, preventing accidental multi-day operations.
- Robust Error Handling: Features automatic retry mechanisms for failed queries and built-in ReDoS attack protection for regex patterns.
- Detailed Output: Provides real-time progress, verification signatures for registered domains, and saves results to separate files.
Links
- GitHub Repository: xuemian168/domain-scanner
- Web Version: zli.li
Source repository
Open the original repository on GitHub.