chore: rename project quicnprotochat -> quicproquo (binaries: qpq)
Rename the entire workspace:
- Crate packages: quicnprotochat-{core,proto,server,client,gui,p2p,mobile} -> quicproquo-*
- Binary names: quicnprotochat -> qpq, quicnprotochat-server -> qpq-server,
quicnprotochat-gui -> qpq-gui
- Default files: *-state.bin -> qpq-state.bin, *-server.toml -> qpq-server.toml,
*.db -> qpq.db
- Environment variable prefix: QUICNPROTOCHAT_* -> QPQ_*
- App identifier: chat.quicnproto.gui -> chat.quicproquo.gui
- Proto package: quicnprotochat.bench -> quicproquo.bench
- All documentation, Docker, CI, and script references updated
HKDF domain-separation strings and P2P ALPN remain unchanged for
backward compatibility with existing encrypted state and wire protocol.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
# Running the Server
|
||||
|
||||
The quicnprotochat server is a single binary (`quicnprotochat-server`) that exposes a unified **NodeService** endpoint combining Authentication Service (KeyPackage management) and Delivery Service (message relay) operations over a single QUIC + TLS 1.3 connection.
|
||||
The quicproquo server is a single binary (`qpq-server`) that exposes a unified **NodeService** endpoint combining Authentication Service (KeyPackage management) and Delivery Service (message relay) operations over a single QUIC + TLS 1.3 connection.
|
||||
|
||||
---
|
||||
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
cargo run -p quicnprotochat-server
|
||||
cargo run -p quicproquo-server
|
||||
```
|
||||
|
||||
On first launch the server will:
|
||||
@@ -20,8 +20,8 @@ On first launch the server will:
|
||||
You should see output similar to:
|
||||
|
||||
```
|
||||
2025-01-01T00:00:00.000000Z INFO quicnprotochat_server: generated self-signed TLS certificate cert="data/server-cert.der" key="data/server-key.der"
|
||||
2025-01-01T00:00:00.000000Z INFO quicnprotochat_server: accepting QUIC connections addr="0.0.0.0:7000"
|
||||
2025-01-01T00:00:00.000000Z INFO quicproquo_server: generated self-signed TLS certificate cert="data/server-cert.der" key="data/server-key.der"
|
||||
2025-01-01T00:00:00.000000Z INFO quicproquo_server: accepting QUIC connections addr="0.0.0.0:7000"
|
||||
```
|
||||
|
||||
---
|
||||
@@ -32,36 +32,36 @@ All configuration is available via CLI flags and environment variables. Environm
|
||||
|
||||
| Purpose | CLI flag | Env var | Default |
|
||||
|---|---|---|---|
|
||||
| QUIC listen address | `--listen` | `QUICNPROTOCHAT_LISTEN` | `0.0.0.0:7000` |
|
||||
| TLS certificate (DER) | `--tls-cert` | `QUICNPROTOCHAT_TLS_CERT` | `data/server-cert.der` |
|
||||
| TLS private key (DER) | `--tls-key` | `QUICNPROTOCHAT_TLS_KEY` | `data/server-key.der` |
|
||||
| Data directory | `--data-dir` | `QUICNPROTOCHAT_DATA_DIR` | `data` |
|
||||
| QUIC listen address | `--listen` | `QPQ_LISTEN` | `0.0.0.0:7000` |
|
||||
| TLS certificate (DER) | `--tls-cert` | `QPQ_TLS_CERT` | `data/server-cert.der` |
|
||||
| TLS private key (DER) | `--tls-key` | `QPQ_TLS_KEY` | `data/server-key.der` |
|
||||
| Data directory | `--data-dir` | `QPQ_DATA_DIR` | `data` |
|
||||
| Log level | -- | `RUST_LOG` | `info` |
|
||||
|
||||
### Examples
|
||||
|
||||
```bash
|
||||
# Listen on a custom port
|
||||
cargo run -p quicnprotochat-server -- --listen 0.0.0.0:9000
|
||||
cargo run -p quicproquo-server -- --listen 0.0.0.0:9000
|
||||
|
||||
# Use pre-existing TLS credentials
|
||||
cargo run -p quicnprotochat-server -- \
|
||||
--tls-cert /etc/quicnprotochat/cert.der \
|
||||
--tls-key /etc/quicnprotochat/key.der
|
||||
cargo run -p quicproquo-server -- \
|
||||
--tls-cert /etc/quicproquo/cert.der \
|
||||
--tls-key /etc/quicproquo/key.der
|
||||
|
||||
# Via environment variables
|
||||
QUICNPROTOCHAT_LISTEN=0.0.0.0:9000 \
|
||||
QPQ_LISTEN=0.0.0.0:9000 \
|
||||
RUST_LOG=debug \
|
||||
cargo run -p quicnprotochat-server
|
||||
cargo run -p quicproquo-server
|
||||
```
|
||||
|
||||
### Production deployment
|
||||
|
||||
Set `QUICNPROTOCHAT_PRODUCTION=1` (or `true` / `yes`) so the server enforces production checks:
|
||||
Set `QPQ_PRODUCTION=1` (or `true` / `yes`) so the server enforces production checks:
|
||||
|
||||
- **Auth:** A non-empty `QUICNPROTOCHAT_AUTH_TOKEN` is required; the value `devtoken` is rejected.
|
||||
- **Auth:** A non-empty `QPQ_AUTH_TOKEN` is required; the value `devtoken` is rejected.
|
||||
- **TLS:** Existing cert and key files are required (auto-generation is disabled).
|
||||
- **SQL store:** When `--store-backend=sql`, a non-empty `QUICNPROTOCHAT_DB_KEY` is required. An empty key leaves the database unencrypted on disk and is not acceptable for production.
|
||||
- **SQL store:** When `--store-backend=sql`, a non-empty `QPQ_DB_KEY` is required. An empty key leaves the database unencrypted on disk and is not acceptable for production.
|
||||
|
||||
---
|
||||
|
||||
@@ -88,7 +88,7 @@ To use a certificate issued by a CA or a custom self-signed certificate:
|
||||
```
|
||||
2. Point the server at them:
|
||||
```bash
|
||||
cargo run -p quicnprotochat-server -- \
|
||||
cargo run -p quicproquo-server -- \
|
||||
--tls-cert cert.der \
|
||||
--tls-key key.der
|
||||
```
|
||||
@@ -128,7 +128,7 @@ The server persists its state to the data directory (`--data-dir`, default `data
|
||||
| `data/deliveries.bin` | `bincode`-serialised map of `(channelId, recipientKey)` to message queues |
|
||||
| `data/hybridkeys.bin` | `bincode`-serialised map of identity keys to hybrid (X25519 + ML-KEM-768) public keys |
|
||||
|
||||
Storage is implemented by the `FileBackedStore` in `crates/quicnprotochat-server/src/storage.rs`. Every mutation (upload, enqueue, fetch) flushes the entire map to disk synchronously. This is suitable for proof-of-concept workloads but not production traffic. See [Storage Backend](../internals/storage-backend.md) for details.
|
||||
Storage is implemented by the `FileBackedStore` in `crates/quicproquo-server/src/storage.rs`. Every mutation (upload, enqueue, fetch) flushes the entire map to disk synchronously. This is suitable for proof-of-concept workloads but not production traffic. See [Storage Backend](../internals/storage-backend.md) for details.
|
||||
|
||||
---
|
||||
|
||||
@@ -153,16 +153,16 @@ The server uses `tracing` with `tracing-subscriber` and respects the `RUST_LOG`
|
||||
|
||||
```bash
|
||||
# Default: info level
|
||||
RUST_LOG=info cargo run -p quicnprotochat-server
|
||||
RUST_LOG=info cargo run -p quicproquo-server
|
||||
|
||||
# Debug level for detailed RPC tracing
|
||||
RUST_LOG=debug cargo run -p quicnprotochat-server
|
||||
RUST_LOG=debug cargo run -p quicproquo-server
|
||||
|
||||
# Trace level for maximum verbosity
|
||||
RUST_LOG=trace cargo run -p quicnprotochat-server
|
||||
RUST_LOG=trace cargo run -p quicproquo-server
|
||||
|
||||
# Filter to specific crates
|
||||
RUST_LOG=quicnprotochat_server=debug,quinn=warn cargo run -p quicnprotochat-server
|
||||
RUST_LOG=quicproquo_server=debug,quinn=warn cargo run -p quicproquo-server
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user