Expand description
SMirrors - Automatic Mirror List Updater
This library provides core functionality for testing and managing Linux package manager mirrors across multiple distributions.
§Features
- Automatic mirror testing based on speed and latency
- Support for multiple Linux distributions (Debian, Ubuntu, Fedora, Arch, openSUSE)
- TUI for interactive mirror management
- CLI for automation and scripting
- Background service with systemd integration
- SQLite database for historical tracking
§Example
use smirrors::{Config, MirrorTester};
#[tokio::main]
async fn main() -> smirrors::Result<()> {
let config = Config::load()?;
let tester = MirrorTester::from_config(&config)?;
// Test mirrors and update
// Implementation...
Ok(())
}Re-exports§
pub use config::Config;pub use core::Mirror;pub use core::MirrorTester;pub use core::MirrorUpdater;pub use core::TestResult;pub use distro::Distro;pub use distro::DistroHandler;pub use utils::error::SMirrorsError;
Modules§
- cli
- Command-line interface for SMirrors
- config
- core
- Core functionality for SMirrors
- distro
- Distribution-specific handlers for mirror management
- service
- Background service implementation for SMirrors
- storage
- Storage and database operations for SMirrors
- tui
- Terminal user interface for SMirrors
- utils
Constants§
Type Aliases§
- Result
- Result type alias for SMirrors operations