nirc-rs/Cargo.toml

58 lines
2.2 KiB
TOML
Executable File

[package]
name = "nirc-rs"
version = "0.10.2"
edition = "2021"
description = "multi-protocol terminal chat client"
license = "GPL-3.0-or-later"
authors = ["Jeremy Anderson <noreply@dcos.net>"]
repository = "https://git.dcos.net/dcosnet/nirc-rs"
homepage = "https://dcos.net"
readme = "README.md"
keywords = ["irc", "matrix", "discord", "chat", "terminal", "tui"]
categories = ["command-line-utilities", "network-programming", "cryptography"]
[dependencies]
tokio = { version = "1", features = ["full", "sync", "rt-multi-thread"] }
futures = "0.3"
ratatui = "0.29"
crossterm = "0.28"
reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"], default-features = false }
url = "2.5"
argon2 = "0.5"
aes-gcm = "0.10"
rand = "0.8"
zeroize = { version = "1.8", features = ["derive"] }
base64 = "0.22"
dirs = "6"
tempfile = "3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
chrono = { version = "0.4", features = ["serde"] }
thiserror = "2"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
sha2 = "0.10"
yamux = "0.13"
async-trait = "0.1"
# libp2p was dropped in 0.10.2 when BitChat was removed. The Noise primitive
# in src/engine/crypto.rs uses x25519-dalek + aes-gcm directly (not libp2p),
# so ADC's encrypted C-C connections still work. If a future P2P protocol
# needs libp2p again, re-add: libp2p = { version = "0.54", features = ["tcp", "tokio", "noise", "yamux", "gossipsub", "mdns", "identify", "ping", "request-response", "macros"] }
tokio-util = { version = "0.7", features = ["io", "codec", "compat"] }
dashmap = "6"
toml = "0.8"
x25519-dalek = { version = "2", features = ["zeroize", "static_secrets"] }
# 0.1.2: TLS + SASL + ISUPPORT for real-world IRC connectivity
tokio-rustls = "0.26"
rustls-pemfile = "2"
webpki-roots = "0.26"
# N-3.1: Dynamic .so plugin loading
libloading = "0.8"
# 0.2.0: Matrix protocol (Phase D) — full client with megolm E2EE
matrix-sdk = { version = "0.18", default-features = false, features = ["e2e-encryption", "sqlite", "socks", "sso-login"] }
# 0.5.0: Revolt/Stoat protocol — REST + WebSocket client
tokio-tungstenite = { version = "0.24", features = ["rustls-tls-webpki-roots"] }
[dev-dependencies]
tokio-test = "0.4"