crispy-stalker 0.1.1

Async Stalker/MAG portal API client
Documentation

crispy-stalker

Async Stalker/MAG portal API client.

What This Crate Is

crispy-stalker targets legacy Stalker / MAG middleware portals. It handles portal discovery, MAC-based authentication, paginated content retrieval, and stream URL resolution in a reusable client crate.

What It Provides

  • StalkerClient
  • StalkerCredentials
  • StalkerSession
  • typed models for channels, VOD, series, profile, and EPG entries
  • stream URL resolution helpers
  • retry/backoff support

Installation

[dependencies]
crispy-stalker = "0.1.1"

MSRV: Rust 1.85

Quick Start

use crispy_stalker::{StalkerClient, StalkerCredentials};

# async fn demo() -> Result<(), Box<dyn std::error::Error>> {
let creds = StalkerCredentials {
    base_url: "http://portal.example.com".into(),
    mac_address: "00:1A:79:AB:CD:EF".into(),
    timezone: None,
};

let mut client = StalkerClient::new(creds, false)?;
client.authenticate().await?;

let _genres = client.get_genres().await?;
# Ok(())
# }

Typical Uses

  • Stalker portal integration
  • channel/VOD sync jobs
  • MAG stream URL resolution

Current Limitations

  • provider-side inconsistencies are common in Stalker ecosystems; callers should still expect some portals to diverge from the happy path
  • no persistence layer
  • no playback probing or media diagnostics

License

See LICENSE.md and NOTICE.md.