Nginx servers need SSL/TLS certificates for secure connections. Existing solutions like Certbot are often too large and complex for simple setups.
Zero is a lightweight Go ACME client for obtaining and renewing SSL/TLS certificates from ZeroSSL using the ACME protocol.
- Obtains and renews SSL/TLS certificates from ZeroSSL
- Supports HTTP-01 challenge
- Automatic renewal before expiration
- Minimal dependencies
- Automatic retrieval of ZeroSSL credentials using email
- Configurable certificate storage directory
- POSIX-compatible command-line interface
- Go 1.16 or later
go install github.com/yarlson/zero@latest
zero -d example.com -e [email protected] [-c /path/to/certs] [-i] [-r]
or using long-form flags:
zero --domain example.com --email [email protected] [--cert-dir /path/to/certs] [--issue] [--renew]
Options:
-d, --domain
: Domain name for the certificate (required)-e, --email
: Email address for credential retrieval and account registration (required)-c, --cert-dir
: Directory to store certificates (default: "./certs")-i, --issue
: Force issuance of a new certificate-r, --renew
: Force renewal of an existing certificate
Without --issue
or --renew
, Zero checks the existing certificate and renews if needed.
For more information, run:
zero --help
Certificates are stored in the ./certs
directory by default. Use the --cert-dir
flag to specify a custom directory for certificate storage.
- Only supports HTTP-01 challenge
- Designed for single-domain certificates
- No support for wildcard certificates
Contributions are welcome. Please submit pull requests with clear descriptions of changes and updates to tests if applicable.
This project is licensed under the MIT License - see the LICENSE file for details.