snolc / Cargo.toml

github - master - back to tree - upstream
[package] name = "snolc" version = "0.1.0" edition = "2024" rust-version = "1.98" license = "BSD-2-Clause" repository = "https://github.com/owenewans/snolc" description = "Userspace-stack proxy resistant to traffic filtering" publish = false [[bin]] name = "snolc" path = "src/main.rs" [[bin]] name = "snolc-geoconv" path = "src/bin/geoconv.rs" [dependencies] aes-gcm = { version = "0.11.1", features = ["zeroize"] } async-trait = "0.1.89" base64 = "0.22.1" boring = "5" bytes = "1.10.1" chacha20 = { version = "0.10.0", features = ["zeroize"] } chacha20poly1305 = { version = "0.11.0", features = ["zeroize"] } ed25519-dalek = "3.0.0" futures = "0.3.31" getrandom = { version = "0.4.3", features = ["sys_rng"] } hkdf = "0.13.0" hmac = "0.13.0" ipnet = { version = "2.11.0", features = ["serde"] } rustls = { version = "0.23", default-features = false, features = ["ring", "logging", "std", "tls12"] } rustls-acme = { version = "0.15", default-features = false, features = ["ring", "tokio", "webpki-roots"] } russh = { version = "0.63", default-features = false, features = ["ring"] } rand = "0.10" smoltcp = { version = "0.14", default-features = false, features = ["std", "log", "medium-ip", "proto-ipv4", "proto-ipv6", "socket-tcp", "socket-udp", "phy-tuntap_interface"] } libc = "0.2" serde = { version = "1.0.219", features = ["derive"] } sha2 = "0.11.0" subtle = "2.6.1" thiserror = "2.0.16" tokio = { version = "1.53.0", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] } tokio-boring = "5" tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] } tokio-stream = "0.1" tokio-util = { version = "0.7.16", features = ["compat"] } webrtc = { version = "=0.20.4", default-features = false, features = ["runtime-tokio"] } webpki-roots = "1" x25519-dalek = { version = "3.0.0", features = ["getrandom"] } yaml_serde = "0.10.7" yamux = "0.14.0" zeroize = "1.8.1" [dev-dependencies] tempfile = "3.21.0" # boring-sys 5.2.0 unconditionally lets BoringSSL's own CMakeLists.txt pull # in third_party/benchmark, whose configure-time regex-backend probe is a # try_compile+try_run check -- it cannot execute a cross-compiled target # binary on the host, so it always fails ("Failed to determine the source # files for the regular expression backend") when cross-compiling for # Android. Patched to pass `-DBUILD_TESTING=OFF` for that target, since we # only need libssl/libcrypto, never BoringSSL's own tests or benchmarks. # https://github.com/owenewans/owenboring/commit/3f66b77df55133132b21b04a0c35c56e3a3b8db8 # (which also bumps the vendored boringssl submodule to # https://github.com/owenewans/owenboringssl/commit/eadd1fe8185782c0885926c4f5ff721e483bb28e, # forcing BUILD_TESTING off directly in BoringSSL's own CMakeLists.txt -- # a `-DBUILD_TESTING=OFF` passed only from boring-sys's build script does # not reliably survive the Android NDK toolchain file's own internal # cache-reset/reconfigure). See both forks' readmes for the full writeup. [patch.crates-io] boring-sys = { git = "https://github.com/owenewans/owenboring", rev = "3f66b77df55133132b21b04a0c35c56e3a3b8db8" }