[package]
edition = "2024"
name = "why2-chat"
version = "1.6.0"
authors = ["Václav Šmejkal <engo@satan.red>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "why2"
description = "Lightweight, fast and secure chat application powered by WHY2 encryption."
homepage = "https://why2.satan.red"
readme = "README.md"
keywords = [
"encryption",
"security",
"cryptography",
"network",
"chat",
]
categories = [
"cryptography",
"network-programming",
]
license = "GPL-3.0-only"
repository = "https://git.satan.red/ENGO150/WHY2"
resolver = "2"
[features]
chat = [
"dep:serde_json",
"dep:wincode",
"dep:ureq",
"dep:toml_edit",
"dep:dirs",
"dep:semver",
"dep:p521",
"dep:ml-kem",
"dep:hkdf",
"dep:dashmap",
"dep:rand",
]
client = [
"client_base",
"client_voice",
"client_screen",
]
client_base = [
"chat",
"dep:socks",
"dep:crossterm",
]
client_screen = [
"client_voice",
"dep:crossbeam-channel",
"dep:winit",
"dep:libwayshot",
"dep:xcap",
"dep:pixels",
"dep:openh264",
]
client_voice = [
"dep:cpal",
"dep:ringbuf",
"dep:audiopus",
"dep:gag",
"dep:nnnoiseless",
"dep:lewton",
]
default = ["client"]
server = [
"chat",
"dep:ctrlc",
"dep:argon2",
"dep:log",
"dep:simple_logger",
]
[lib]
name = "why2_chat"
path = "src/lib.rs"
doc = false
[[bin]]
name = "why2"
path = "src/bin/client/mod.rs"
doc = false
required-features = ["client_base"]
[[bin]]
name = "why2-server"
path = "src/bin/server.rs"
doc = false
required-features = ["server"]
[dependencies.argon2]
version = "0.5.3"
optional = true
[dependencies.audiopus]
version = "0.2.0"
optional = true
[dependencies.cpal]
version = "0.18.1"
features = ["pulseaudio"]
optional = true
[dependencies.crossbeam-channel]
version = "0.5.16"
optional = true
[dependencies.crossterm]
version = "0.29.0"
optional = true
[dependencies.ctrlc]
version = "3.5.2"
optional = true
[dependencies.dashmap]
version = "6.2.1"
optional = true
[dependencies.dirs]
version = "6.0.0"
optional = true
[dependencies.gag]
version = "1.0.0"
optional = true
[dependencies.hkdf]
version = "0.13.0"
optional = true
[dependencies.lewton]
version = "0.10.2"
optional = true
[dependencies.log]
version = "0.4.33"
optional = true
[dependencies.ml-kem]
version = "0.3.2"
features = ["getrandom"]
optional = true
[dependencies.nnnoiseless]
version = "0.5.2"
optional = true
default-features = false
[dependencies.openh264]
version = "0.9.7"
optional = true
[dependencies.p521]
version = "0.14.0"
features = [
"ecdh",
"pkcs8",
"getrandom",
]
optional = true
[dependencies.pixels]
version = "0.17.1"
optional = true
[dependencies.rand]
version = "0.10.2"
optional = true
[dependencies.ringbuf]
version = "0.5.0"
optional = true
[dependencies.semver]
version = "1.0.28"
optional = true
[dependencies.serde_json]
version = "1.0.150"
optional = true
[dependencies.sha2]
version = "0.11.0"
[dependencies.simple_logger]
version = "5.2.0"
optional = true
[dependencies.socks]
version = "0.3.4"
optional = true
[dependencies.toml_edit]
version = "0.25.12"
optional = true
[dependencies.ureq]
version = "3.3.0"
optional = true
[dependencies.why2]
version = "1.5.1"
[dependencies.wincode]
version = "0.5.5"
features = ["derive"]
optional = true
[dependencies.winit]
version = "0.30.13"
optional = true
[dependencies.xcap]
version = "0.9.6"
optional = true
default-features = false
[dependencies.zeroize]
version = "1.9.0"
features = ["derive"]
[target.'cfg(target_os = "linux")'.dependencies.libwayshot]
version = "0.8.0"
optional = true
default-features = false