mirror of
https://github.com/euzu/tuliprox.git
synced 2026-09-30 04:52:29 +02:00
Bug Fixes
Improved provider capacity management and reservation handling for shared connections.
Added support for excluding providers during connection allocation.
Improved grace-period expiration and concurrent access handling.
Preserved reserved capacity during fallback and preemptive allocations.
Chores
Improved unused-dependency checks and command configuration.
Removed unused dependencies across multiple components.
Added exceptions for dependencies used indirectly through macros or renamed packages.
Tests
Added coverage for provider reservations, fallback allocation, grace-period expiry, and concurrent grace access.
56 lines
1.9 KiB
TOML
56 lines
1.9 KiB
TOML
[package]
|
|
name = "tuliprox-hls"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
description = "HLS proxy: session and lease lifecycle, manifest refresh, segment cache and terminal tails"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
# Exposes helpers that are otherwise `#[cfg(test)]`, so the backend's own tests
|
|
# can drive the proxy. Enabled only from `[dev-dependencies]`; never in a build.
|
|
# Some of those helpers build `HlsTsSpliceEvidence` values, so they need the same
|
|
# feature on `tuliprox-mpegts`; forwarding it here keeps the feature self-contained
|
|
# instead of relying on the consumer to enable both.
|
|
test-support = ["tuliprox-mpegts/test-support"]
|
|
|
|
[dependencies]
|
|
shared = { workspace = true }
|
|
tuliprox-core = { workspace = true }
|
|
tuliprox-mpegts = { workspace = true }
|
|
tuliprox-parser = { workspace = true }
|
|
tuliprox-session = { workspace = true }
|
|
arc-swap.workspace = true
|
|
axum = { version = "0.8.9", features = ["macros", "default", "ws"] }
|
|
bytes.workspace = true
|
|
chrono.workspace = true
|
|
base64.workspace = true
|
|
blake3.workspace = true
|
|
fastrand.workspace = true
|
|
sha2.workspace = true
|
|
thiserror.workspace = true
|
|
zeroize.workspace = true
|
|
rand = "0.9.5"
|
|
futures.workspace = true
|
|
log.workspace = true
|
|
lru = "0.16.4"
|
|
reqwest = { version = "0.13.4", features = ["json", "stream", "rustls", "socks", "form", "query"] }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "fs", "time", "macros", "sync"] }
|
|
tokio-util = { version = "0.7.19", features = ["io", "io-util"] }
|
|
url.workspace = true
|
|
http-body-util = "0.1.5"
|
|
|
|
[dev-dependencies]
|
|
rand = "0.9.5"
|
|
tempfile = "3.27.0"
|
|
tuliprox-mpegts = { workspace = true, features = ["test-support"] }
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
async-compression = { version = "0.4.43", features = ["tokio", "brotli", "deflate", "gzip", "zlib", "zstd"] }
|
|
filetime = "0.2.29"
|
|
flate2 = "1.1.9"
|
|
brotli.workspace = true
|