Skip to main content

Crate smirrors

Crate smirrors 

Source
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§

APP_NAME
Application name
VERSION
Application version from Cargo.toml

Type Aliases§

Result
Result type alias for SMirrors operations