From 556eaa133e9cfe7f4c8e542708119fdfd311357e Mon Sep 17 00:00:00 2001 From: Doan Luu Duc Tai Date: Fri, 30 Oct 2026 21:39:57 -0500 Subject: Implement experimental file-based encrypted private chat Add fixed-suite Rust/WASI identity files, signed challenge authentication, ciphertext-only SQLite storage, a minimal LibreJS-compatible interface, and consistent backup snapshots. Keep production unchanged and document the local workflow, limits, source distribution, and browser recovery tests. --- crates/chat-server/Cargo.toml | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 crates/chat-server/Cargo.toml (limited to 'crates/chat-server/Cargo.toml') diff --git a/crates/chat-server/Cargo.toml b/crates/chat-server/Cargo.toml new file mode 100644 index 0000000..eecebf6 --- /dev/null +++ b/crates/chat-server/Cargo.toml @@ -0,0 +1,46 @@ +# Copyright (C) 2026 Doan Luu Duc Tai +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +[package] +name = "stack-chat-server" +version = "0.1.0" +edition = "2024" +license = "AGPL-3.0-or-later" +authors = ["Doan Luu Duc Tai "] +description = "Encrypted private chat storage and authenticated access." +repository = "https://git.doan.luuduct.ai/stack" +readme = "README.txt" +keywords = ["chat", "openpgp", "privacy"] +categories = ["web-programming"] +publish = false + +[dependencies] +anyhow = "1" +axum = { version = "0.8", default-features = false, features = ["http1", "tokio", "json"] } +base64 = "0.22" +clap = { version = "4.6", features = ["derive"] } +dotenvy = "0.15" +hex = "0.4" +openssl = "0.10" +rusqlite = { version = "0.41", default-features = false, features = ["bundled", "backup"] } +serde_json = "1" +stack-chat-crypto = { path = "../chat-crypto", version = "0.1.0" } +tokio = { version = "1", features = ["rt-multi-thread", "net", "macros", "signal", "sync", "fs"] } + +[dev-dependencies] +tempfile = "3" + +[lints] +workspace = true -- cgit v1.2.3