Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/acme-dns/acme-dns-client
A client software for https://github.com/joohoi/acme-dns
https://github.com/acme-dns/acme-dns-client
Last synced: 21 days ago
JSON representation
A client software for https://github.com/joohoi/acme-dns
- Host: GitHub
- URL: https://github.com/acme-dns/acme-dns-client
- Owner: acme-dns
- License: mit
- Created: 2021-01-11T01:46:18.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-06-29T22:22:06.000Z (over 1 year ago)
- Last Synced: 2024-08-05T17:31:39.965Z (4 months ago)
- Language: Go
- Size: 33.2 KB
- Stars: 100
- Watchers: 8
- Forks: 15
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - acme-dns/acme-dns-client - A client software for https://github.com/joohoi/acme-dns (Go)
README
# acme-dns-client
A client software for [acme-dns](https://github.com/joohoi/acme-dns) with emphasis on usability and guidance through
setup and additional security safeguard mechanisms. It is designed for usage with existing ACME clients with minimal
configuration.## Installation
- [Download](https://github.com/acme-dns/acme-dns-client/releases/latest) a prebuilt binary from
[releases page](https://github.com/acme-dns/acme-dns-client/releases/latest), unpack and run!_or_
- If you have recent go compiler installed: `go get -u github.com/acme-dns/acme-dns-client` (the same command works for updating)_or_
- git clone https://github.com/acme-dns/acme-dns-client ; cd acme-dns-client ; go get ; go build## Features
- acme-dns account pre-registration
- Guided CNAME record creation
- Guided CAA record creation
- Modular ACME client support for CAA record creation guidance (for ACME-CAA accounturi)
- Configuration checks to ensure operation (CNAME record, account exisence)
- Interactive setup## Example usage with Certbot
### 1. Create a new ACME account
```
# sudo certbot register
```This creates a new ACME account that is used internally by Certbot. In case you are not planning to set up
CAA record, this step can be omitted.### 2. Create a new acme-dns account for your domain and set it up
```
# sudo acme-dns-client register -d your.domain.example.org -s https://auth.acme-dns.io
```This attempts to create a new account to acme-dns instance running at `auth.acme-dns.io`.
After account creation, the user is guided through proper CNAME record creation for the main DNS zone for domain
`your.domain.example.org`.Optionally the same will be done for CAA record creation. `acme-dns-client` will attempt to read the account URL from
active Certbot configuration (created in step 1)`acme-dns-client` will monitor the DNS record changes to ensure they are set up correctly.
### 3. Run Certbot to obtain a new certificate
```
# sudo certbot certonly --manual --preferred-challenges dns \
--manual-auth-hook 'acme-dns-client' -d your.domain.example.org
```This runs Certbot and instructs it to obtain a new certificate for domain `your.domain.example.org` by using a DNS
challenge and `acme-dns-client` as the authenticator. After successfully obtaining the new certificate this configuration
will be saved in Certbot configuration and will be automatically reused when it renews the certificate.## Usage
```
acme-dns-client - v0.1Usage: acme-dns-client COMMAND [OPTIONS]
Commands:
register Register a new acme-dns account for a domain
check Check the configuration and settings of existing acme-dns accounts
list List all the existing acme-dns accounts and perform simple CNAME checks for themOptions:
--help Print this help textTo get help for specific command, use:
acme-dns-client COMMAND --helpEXAMPLE USAGE:
Register a new acme-dns account for domain example.org:
acme-dns-client register -d example.org
Register a new acme-dns account for domain example.org, allow updates only from 198.51.100.0/24:
acme-dns-client register -d example.org -allow 198.51.100.0/24Check the configuration of example.org and the corresponding acme-dns account:
acme-dns-client check -d example.orgCheck the configuration of all the domains and acme-dns accounts registered on this machine:
acme-dns-client checkPrint help for a "register" command:
acme-dns-client register --help```