Expand description
Concurrent IPTV stream validation library.
Validates M3U/IPTV stream URLs by performing HTTP HEAD (with GET fallback)
requests with bounded concurrency. Inspired by
iptv-checker-module
and IPTVChecker-Python.
§Example
use crispy_stream_checker::{check_stream, check_bulk, CheckOptions};
let opts = CheckOptions::default();
// Single stream
let result = check_stream("http://example.com/stream.m3u8", &opts).await;
println!("available: {}", result.info.available);
// Bulk check with progress
let urls = vec!["http://a.com/1".into(), "http://b.com/2".into()];
let report = check_bulk(&urls, &opts).await;
println!("{}/{} available", report.available, report.total);Re-exports§
pub use backoff::BackoffStrategy;pub use checker::check_bulk;pub use checker::check_bulk_with_progress;pub use checker::check_stream;pub use checker::check_stream_named;pub use checkpoint::CheckpointWriter;pub use csv::sanitize_csv_field;pub use dedup::UrlDeduplicator;pub use error::CheckerError;pub use error::summarize_error;pub use error::summarize_error_str;pub use normalize::normalize_url_for_hash;pub use normalize::url_resume_hash;pub use proxy::parse_proxy_list;pub use status::categorize_status;pub use status::meets_data_threshold;pub use types::BulkCheckReport;pub use types::CheckOptions;pub use types::CheckResult;pub use types::StreamCategory;pub use types::StreamInfo;
Modules§
- backoff
- Backoff strategies for stream check retries.
- checker
- Core stream checking logic with bounded concurrency.
- checkpoint
- Resume checkpoint writer with buffered writes.
- csv
- CSV export with formula injection prevention.
- dedup
- URL deduplication with async result sharing.
- error
- Error types for stream checking operations.
- normalize
- URL normalization for checkpoint hashing.
- proxy
- Proxy list loading and geoblock confirmation.
- status
- Stream status categorization from HTTP status codes.
- types
- Domain types for stream check configuration and results.