[package]
name = "flash-send"
version = "1.0.0"
description = "跨平台局域网文件传输与聊天应用"
authors = ["Flash Send Team"]
edition = "2021"
rust-version = "1.70"

[lib]
name = "flash_send_lib"
crate-type = ["staticlib", "cdylib", "rlib"]

[build-dependencies]
tauri-build = { version = "2", features = [] }

[dependencies]
# Tauri 核心
tauri = { version = "2", features = [] }
tauri-plugin-dialog = "2"
tauri-plugin-fs = "2"
tauri-plugin-shell = "2"

# 异步运行时
tokio = { version = "1", features = ["full"] }

# 序列化
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# 数据库
rusqlite = { version = "0.31", features = ["bundled"] }

# TLS 加密
rustls = { version = "0.21", features = ["dangerous_configuration"] }
rustls-pemfile = "1"
rcgen = "0.11"
tokio-rustls = "0.24"

# WebSocket
tokio-tungstenite = { version = "0.20", features = ["rustls-tls-native-roots"] }
futures-util = "0.3"

# HTTP 服务
axum = { version = "0.6", features = ["multipart", "tokio"] }
axum-server = { version = "0.5", features = ["tls-rustls"] }
tower = "0.4"
tower-http = { version = "0.4", features = ["cors", "fs"] }
hyper = "0.14"

# 网络工具
local-ip-address = "0.6"
socket2 = { version = "0.5", features = ["all"] }

# UUID 生成
uuid = { version = "1", features = ["v4", "serde"] }

# 时间处理
chrono = { version = "0.4", features = ["serde"] }

# 日志
log = "0.4"
env_logger = "0.11"

# 错误处理
thiserror = "1"
anyhow = "1"

# 文件处理
mime_guess = "2"
tokio-util = { version = "0.7", features = ["io"] }

# 并发工具
parking_lot = "0.12"
dashmap = "5"
once_cell = "1"

# 系统信息
hostname = "0.4"
dirs = "5"

# 时间处理 (for rcgen)
time = "0.3"

[features]
default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]
