Over the years, troubleshooting the root cause of connection problems has always given me headaches. It often required using multiple different tools and manually interpreting their results.
conndoc is a simple yet extensive command-line tool that aims to make connectivity diagnosis easier. It supports checks for ping, DNS, SSL, HTTP, and TCP, and provides a handy summary view.
pip install conndocbrew tap hmerac/conndoc
brew install conndocTo see all available commands and options:
conndoc --helpYou can provide either a domain name or a valid IP address as input to most commands.
Run all applicable checks and show a live summary table.
conndoc summary google.comPing a host.
conndoc ping google.comResolve a domain's DNS to IP addresses.
conndoc checkdns google.comInspect SSL certificate details (only for domains).
conndoc checkssl google.comSend an HTTP GET request and show basic diagnostics.
conndoc checkhttp https://google.comCheck if a TCP port is open.
conndoc checktcp google.com 443For IPs, DNS and SSL will be skipped automatically.
- Python 3.9+
- Dependencies:
typer,rich,httpx
Here are some planned and upcoming features for conndoc:
-
ICMP latency graph
Show ping latencies over time as simple terminal plots. -
Traceroute support
Trace the path packets take through the network and measure latency at each hop. -
Port scan (safe mode)
Scan a set of common TCP ports to identify open services safely and quickly. -
Save and export results
Export diagnostics in JSON or Markdown format for easier sharing or CI integration. -
Cross-platform packaging
Add better support for Windows installers and Linux.deb/.rpmdistributions. -
Plugin support
Let users extend Conndoc with custom checks that integrate into the summary view.
Contributions are very welcome! Whether it's fixing a bug, improving the documentation, or suggesting a new feature — every bit helps.
If you're unsure where to start, feel free to open an issue or check out the roadmap for ideas.
By contributing, you agree that your code will be licensed under the Apache License 2.0.
- Fork the repository
- Create a new branch (
git checkout -b my-feature) - Make your changes
- Commit and push (
git commit -am 'Add feature' && git push) - Open a Pull Request 🚀
If you're adding a new feature, try to include a short demo or usage example.
Looking forward to seeing what you build!
Apache License 2.0