[package] name = "mhrv-rs" version = "0.7.0" edition = "2021" description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting" license = "MIT" [lib] name = "mhrv_rs" path = "src/lib.rs" [[bin]] name = "mhrv-rs" path = "src/main.rs" [[bin]] name = "mhrv-rs-ui" path = "src/bin/ui.rs" required-features = ["ui"] [features] default = [] ui = ["dep:eframe"] [dependencies] tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time", "io-util", "signal", "sync"] } tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12"] } rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } rustls-pemfile = "2" webpki-roots = "0.26" rcgen = { version = "0.13", features = ["x509-parser"] } rustls-pki-types = "1" time = "0.3" serde = { version = "1", features = ["derive"] } serde_json = "1" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } thiserror = "2" base64 = "0.22" bytes = "1" httparse = "1" rand = "0.8" h2 = "0.4" http = "1" flate2 = "1" directories = "5" futures-util = { version = "0.3", default-features = false, features = ["std"] } # Optional UI dep: only pulled in when --features ui is set. eframe = { version = "0.28", default-features = false, features = [ "default_fonts", "glow", "persistence", ], optional = true } [profile.release] panic = "abort" codegen-units = 1 lto = true opt-level = 3 strip = true