3 releases

0.1.3 Aug 17, 2024
0.1.2 Aug 17, 2024
0.1.1 Jun 13, 2024

#38 in #mark-down

MulanPSL-2.0

18KB
266 lines

cfapi 高可用 ( high availability )

use aok::{Result, OK};
use static_init::constructor;

#[constructor(0)]
extern "C" fn init() {
  loginit::init()
}

genv::s!(CLOUDFLARE_EMAIL);
genv::s!(CLOUDFLARE_KEY);

const CONF: &str = r#"
me5.top: 
  u1: 
    - 184.174.36.122
    - 2a02:c206:2140:2465::1
  u2:
    - 184.174.34.189
    - 2a02:c206:2140:481::1
  u3:
    - 38.242.220.222
    - 2a02:c206:2139:9706::1
"#;

#[tokio::test]
async fn test() -> Result<()> {
  cfha::conf::yml(CONF)?;

  // let cfha = Cfha::new(&*CLOUDFLARE_KEY, &*CLOUDFLARE_EMAIL)?;
  // let host = "me5.top";
  // let ip = "2a02:c206:2140:481::1";
  // if let Some(zone) = cfha.zone(host).await? {
  //   let zone_id = zone.id;
  //   for i in cfha.record(&zone_id, host).await? {
  //     match i.content {
  //       DnsContent::AAAA { content } => {
  //         //2a02:c206:2140:481::1
  //         if content.to_string() == ip {
  //           // cfha.rm_record(&zone_id, &i.id).await?;
  //         }
  //       }
  //       DnsContent::A { content } => {
  //       }
  //       _ => {}
  //     }
  //   }
  //   cfha
  //     .add_a_record(
  //       &zone_id,
  //       host,
  //       DnsContent::AAAA {
  //         content: ip.parse()?,
  //       },
  //       true,
  //     )
  //     .await?;
  // }

  OK
}

About

This project is an open-source component of i18n.site ⋅ Internationalization Solution.

关于

本项目为 i18n.site ⋅ 国际化解决方案 的开源组件。

Dependencies

~8–21MB
~323K SLoC