创造

批量获取域名证书到期时间

by Cheng, 2024-11-02


在负责了 DevOps 之后,面临的直接问题就是各个证书的续期问题。虽然有一些方案可以帮助监控并提醒证书的到期时间,比如 Better Stack 等。但是基于邮件或者其它通知的告警形式很容易被淹没在消息洪流中。而且没有什么是比自己实现一个解决方案更酷的事情了。

在构思的时候,希望解决方案是一个 CLI,同时要尽量避免各种分发问题,因此自然而然采用了 Rust。同时充分使用了多线程。程序在运行的时候会根据命令参数来获取域名列表。然后返回列表中所有域名的到期时间。

+-------------------+-------------+-------------+
| Domain            | Expire Days | Expire Date |
+-------------------+-------------+-------------+
| cheng.im          |          33 |  2024-12-21 |
+-------------------+-------------+-------------+
| stackoverflow.com |          76 |  2025-02-02 |
+-------------------+-------------+-------------+
| cheng.sh          |          79 |  2025-02-05 |
+-------------------+-------------+-------------+
| github.com        |         109 |  2025-03-07 |
+-------------------+-------------+-------------+
| microsoft.com     |         155 |  2025-04-22 |
+-------------------+-------------+-------------+
| rust-lang.org     |         186 |  2025-05-23 |
+-------------------+-------------+-------------+

由于是 CLI,很容易实现 /ect/motd 的效果,只需要将命令放在对应 shell 的配置文件中即可,例如 zsh~/.zshrc 等。这样一登录上服务器就能看到结果了。

项目地址:🔗cert-expiration-checker

RustSSL

作者: Cheng

2025 © typecho & elise & Cheng