{"id":13463947,"url":"https://github.com/ciphax/letsencrypt-inwx","last_synced_at":"2025-03-25T09:31:18.547Z","repository":{"id":62441979,"uuid":"125729638","full_name":"ciphax/letsencrypt-inwx","owner":"ciphax","description":"A small cli utility for automating the letsencrypt dns-01 challenge for domains hosted by inwx.","archived":true,"fork":false,"pushed_at":"2020-10-07T18:59:09.000Z","size":118,"stargazers_count":43,"open_issues_count":2,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T16:22:08.621Z","etag":null,"topics":["acme","certbot","certificate","dns-01","inwx","letsencrypt","rust","wildcard"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ciphax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-18T13:49:47.000Z","updated_at":"2024-10-18T20:56:14.000Z","dependencies_parsed_at":"2022-11-01T22:02:24.120Z","dependency_job_id":null,"html_url":"https://github.com/ciphax/letsencrypt-inwx","commit_stats":null,"previous_names":["ciphax/letsencrypt-inwx","kegato/letsencrypt-inwx"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciphax%2Fletsencrypt-inwx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciphax%2Fletsencrypt-inwx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciphax%2Fletsencrypt-inwx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciphax%2Fletsencrypt-inwx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ciphax","download_url":"https://codeload.github.com/ciphax/letsencrypt-inwx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245435145,"owners_count":20614839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","certbot","certificate","dns-01","inwx","letsencrypt","rust","wildcard"],"created_at":"2024-07-31T14:00:31.108Z","updated_at":"2025-03-25T09:31:15.905Z","avatar_url":"https://github.com/ciphax.png","language":"Rust","funding_links":[],"categories":["Let's Encrypt"],"sub_categories":[],"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)\n\nA small cli utility for automating the letsencrypt dns-01 challenge for domains hosted by inwx. This allows you to obtain wildcard certificates from letsencrypt.\n\n## Installation\n### Ubuntu / Debian\n- Build the .deb package or download it from [releases](https://github.com/kegato/letsencrypt-inwx/releases/latest) and install it with `sudo dpkg -i \u003cpath_to_the_deb_file\u003e`\n\n### Other linux\n- Build the executable or download it from [releases](https://github.com/kegato/letsencrypt-inwx/releases/latest) and copy it to `/usr/bin/`\n- Copy both certbot scripts from `./etc/` to `/usr/lib/letsencrypt-inwx/`\n\n### With cargo\n- Run `cargo install letsencrypt-inwx`\n\n## Configuration\nYou 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.\nThe configuration file should look like this (without the comments):\n```js\n{\n    \"accounts\": [\n        {\n            \"username\": \"user\",\n            \"password\": \"pass\",\n            // optional, if the domain is not configured all accounts will be tried\n            \"domains\": [\n                \"example.com\"\n            ],\n            // optional, if true the public inwx test server will be used\n            \"ote\": false\n        }\n    ],\n    // optional\n    \"options\": {\n        // optional, if true letsencrypt-inwx will not wait until the created record is publicly visible, default: false\n        \"no_dns_check\": false,\n        // optional, the amount of time in seconds to wait after creating a record, default: 5 seconds\n        \"wait_interval\": 5,\n        // optional: the dns server to use, default: the google public dns server\n        \"dns_server\": \"8.8.8.8\"\n    }\n}\n```\n\n## Usage\n### With Docker and certbot\n- 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 \u003cyour_email\u003e --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 \u003cyour_domain\u003e`\n- You can find your certificate in `/etc/letsencrypt/live/\u003cyour_domain\u003e/`\n- 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`\n\n### With certbot\n- You can get certificates from [certbot](https://certbot.eff.org/) by running `sudo certbot certonly -n --agree-tos --email \u003cyour_email\u003e --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 \u003cyour_domain\u003e`\n\n### Manually\n- Create a txt record with `letsencrypt-inwx create -c \u003cconfig_file\u003e -d _acme-challenge.\u003cyour_domain\u003e -v \u003cacme_token\u003e`\n- Delete it with `letsencrypt-inwx delete -c \u003cconfig_file\u003e -d _acme-challenge.\u003cyour_domain\u003e`\n\n## Building\n### Requirements\n`libssl-dev` and `pkg-config` are required when building on Ubuntu / Debian see [here](https://github.com/sfackler/rust-openssl).\n\n### .deb package\n- Install [cargo-deb](https://github.com/mmstick/cargo-deb) by running `cargo install cargo-deb`\n- Run `cargo deb` to build the package\n\n### only the executable\n- Run `cargo build --release` to build the `letsencrypt-inwx` executable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciphax%2Fletsencrypt-inwx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fciphax%2Fletsencrypt-inwx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciphax%2Fletsencrypt-inwx/lists"}