mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-17 04:10:04 +02:00
La façade Rust mène les téléchargements de .gguf quand LOKI_DOWNLOADS=rust (expérimental ; le Go reste le défaut) : sonde, lancement, suivi, annulation, avec les mêmes contrats et la même mécanique que le Go (tranches rapatriées en entier, plages d'octets parallèles, reprise, place disque vérifiée sur le total, jeton réservé aux hôtes Hugging Face, refus traduits, .part vidés au démarrage). Côté Go : facade_downloads.go remet ces routes à la façade quand elles arrivent par le tunnel du relais, et le Go ne vide plus les .part qu'elle mène. Parité : journal des fonctions pures tiré du Go (parity_dl_test.go) et rejoué en Rust ; téléchargements de bout en bout contre un faux Hugging Face (tests/downloads.rs). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
39 lines
1.3 KiB
TOML
39 lines
1.3 KiB
TOML
[package]
|
|
name = "loki-rs"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
bytes = "1.12.1"
|
|
flate2 = "1.1.10"
|
|
futures-util = "0.3.34"
|
|
getrandom = "0.4.3"
|
|
hex = "0.4.3"
|
|
http-body-util = "0.1.5"
|
|
hyper = { version = "1.12.0", features = ["http1", "server", "client"] }
|
|
hyper-util = { version = "0.1.21", features = ["tokio", "server", "client-legacy", "http1"] }
|
|
regex = "1.13.1"
|
|
url = "2.5.8"
|
|
reqwest = { version = "0.13.5", default-features = false, features = ["rustls-no-provider", "stream", "http2"] }
|
|
rustls = { version = "0.23.46", default-features = false, features = ["ring", "std", "tls12"], optional = true }
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
serde_json = { version = "1.0.154", features = ["raw_value"] }
|
|
sha1 = "0.11.0"
|
|
sha2 = "0.11.1"
|
|
tokio = { version = "1.53.2", features = ["rt-multi-thread", "macros", "net", "io-util", "time", "signal", "process", "sync", "fs"] }
|
|
|
|
[features]
|
|
# Crypto TLS (ring) pour les API externes en HTTPS. Activée par défaut ; le
|
|
# contrôle croisé Linux sous Windows s'en passe (pas d'en-têtes libc Linux).
|
|
default = ["tls"]
|
|
tls = ["dep:rustls"]
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1.53.2", features = ["test-util"] }
|
|
futures-util = "0.3.34"
|
|
tempfile = "3.27.0"
|
|
tokio-tungstenite = "0.30.0"
|