DomSeek is a Python-based command-line utility designed to evaluate the status of multiple domains or URLs provided via a file or standard input. This tool is optimized for performance, flexibility, and extensibility, making it suitable for both personal and professional use.
- Multi-threaded processing for faster execution.
- Customizable status code filters, allowing users to focus on specific HTTP responses.
- Support for standard input (stdin) and file-based input.
- Domain filtering by keywords or patterns.
- Color-coded output using
coloramafor better readability. - Handles URLs without protocols (e.g.,
example.com). - Distinguishes between active and inactive domains with detailed reporting.
- Python 3.8 or higher
- Required Python packages:
requestscoloramaargparse
-
Clone the repository:
git clone https://github.com/anyrta7/domseek.git cd domseek -
Install dependencies:
using virtual environment (optional but recomended)
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txtwithout virtual environment
pip install -r requirements.txt
-
Make the script executable (optional):
chmod +x domseek.py
To check domains listed in a file and filter by specific status codes:
python domseek.py -l list.txt -sc 200To pipe a list of domains via standard input:
cat list.txt | python domseek.py -sc 200-sc,--status-code: Filter by HTTP status codes (comma-separated).-fd,--filter-domain: Filter domains by specific substrings or keywords (comma-separated).-ia,--inactive: Display only inactive domains.-is,--ignore-ssl: Ignore SSL certificate validation errors.-th,--threads: Set the number of threads for parallel processing (default: 10).-tm,--timeout: Set the timeout for HTTP requests (default: 5 seconds).--retry: Number of retries for failed requests (default: 3).
-
Check domains and display only those responding with 200 or 403:
python domseek.py -l domains.txt -sc 200,403
-
Filter domains containing specific keywords:
python domseek.py -l domains.txt --filter "com,org,net" -
Process domains with 20 threads:
python domseek.py -l domains.txt -th 20
- Active Domains: Displayed as
[status code] domain - Inactive Domains: Displayed as
[INACTIVE] domain - Color Coding:
- Green: Active domains with valid status codes.
- Yellow: Warnings or retries.
- Red: Errors or inactive domains.
project_root/
├── domseek.py # Main script
├── requirements.txt # Python dependencies
├── utils/
│ └── file_handler.py # File handler
├── domain_checker/
│ ├── filters.py # Domain filters
│ └── checker.py # Core
└── README.md # Documentation
tests/
## Contributing
Contributions are welcome! Please follow these steps:
1. Fork the repository.
2. Create a feature branch:
```bash
git checkout -b feature-name
- Commit changes and push to your fork:
git push origin feature-name
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.