[package]
edition = "2024"
name = "quicnet"
version = "0.2.2"
authors = ["rotko networks"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "minimal peer-to-peer network protocol over QUIC"
readme = "README.md"
keywords = [
"quic",
"p2p",
"networking",
"ed25519",
]
categories = [
"network-programming",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rotkonetworks/quicnet"
[features]
default = []
hardware = [
"gstreamer",
"gstreamer-video",
"gstreamer-app",
"drm",
"nix",
]
remote = [
"x11rb",
"webp",
"minifb",
]
video = [
"openh264",
"image",
"x11rb",
"yuv",
"h264-reader",
]
webtransport = []
[lib]
name = "quicnet"
path = "src/lib.rs"
[[bin]]
name = "quicnet"
path = "src/bin/quicnet.rs"
[[example]]
name = "chat_client"
path = "examples/chat_client.rs"
[[example]]
name = "chat_server"
path = "examples/chat_server.rs"
[[example]]
name = "hardware_remote"
path = "examples/hardware_remote.rs"
[[example]]
name = "remote_session"
path = "examples/remote_session.rs"
[[example]]
name = "shell_server"
path = "examples/shell_server.rs"
[[example]]
name = "socket_proxy"
path = "examples/socket_proxy.rs"
[[example]]
name = "video_stream"
path = "examples/video_stream.rs"
[[example]]
name = "video_webtransport"
path = "examples/video_webtransport.rs"
[[example]]
name = "x11_proxy"
path = "examples/x11_proxy.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base32]
version = "0.4"
[dependencies.base64]
version = "0.22"
[dependencies.bincode]
version = "1.3"
[dependencies.bs58]
version = "0.5"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.dirs]
version = "5"
[dependencies.drm]
version = "0.12"
optional = true
[dependencies.ed25519-dalek]
version = "2"
features = ["pkcs8"]
[dependencies.gstreamer]
version = "0.23"
optional = true
[dependencies.gstreamer-app]
version = "0.23"
optional = true
[dependencies.gstreamer-video]
version = "0.23"
optional = true
[dependencies.h264-reader]
version = "0.6"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.http]
version = "1"
optional = true
[dependencies.image]
version = "0.25"
optional = true
[dependencies.instant-acme]
version = "0.7"
[dependencies.libc]
version = "0.2"
[dependencies.minifb]
version = "0.27"
optional = true
[dependencies.nix]
version = "0.29"
optional = true
[dependencies.openh264]
version = "0.9"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.quinn]
version = "0.11"
[dependencies.rand]
version = "0.8"
[dependencies.rcgen]
version = "0.14"
[dependencies.rpassword]
version = "7"
[dependencies.rustls]
version = "0.23"
features = ["ring"]
[dependencies.rustls-pemfile]
version = "2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.ssh-key]
version = "0.6"
features = [
"ed25519",
"encryption",
]
[dependencies.time]
version = "0.3"
features = [
"formatting",
"macros",
]
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"io-util",
"io-std",
"net",
"macros",
"fs",
]
[dependencies.webp]
version = "0.3"
optional = true
[dependencies.x11]
version = "2.21"
optional = true
[dependencies.x11rb]
version = "0.13"
features = [
"all-extensions",
"composite",
"damage",
"shm",
]
optional = true
[dependencies.x509-parser]
version = "0.18"
[dependencies.yuv]
version = "0.8.8"
optional = true
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true