Allow loading http upgrade path prefix from env
This commit is contained in:
parent
001759afac
commit
27f16984e0
3 changed files with 15 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "wstunnel"
|
||||
version = "8.4.0"
|
||||
version = "8.4.1"
|
||||
edition = "2021"
|
||||
repository = "https://github.com/erebe/wstunnel.git"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
@ -13,7 +13,7 @@ base64 = "0.21.5"
|
|||
|
||||
bb8 = { version = "0.8", features = [] }
|
||||
bytes = { version = "1.5.0", features = [] }
|
||||
clap = { version = "4.4.11", features = ["derive"] }
|
||||
clap = { version = "4.4.11", features = ["derive", "env"] }
|
||||
fast-socks5 = { version = "0.9.2", features = [] }
|
||||
fastwebsockets = { version = "0.6.0", features = ["upgrade", "simd", "unstable-split"] }
|
||||
futures-util = { version = "0.3.29" }
|
||||
|
|
|
@ -10,9 +10,7 @@ pub enum DnsResolver {
|
|||
impl DnsResolver {
|
||||
pub async fn lookup_host(&self, domain: &str, port: u16) -> anyhow::Result<Vec<SocketAddr>> {
|
||||
let addrs: Vec<SocketAddr> = match self {
|
||||
DnsResolver::System => tokio::net::lookup_host(format!("{}:{}", domain, port))
|
||||
.await?
|
||||
.collect(),
|
||||
DnsResolver::System => tokio::net::lookup_host(format!("{}:{}", domain, port)).await?.collect(),
|
||||
DnsResolver::TrustDns(dns_resolver) => dns_resolver
|
||||
.lookup_ip(domain)
|
||||
.await?
|
||||
|
|
14
src/main.rs
14
src/main.rs
|
@ -105,7 +105,12 @@ struct Client {
|
|||
|
||||
/// Use a specific prefix that will show up in the http path during the upgrade request.
|
||||
/// Useful if you need to route requests server side but don't have vhosts
|
||||
#[arg(long, default_value = "morille", verbatim_doc_comment)]
|
||||
#[arg(
|
||||
long,
|
||||
default_value = "morille",
|
||||
verbatim_doc_comment,
|
||||
env = "WSTUNNEL_HTTP_UPGRADE_PATH_PREFIX"
|
||||
)]
|
||||
http_upgrade_path_prefix: String,
|
||||
|
||||
/// Pass authorization header with basic auth credentials during the upgrade request.
|
||||
|
@ -174,7 +179,12 @@ struct Server {
|
|||
/// Useful if you specify in the client a custom path prefix and you want the server to only allow this one.
|
||||
/// The path prefix act as a secret to authenticate clients
|
||||
/// Disabled by default. Accept all path prefix. Can be specified multiple time
|
||||
#[arg(short = 'r', long, verbatim_doc_comment)]
|
||||
#[arg(
|
||||
short = 'r',
|
||||
long,
|
||||
verbatim_doc_comment,
|
||||
env = "WSTUNNEL_RESTRICT_HTTP_UPGRADE_PATH_PREFIX"
|
||||
)]
|
||||
restrict_http_upgrade_path_prefix: Option<Vec<String>>,
|
||||
|
||||
/// [Optional] Use custom certificate (.crt) instead of the default embedded self signed certificate.
|
||||
|
|
Loading…
Reference in a new issue