Expand description
§threexui-rs
Async Rust SDK for the 3x-ui panel API.
This crate targets 3x-ui v2.9.3. The library version mirrors the panel version —
threexui-rs v2.9.3 is compatible with 3x-ui v2.9.3.
§Quick start
use threexui_rs::{Client, ClientConfig};
#[tokio::main]
async fn main() -> threexui_rs::Result<()> {
let config = ClientConfig::builder()
.host("192.168.1.1")
.port(2053)
.build()?;
let client = Client::new(config);
client.login("admin", "admin123").await?;
let inbounds = client.inbounds().list().await?;
println!("Found {} inbounds", inbounds.len());
client.logout().await?;
Ok(())
}Re-exports§
pub use client::Client;pub use config::ClientConfig;pub use error::Error;pub use error::Result;pub use models::inbound::ClientTraffic;pub use models::inbound::Inbound;pub use models::inbound::InboundClient;pub use models::inbound::Protocol;pub use models::server::AppStats;pub use models::server::CpuHistoryPoint;pub use models::server::EchCert;pub use models::server::Mldsa65Keys;pub use models::server::Mlkem768Keys;pub use models::server::NetIO;pub use models::server::NetTraffic;pub use models::server::PublicIP;pub use models::server::ResourceStat;pub use models::server::ServerStatus;pub use models::server::UuidResponse;pub use models::server::VlessAuth;pub use models::server::VlessEncResult;pub use models::server::X25519Cert;pub use models::server::XrayState;pub use models::settings::AllSetting;pub use models::xray::NordAction;pub use models::xray::OutboundTraffic;pub use models::xray::WarpAction;pub use models::xray::XraySetting;pub use models::custom_geo::CreateCustomGeo;pub use models::custom_geo::CustomGeoAliases;pub use models::custom_geo::CustomGeoResource;