[package]
edition = "2024"
name = "runewarp"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Runewarp is an ingress tunneling tool for exposing local services without moving TLS termination to the edge. Clients connect out over QUIC, so you can publish services without putting your backend directly on the Internet or leaking your public IP."
homepage = "https://runewarp.com"
readme = "README.md"
keywords = [
"ingress",
"tunnel",
"port-forwarding",
"tls-passthrough",
"nat-traversal",
]
categories = [
"network-programming",
"command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/runewarp/runewarp"
[lib]
name = "runewarp"
path = "src/lib.rs"
[[bin]]
name = "runewarp"
path = "src/main.rs"
[[test]]
name = "client_cli"
path = "tests/client_cli.rs"
[[test]]
name = "client_identity_cli"
path = "tests/client_identity_cli.rs"
[[test]]
name = "client_public_cert_cli"
path = "tests/client_public_cert_cli.rs"
[[test]]
name = "client_settings"
path = "tests/client_settings.rs"
[[test]]
name = "client_settings_resolution"
path = "tests/client_settings_resolution.rs"
[[test]]
name = "client_startup"
path = "tests/client_startup.rs"
[[test]]
name = "identity_generation"
path = "tests/identity_generation.rs"
[[test]]
name = "install_surface_scripts"
path = "tests/install_surface_scripts.rs"
[[test]]
name = "main_cli"
path = "tests/main_cli.rs"
[[test]]
name = "release_gate_scripts"
path = "tests/release_gate_scripts.rs"
[[test]]
name = "release_metadata_scripts"
path = "tests/release_metadata_scripts.rs"
[[test]]
name = "release_workflow_contract"
path = "tests/release_workflow_contract.rs"
[[test]]
name = "runtime_e2e"
path = "tests/runtime_e2e.rs"
[[test]]
name = "server_cert_cli"
path = "tests/server_cert_cli.rs"
[[test]]
name = "server_cli"
path = "tests/server_cli.rs"
[[test]]
name = "server_settings"
path = "tests/server_settings.rs"
[[test]]
name = "server_startup"
path = "tests/server_startup.rs"
[dependencies.clap]
version = "4.6.1"
features = ["derive"]
[dependencies.futures-util]
version = "0.3.32"
[dependencies.quinn]
version = "0.11.9"
features = [
"log",
"runtime-tokio",
"rustls-ring",
]
default-features = false
[dependencies.rand]
version = "0.9.2"
[dependencies.rcgen]
version = "0.14.8"
features = ["x509-parser"]
[dependencies.rustls]
version = "0.23.35"
features = [
"logging",
"ring",
"std",
"tls12",
]
default-features = false
[dependencies.rustls-acme]
version = "0.15.2"
features = [
"ring",
"tokio",
"tls12",
"webpki-roots",
]
default-features = false
[dependencies.rustls-native-certs]
version = "0.8.3"
[dependencies.rustls-pemfile]
version = "2.2.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.sha2]
version = "0.11.0"
[dependencies.time]
version = "0.3.47"
[dependencies.tokio]
version = "1.52.3"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26.4"
features = [
"logging",
"ring",
"tls12",
]
default-features = false
[dependencies.toml]
version = "1.1.2"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"fmt",
"time",
]
[dependencies.x509-parser]
version = "0.18.1"
[dev-dependencies.assert_cmd]
version = "2.2.2"
[dev-dependencies.proptest]
version = "1.6.0"
[dev-dependencies.tempfile]
version = "3.27.0"