Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kegato/letsencrypt-inwx
A small cli utility for automating the letsencrypt dns-01 challenge for domains hosted by inwx.
https://github.com/kegato/letsencrypt-inwx
acme certbot certificate dns-01 inwx letsencrypt rust wildcard
Last synced: 3 months ago
JSON representation
A small cli utility for automating the letsencrypt dns-01 challenge for domains hosted by inwx.
- Host: GitHub
- URL: https://github.com/kegato/letsencrypt-inwx
- Owner: ciphax
- License: mit
- Archived: true
- Created: 2018-03-18T13:49:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-07T18:59:09.000Z (about 4 years ago)
- Last Synced: 2024-04-05T21:02:45.048Z (7 months ago)
- Topics: acme, certbot, certificate, dns-01, inwx, letsencrypt, rust, wildcard
- Language: Rust
- Homepage:
- Size: 115 KB
- Stars: 42
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# letsencrypt-inwx [![CircleCI](https://circleci.com/gh/kegato/letsencrypt-inwx.svg?style=svg)](https://circleci.com/gh/kegato/letsencrypt-inwx) [![Docker Pulls](https://img.shields.io/docker/pulls/kegato/letsencrypt-inwx.svg)](https://hub.docker.com/r/kegato/letsencrypt-inwx/) [![Crates.io](https://img.shields.io/crates/v/letsencrypt-inwx.svg)](https://crates.io/crates/letsencrypt-inwx)
A small cli utility for automating the letsencrypt dns-01 challenge for domains hosted by inwx. This allows you to obtain wildcard certificates from letsencrypt.
## Installation
### Ubuntu / Debian
- Build the .deb package or download it from [releases](https://github.com/kegato/letsencrypt-inwx/releases/latest) and install it with `sudo dpkg -i `### Other linux
- Build the executable or download it from [releases](https://github.com/kegato/letsencrypt-inwx/releases/latest) and copy it to `/usr/bin/`
- Copy both certbot scripts from `./etc/` to `/usr/lib/letsencrypt-inwx/`### With cargo
- Run `cargo install letsencrypt-inwx`## Configuration
You can store the configuration file at `/etc/letsencrypt-inwx.json` or at `~/.config/letsencrypt-inwx.json` when used with certbot or specify it's path with the `-c` option.
The configuration file should look like this (without the comments):
```js
{
"accounts": [
{
"username": "user",
"password": "pass",
// optional, if the domain is not configured all accounts will be tried
"domains": [
"example.com"
],
// optional, if true the public inwx test server will be used
"ote": false
}
],
// optional
"options": {
// optional, if true letsencrypt-inwx will not wait until the created record is publicly visible, default: false
"no_dns_check": false,
// optional, the amount of time in seconds to wait after creating a record, default: 5 seconds
"wait_interval": 5,
// optional: the dns server to use, default: the google public dns server
"dns_server": "8.8.8.8"
}
}
```## Usage
### With Docker and certbot
- Generate your certificate by running `docker run --rm -it -v /etc/letsencrypt-inwx.json:/etc/letsencrypt-inwx.json -v /etc/letsencrypt:/etc/letsencrypt kegato/letsencrypt-inwx certonly --email --preferred-challenges=dns-01 --manual --manual-auth-hook /usr/lib/letsencrypt-inwx/certbot-inwx-auth --manual-cleanup-hook /usr/lib/letsencrypt-inwx/certbot-inwx-cleanup --manual-public-ip-logging-ok -d `
- You can find your certificate in `/etc/letsencrypt/live//`
- You can renew your certificate by running `docker run --rm -it -v /etc/letsencrypt-inwx.json:/etc/letsencrypt-inwx.json -v /etc/letsencrypt:/etc/letsencrypt kegato/letsencrypt-inwx renew`### With certbot
- You can get certificates from [certbot](https://certbot.eff.org/) by running `sudo certbot certonly -n --agree-tos --email --preferred-challenges=dns-01 --manual --manual-auth-hook /usr/lib/letsencrypt-inwx/certbot-inwx-auth --manual-cleanup-hook /usr/lib/letsencrypt-inwx/certbot-inwx-cleanup --manual-public-ip-logging-ok -d `### Manually
- Create a txt record with `letsencrypt-inwx create -c -d _acme-challenge. -v `
- Delete it with `letsencrypt-inwx delete -c -d _acme-challenge.`## Building
### Requirements
`libssl-dev` and `pkg-config` are required when building on Ubuntu / Debian see [here](https://github.com/sfackler/rust-openssl).### .deb package
- Install [cargo-deb](https://github.com/mmstick/cargo-deb) by running `cargo install cargo-deb`
- Run `cargo deb` to build the package### only the executable
- Run `cargo build --release` to build the `letsencrypt-inwx` executable