A modern CLI tool for retrieving domain registration details, TLS certificate information, HTTP responses, and DNS records.
- Domain Information - Query RDAP/WHOIS data for domain registration details
- TLS Certificate Inspection - Retrieve and analyze TLS certificate chains
- HTTP Response Analysis - Fetch HTTP headers and response information
- DNS Lookups - Query DNS records for domains
- Multiple Output Formats - Text and JSON output support
- Structured Logging - Built-in verbose mode for debugging
git clone https://github.com/flavioheleno/watchr.git
cd watchr
make buildThe binary will be available in ./bin/watchr
go install github.com/flavioheleno/watchr/cmd/watchr@latest# Get domain registration information
watchr domain example.com
# Inspect TLS certificate chain
watchr tls example.com
# Fetch HTTP response details
watchr http https://example.com
# Query DNS records
watchr dns example.com-f, --format- Output format:textorjson(default: text)-t, --timeout- Request timeout in seconds (default: 10)-v, --verbose- Enable verbose logging
# Get domain info in JSON format
watchr domain -f json example.com
# Check TLS with increased timeout
watchr tls -t 30 example.com
# HTTP request with verbose logging
watchr http -v https://api.example.com- Go 1.25.4 or later
- Make (optional, for using Makefile commands)
# Build the application
make build
# Run tests
make test
# Run tests with coverage
make test-cover
# Format code
make fmt
# Run linter
make lint
# Run all checks
make checkwatchr/
├── cmd/
│ └── watchr/ # Main application entry point
├── internal/
│ ├── cmd/ # Command implementations
│ ├── dns/ # DNS client and types
│ ├── rdap/ # RDAP client and types
│ ├── output/ # Output formatters
│ └── ...
├── bin/ # Compiled binaries
├── Makefile # Build automation
└── go.mod # Go module definition
# Run all tests
go test ./...
# Run tests with coverage
go test -cover ./...
# Run specific package tests
go test ./internal/dns/This project follows Test-Driven Development (TDD):
- Write failing test first
- Implement minimal code to pass
- Refactor as needed
- Ensure all checks pass:
make check
See AGENTS.md for detailed development guidelines.
- cobra - CLI framework
- whois - WHOIS client
- whois-parser - WHOIS data parser
- dns - DNS library
- rdap - RDAP client
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write tests for your changes
- Ensure all tests pass (
make test) - Run code quality checks (
make check) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with Go and powered by excellent open-source libraries from the Go community.