XMPP reverse proxy and outgoing proxy
https://github.com/moparisthebest/xmpp-proxy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.5 KiB
75 lines
2.5 KiB
[package] |
|
name = "xmpp-proxy" |
|
version = "1.0.0" |
|
authors = ["moparisthebest <admin@moparisthebest.com>"] |
|
|
|
description = "XMPP reverse proxy and outgoing proxy" |
|
repository = "https://code.moparisthebest.com/moparisthebest/xmpp-proxy" |
|
keywords = ["xmpp", "proxy"] |
|
|
|
license = "AGPL-3.0-or-later" |
|
readme = "README.md" |
|
|
|
edition = "2018" |
|
|
|
include = [ |
|
"**/*.rs", |
|
"Cargo.toml", |
|
"*.md", |
|
"xmpp-proxy.toml", |
|
] |
|
|
|
[dependencies] |
|
toml = "0.5" |
|
serde_derive = "1.0" |
|
serde = { version = "1.0", features = ["derive"] } |
|
futures = "0.3" |
|
die = "0.2" |
|
anyhow = "1.0" |
|
tokio = { version = "1.9", features = ["net", "rt", "rt-multi-thread", "macros", "io-util", "signal"] } |
|
ring = "0.16" |
|
data-encoding = "2.3" |
|
untrusted = "0.7" |
|
|
|
# logging deps |
|
log = "0.4" |
|
rand = { version = "0.8", optional = true, features = [] } |
|
env_logger = { version = "0.9", optional = true, features = [] } |
|
|
|
# incoming deps |
|
tokio-rustls = { version = "0.23", optional = true } |
|
|
|
# outgoing deps |
|
lazy_static = { version = "1.4", optional = true } |
|
trust-dns-resolver = { version = "0.20", optional = true } |
|
#trust-dns-resolver = { version = "0.20", features = ["dns-over-rustls"], optional = true } |
|
# todo: feature to swap between webpki-roots and rustls-native-certs |
|
webpki-roots = { version = "0.22", optional = true } |
|
rustls-native-certs = { version = "0.6", optional = true } |
|
reqwest = { version = "0.11", optional = true, default-features = false, features = ["rustls-tls-native-roots", "json", "gzip", "trust-dns"] } |
|
|
|
# quic deps |
|
quinn = { version = "0.8", optional = true } |
|
|
|
# shared deps needed by quic and incoming |
|
rustls = { version = "0.20.2", optional = true } |
|
rustls-pemfile = { version = "0.2.1", optional = true } |
|
|
|
# websocket deps |
|
#tokio-tungstenite = { version = "0.16", optional = true, features = ["rustls-tls-webpki-roots"] } |
|
tokio-tungstenite = { version = "0.16", optional = true, features = ["rustls-tls-native-roots"] } |
|
futures-util = { version = "0.3", default-features = false, features = ["async-await", "sink", "std"], optional = true } |
|
|
|
[features] |
|
default = ["incoming", "outgoing", "quic", "websocket", "logging"] |
|
incoming = ["tokio-rustls", "rustls-pemfile", "rustls"] |
|
outgoing = ["tokio-rustls", "trust-dns-resolver", "rustls-native-certs", "lazy_static", "rustls", "reqwest", "rustls-pemfile"] |
|
quic = ["quinn", "rustls-pemfile", "rustls"] |
|
websocket = ["tokio-tungstenite", "futures-util", "tokio-rustls", "rustls-pemfile", "rustls"] |
|
logging = ["rand", "env_logger"] |
|
|
|
[package.metadata.cargo-all-features] |
|
skip_optional_dependencies = true |
|
|
|
[dev-dependencies] |
|
serde_json = "1.0"
|
|
|