CLI wrapper around the Let's Debug API for diagnosing Let's Encrypt certificate issuance issues
Project description
lets-debug-helper
A small command-line wrapper around the Let's Debug public API. Hand it a domain name and it submits a diagnostic test, polls until the result is ready, and prints any problems found in a readable, color-coded format. Useful when you're trying to figure out why Let's Encrypt won't issue a certificate for a domain you control.
Install
pip install lets-debug-helper
Requires Python 3.13+.
Usage
lets-debug example.com
Wildcards are supported:
lets-debug "*.example.com"
For full options:
lets-debug --help
Example output
When the domain has issues:
Checking Domain: example.com
Testing ID: 2916375
URL: https://letsdebug.net/example.com/2916375
Waiting for test to complete....
Warning Type: IssueFromLetsEncrypt
Explanation: A test authorization for example.com to the Let's Encrypt staging
service has revealed issues that may prevent any certificate for
this domain being issued.
Details: Error creating new order :: Cannot issue for "example.com": ...
Severity: Error
When everything checks out:
Checking Domain: yourdomain.com
Testing ID: 2916380
URL: https://letsdebug.net/yourdomain.com/2916380
Waiting for test to complete....
All OK!
No issues were found with yourdomain.com. If you are having problems with
creating an SSL certificate, please visit the Let's Encrypt Community forums
and post a question there.
https://community.letsencrypt.org/
What it checks
The Let's Debug service runs a battery of pre-flight checks that frequently catch the real reasons certificate issuance fails. A non-exhaustive list:
- DNS resolution and authoritative-NS sanity
- CAA records that disallow Let's Encrypt
- Public-suffix-list / domain blocklist hits
- HTTP-01 reachability (port 80 open, no redirect loops, correct content type)
- TXT record state for DNS-01 (when applicable)
- Cloudflare / CDN-fronted SSL configuration warnings
- IPv4/IPv6 reachability mismatches
- Rate-limit-state hints from Let's Encrypt's staging environment
For the full list and underlying logic, see the Let's Debug source.
Exit codes
| Code | Meaning |
|---|---|
0 |
Test completed successfully (regardless of whether problems were reported) |
1 |
API error, JSON decode error, or test did not complete within 60 seconds |
Contributing
See CONTRIBUTING.md for dev setup, the make targets, and the release process.
License
MIT.
Acknowledgements
This tool is just a thin client. All the diagnostic work is done by the Let's Debug project — please consider supporting them.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lets_debug_helper-1.6.6.tar.gz.
File metadata
- Download URL: lets_debug_helper-1.6.6.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0a441a1f27fe8e452df0f2dfebbe5e60eb4c07851347ffcc18359be9ada6a40
|
|
| MD5 |
d0c4f4e005348865fe4185f4ce46c590
|
|
| BLAKE2b-256 |
6582e6295647b3f0032636ad4f8ed196b80b2cf5ab8dc24c524e1dd52a35a776
|
File details
Details for the file lets_debug_helper-1.6.6-py3-none-any.whl.
File metadata
- Download URL: lets_debug_helper-1.6.6-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1013-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6566c36cf1a0e11ab0e7832812ab19a1ac30e108a310240750fc59204c8f3f9d
|
|
| MD5 |
c8ad04cbba479e4ca5a165b797c152a4
|
|
| BLAKE2b-256 |
e058612b2c259e4ff92e8a72fd45fb152d17907fe0e7aa75cd94e53d64975851
|