Repository navigation
Release v2.0.0
Initial Release - Remnawave Rust SDK
We're excited to announce the first stable release of the Remnawave Rust SDK - a high-performance, type-safe client library for interacting with the Remnawave API.
✨ Key Features
- 🦀 Type-Safe Rust API - Leveraging Rust's type system for compile-time guarantees and memory safety
- ⚡ Async/Await Support - Built on tokio and reqwest for high-performance async operations
- 🏗️ Controller-Based Architecture - Organized API endpoints into logical controllers for better code organization
- 🔧 Comprehensive Management - Full support for users, subscriptions, nodes, hosts, billing, and system operations
- 🛡️ Advanced Error Handling - Detailed error types with context and debugging information
- 📦 Rich Type Definitions - Complete request/response DTOs with serde support
🎯 API Controllers
This release includes complete implementations for all major Remnawave API endpoints:
- 👥 Users - User management, bulk operations, authentication
- 📋 Subscriptions - Subscription lifecycle management and monitoring
- 🖥️ Nodes & Hosts - Infrastructure monitoring and management
- 🔐 Authentication - Token-based authentication with optional Caddy support
- 💰 Billing - Billing and payment management
- ⚙️ System - System statistics and health monitoring
- 🔑 Tokens - API token management
- 📊 Config Profiles - Configuration profile management
- 👨💼 Internal Squads - Team and squad management
- 🔒 HWID & Keygen - Hardware ID and key generation services
🚀 Getting Started
[dependencies]
remnawave = "2.0.0"
tokio = { version = "1.0", features = ["full"] }use remnawave::RemnawaveApiClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = RemnawaveApiClient::new(
"https://your-panel.com".to_string(),
Some("your-bearer-token".to_string())
)?;
let users = client.users.get_all_users(Some(10), Some(0)).await?;
println!("Total users: {}", users.total);
Ok(())
}🔧 Technical Highlights
- Dependencies: Built on modern Rust ecosystem with reqwest, serde, tokio, chrono, and uuid
- Performance: Optimized for high-throughput async operations
- Reliability: Comprehensive error handling with detailed context
- Developer Experience: Rich type definitions and documentation
📚 Documentation
Crates.io: https://crates.io/crates/remnawave
Documentation: https://docs.rs/remnawave
Repository: https://github.com/remnawave/rust-sdk