#letsencrypt #证书 #域名 #挑战 #托管 #自动化 #工具

app letsencrypt-inwx

一个小型命令行工具,用于自动化由 inwx 托管的域名的 letsencrypt dns-01 挑战

9 个稳定版本

2.0.2 2019年10月7日
2.0.1 2019年4月13日
2.0.0 2019年3月2日
1.1.2 2019年2月19日
1.0.2 2018年6月4日

#8 in #托管

24 每月下载量

MIT 协议

32KB
691

letsencrypt-inwx CircleCI Docker Pulls Crates.io

一个小型命令行工具,用于自动化由 inwx 托管的域名的 letsencrypt dns-01 挑战。这允许您从 letsencrypt 获得通配符证书。

安装

Ubuntu / Debian

  • 构建 .deb 包或从 发行版 下载,然后使用以下命令安装:sudo dpkg -i <path_to_the_deb_file>

其他 Linux 系统

  • 构建可执行文件或从 发行版 下载,并将其复制到 /usr/bin/
  • ./etc/ 中的两个 certbot 脚本复制到 /usr/lib/letsencrypt-inwx/

使用 cargo

  • 运行 cargo install letsencrypt-inwx

配置

您可以将配置文件存储在 /etc/letsencrypt-inwx.json 或在 certbot 使用时存储在 ~/.config/letsencrypt-inwx.json,或者使用 -c 选项指定其路径。配置文件应如下所示(不包括注释)

{
    "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"
    }
}

用法

使用 Docker 和 certbot

  • 通过运行以下命令生成您的证书:docker run --rm -it -v /etc/letsencrypt-inwx.json:/etc/letsencrypt-inwx.json -v /etc/letsencrypt:/etc/letsencrypt kegato/letsencrypt-inwx certonly --email <your_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 <your_domain>
  • 您可以在 /etc/letsencrypt/live/<your_domain>/ 找到您的证书。
  • 您可以通过运行以下命令续期证书:docker run --rm -it -v /etc/letsencrypt-inwx.json:/etc/letsencrypt-inwx.json -v /etc/letsencrypt kegato/letsencrypt-inwx renew

使用 certbot

  • 您可以通过运行以下命令从 certbot 获取证书:sudo certbot certonly -n --agree-tos --email <your_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 <your_domain>

手动操作

  • 使用以下命令创建一个 txt 记录:letsencrypt-inwx create -c <config_file> -d _acme-challenge.<your_domain> -<acme_token>
  • 使用以下命令删除:letsencrypt-inwx delete -c <config_file> -d _acme-challenge.<your_domain>

构建中

需求

在Ubuntu / Debian上构建时,需要libssl-devpkg-config,请参阅此处

.deb软件包

  • 通过运行以下命令安装cargo install cargo-deb来安装cargo-deb
  • 运行cargo deb来构建软件包

仅包含可执行文件

  • 运行cargo build --release来构建letsencrypt-inwx可执行文件

依赖项

~26–36MB
~627K SLoC