9个版本
0.3.3 | 2022年8月16日 |
---|---|
0.3.2 | 2022年8月16日 |
0.2.2 | 2022年8月8日 |
0.1.1 | 2020年5月16日 |
1301 在 #api
每月下载量:48
在 2 个crates中使用
41KB
891 行
Pi Hole API
Rust库,用于与Pi Hole PHP API交互。
示例
简单
use pi_hole_api::{PiHoleAPIConfig, UnauthenticatedPiHoleAPI};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = PiHoleAPIConfig::new("http://192.168.0.19".to_string());
let status = api.get_summary();
println!("{:?}", status);
Ok(())
}
身份验证
use pi_hole_api::{AuthenticatedPiHoleAPI, PiHoleAPIConfigWithKey};
fn main() {
// Replace the address and key with those of your Pi Hole
let api = PiHoleAPIConfigWithKey::new(
"http://192.168.0.100".to_string(),
"0123456789abcedf0123456789abcedf0123456789abcedf0123456789abcedf".to_string(),
);
match api.get_queries_count() {
Ok(status) => println!("Total number of queries: {:?}", status),
Err(e) => panic!("Request failed, check your address and api key: {:?}", e),
};
}
限制
测试
docker-compose文件创建了一个Pi-Hole实例。您需要实例的API密钥来运行测试。将密钥存储在环境变量 PI_HOLE_API_TEST_API_KEY
中。
环境变量 PI_HOLE_API_TEST_TARGET_HTTP_ADDRESS
和 PI_HOLE_API_TEST_TARGET_DNS_ADDRESS
应包含http地址(例如 https://127.0.0.1
)和DNS IP:端口对(例如 127.0.0.1:53
)。
在 .envrc-example
中提供了包含这些变量的envrc示例。
配置好环境变量后,可以使用 cargo test
运行测试。
依赖项
~5.5MB
~130K SLoC