diff --git a/Cargo.lock b/Cargo.lock index b19fab2..63916e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "acme-client" -version = "1.3.2" +version = "1.3.3" dependencies = [ "acme-lib", "aliyun-openapi-core-rust-sdk", diff --git a/Cargo.toml b/Cargo.toml index cb17dae..92529a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "acme-client" -version = "1.3.2" +version = "1.3.3" authors = ["Hatter Jiang "] edition = "2018" description = "Acme auto challenge client, acme-client can issue certificates from Let's encrypt" diff --git a/src/main.rs b/src/main.rs index 10f2f00..780c2c5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ mod util; mod config; mod x509; mod network; -mod statics; +mod statistics; mod dingtalk; mod dns; mod ali_dns; @@ -27,7 +27,7 @@ use rust_util::util_cmd::run_command_and_wait; use crate::config::{AcmeMode, AcmeChallenge, CertConfig, CERT_NAME, KEY_NAME}; use crate::x509::{X509PublicKeyAlgo}; use crate::dingtalk::send_dingtalk_message; -use crate::statics::{AcmeStatics, AcmeStatus}; +use crate::statistics::{AcmeStatistics, AcmeStatus}; use crate::acme::{AcmeRequest, request_acme_certificate}; use crate::network::get_local_public_ip; @@ -242,7 +242,7 @@ async fn main() -> tide::Result<()> { check_cert_config(&cert_config); return Ok(()); } - let mut acme_statics = AcmeStatics::start(); + let mut acme_statistics = AcmeStatistics::start(); let filtered_cert_config = cert_config.filter_cert_config_items(30); for item in &filtered_cert_config.cert_items { if item.common_name.as_ref().map(|n| n.contains('*')).unwrap_or(false) @@ -293,24 +293,24 @@ async fn main() -> tide::Result<()> { dns_names.iter().for_each(|dns_name| domains.push(dns_name.clone())); if let Err(e) = request_acme_certificate(acme_request, &mut dns_cleaned_domains) { failure!("Request certificate: {}, by acme failed: {}", item.path, e); - acme_statics.add_item(domains, AcmeStatus::Fail(format!("{}", e))); + acme_statistics.add_item(domains, AcmeStatus::Fail(format!("{}", e))); } else { - acme_statics.add_item(domains, AcmeStatus::Success); + acme_statistics.add_item(domains, AcmeStatus::Success); } } } - acme_statics.end(); + acme_statistics.end(); let mut success_count = 0; - for acme_static in &acme_statics.items { - if let AcmeStatus::Success = acme_static.status { + for acme_statistic in &acme_statistics.items { + if let AcmeStatus::Success = acme_statistic.status { success_count += 1; } } - success!("Statics: \n{}", acme_statics); + success!("Statistics: \n{}", acme_statistics); - let mut dingtalk_message = format!("Statics: \n{}", acme_statics); + let mut dingtalk_message = format!("Statistics: \n{}", acme_statistics); if success_count > 0 { if let Some(trigger_after_update) = &filtered_cert_config.trigger_after_update { if trigger_after_update.len() > 0 { @@ -338,7 +338,7 @@ async fn main() -> tide::Result<()> { let mut success_domains = vec![]; let mut failed_domains = vec![]; - for acme_item in &acme_statics.items { + for acme_item in &acme_statistics.items { if let AcmeStatus::Success = acme_item.status { success_domains.push(format!("* {}", acme_item.domains.join(", "))); } @@ -356,12 +356,12 @@ async fn main() -> tide::Result<()> { dingtalk_message.push_str(&failed_domains.join("\n")); } - if !acme_statics.items.is_empty() && filtered_cert_config.notify_token.is_some() { + if !acme_statistics.items.is_empty() && filtered_cert_config.notify_token.is_some() { if let Err(err) = send_dingtalk_message(&filtered_cert_config, &dingtalk_message) { failure!("Send notification message failed: {:?}", err); } } else { - information!("No notification message need to send, or not configed notification token"); + information!("No notification message sent, or no configured notification token"); } } } diff --git a/src/statics.rs b/src/statistics.rs similarity index 94% rename from src/statics.rs rename to src/statistics.rs index 4f9d9d5..1f9e198 100644 --- a/src/statics.rs +++ b/src/statistics.rs @@ -2,7 +2,7 @@ use std::time::SystemTime; use std::fmt::{Display, Formatter, Result}; #[derive(Debug)] -pub struct AcmeStatics { +pub struct AcmeStatistics { pub started: SystemTime, pub ended: Option, pub items: Vec, @@ -36,7 +36,7 @@ impl Display for AcmeItem { } } -impl Display for AcmeStatics { +impl Display for AcmeStatistics { fn fmt(&self, f: &mut Formatter<'_>) -> Result { let mut sb = String::with_capacity(512); let df = simpledateformat::fmt("yyyy-MM-dd HH:mm:ss z").unwrap(); @@ -72,9 +72,9 @@ impl Display for AcmeStatics { } } -impl AcmeStatics { - pub fn start() -> AcmeStatics { - AcmeStatics { +impl AcmeStatistics { + pub fn start() -> AcmeStatistics { + AcmeStatistics { started: SystemTime::now(), ended: None, items: Vec::new(),