chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging
Rename all project references from quicproquo/qpq to quicprochat/qpc across documentation, Docker configuration, CI workflows, packaging scripts, operational configs, and build tooling. - Docker: crate paths, binary names, user/group, data dirs, env vars - CI: workflow crate references, binary names, artifact names - Docs: all markdown files under docs/, SDK READMEs, book.toml - Packaging: OpenWrt Makefile, init script, UCI config (file renames) - Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team - Operations: Prometheus config, alert rules, Grafana dashboard - Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths - Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Auth Schema
|
||||
|
||||
**Proto file:** `proto/qpq/v1/auth.proto`
|
||||
**Package:** `qpq.v1`
|
||||
**Proto file:** `proto/qpc/v1/auth.proto`
|
||||
**Package:** `qpc.v1`
|
||||
**Method IDs:** 100-103
|
||||
|
||||
The auth proto defines the OPAQUE asymmetric password-authenticated key exchange (PAKE) messages used for user registration and login. OPAQUE never transmits the password to the server; the server learns only a random value derived from the password.
|
||||
@@ -16,7 +16,7 @@ See [Authentication Service Internals](../internals/authentication-service.md) f
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// OPAQUE registration + login (4 methods).
|
||||
// Method IDs: 100-103.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Delivery and Keys Schema
|
||||
|
||||
**Proto files:** `proto/qpq/v1/delivery.proto`, `proto/qpq/v1/keys.proto`
|
||||
**Package:** `qpq.v1`
|
||||
**Proto files:** `proto/qpc/v1/delivery.proto`, `proto/qpc/v1/keys.proto`
|
||||
**Package:** `qpc.v1`
|
||||
**Method IDs:** 200-205 (delivery), 300-304 (key packages and hybrid keys), 510-520 (key transparency)
|
||||
|
||||
This page documents the Protobuf message definitions for the delivery service (store-and-forward message relay) and the key management service (MLS KeyPackages, hybrid post-quantum keys, and key transparency).
|
||||
@@ -16,7 +16,7 @@ The delivery service is a store-and-forward relay. It is intentionally MLS-unawa
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Delivery service: enqueue, fetch, peek, ack, batch (6 methods).
|
||||
// Method IDs: 200-205.
|
||||
@@ -221,7 +221,7 @@ Key management for MLS KeyPackages, hybrid post-quantum keys, and key transparen
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Key package + hybrid key CRUD (5 methods).
|
||||
// Method IDs: 300-304.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
The v2 RPC protocol dispatches requests by a `u16` method ID encoded in the first two bytes of every request frame. This page is the authoritative reference for all 44 method IDs and their corresponding Protobuf message types.
|
||||
|
||||
Method IDs are defined in `crates/quicproquo-proto/src/lib.rs` (the `method_ids` module). Proto definitions live in `proto/qpq/v1/`.
|
||||
Method IDs are defined in `crates/quicprochat-proto/src/lib.rs` (the `method_ids` module). Proto definitions live in `proto/qpc/v1/`.
|
||||
|
||||
---
|
||||
|
||||
@@ -190,7 +190,7 @@ Push events are sent by the server on QUIC uni-streams using the push frame form
|
||||
| 1002 | `PUSH_PRESENCE` | `PresenceUpdate` |
|
||||
| 1003 | `PUSH_MEMBERSHIP` | `GroupMembershipChange` |
|
||||
|
||||
Push payload messages are defined in `proto/qpq/v1/push.proto` and wrapped in a `PushEvent` oneof. See [RPC Reference](node-service-schema.md) for the full proto listing.
|
||||
Push payload messages are defined in `proto/qpc/v1/push.proto` and wrapped in a `PushEvent` oneof. See [RPC Reference](node-service-schema.md) for the full proto listing.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# RPC Reference
|
||||
|
||||
**Proto package:** `qpq.v1`
|
||||
**Proto files:** 14 files in `proto/qpq/v1/`
|
||||
**Proto package:** `qpc.v1`
|
||||
**Proto files:** 14 files in `proto/qpc/v1/`
|
||||
**Total methods:** 44
|
||||
|
||||
This page is the complete Protobuf definition reference for all 14 proto files in the v2 RPC protocol. For transport framing, see [Wire Format Overview](overview.md). For method ID assignments, see [Method ID Reference](envelope-schema.md).
|
||||
|
||||
Generated Rust types live in `crates/quicproquo-proto/src/` (via prost).
|
||||
Generated Rust types live in `crates/quicprochat-proto/src/` (via prost).
|
||||
|
||||
---
|
||||
|
||||
@@ -16,7 +16,7 @@ OPAQUE asymmetric PAKE for registration and login. See [Auth Schema](auth-schema
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
message OpaqueRegisterStartRequest {
|
||||
string username = 1;
|
||||
@@ -65,7 +65,7 @@ Shared types and account deletion.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Auth context for federation and internal use.
|
||||
// In v2, session authentication is carried at the QUIC connection level
|
||||
@@ -93,7 +93,7 @@ Store-and-forward message relay. See [Delivery Schema](delivery-schema.md) for f
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
message Envelope {
|
||||
uint64 seq = 1;
|
||||
@@ -178,7 +178,7 @@ MLS KeyPackages, hybrid PQ keys, and key transparency. See [Delivery Schema](del
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
message UploadKeyPackageRequest {
|
||||
bytes identity_key = 1;
|
||||
@@ -266,7 +266,7 @@ message LogEntry {
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Channel create (1 method).
|
||||
// Method ID: 400.
|
||||
@@ -291,7 +291,7 @@ Group management: member removal, metadata, member listing, and key rotation.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Group management (4 methods).
|
||||
// Method IDs: 410-413.
|
||||
@@ -359,7 +359,7 @@ Content moderation: encrypted reports, bans, and audit lists.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Moderation service: report, ban, unban, list reports, list banned.
|
||||
// Method IDs: 420-424.
|
||||
@@ -432,7 +432,7 @@ Forward and reverse user resolution.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// User resolve + identity (2 methods).
|
||||
// Method IDs: 500-501.
|
||||
@@ -465,7 +465,7 @@ Content-addressed binary object storage with chunked upload and ranged download.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Blob upload/download (2 methods).
|
||||
// Method IDs: 600-601.
|
||||
@@ -505,7 +505,7 @@ Multi-device management and push notification token registration.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Device register/list/revoke (3 methods).
|
||||
// Method IDs: 700-702.
|
||||
@@ -568,7 +568,7 @@ Encrypted account recovery bundle storage. The server stores an opaque blob inde
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Recovery service.
|
||||
// Method IDs: 750-752.
|
||||
@@ -608,7 +608,7 @@ iroh P2P node address exchange and server health probe.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// P2P endpoint publish/resolve + health (3 methods).
|
||||
// Method IDs: 800-802.
|
||||
@@ -649,7 +649,7 @@ Cross-server relay and proxy operations. All federation methods include a `Feder
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Federation relay + proxy (6 methods).
|
||||
// Method IDs: 900-905.
|
||||
@@ -725,7 +725,7 @@ Server-push event types sent on QUIC uni-streams using the push frame format.
|
||||
|
||||
```protobuf
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
package qpc.v1;
|
||||
|
||||
// Server-push event types (sent on QUIC uni-streams).
|
||||
// Event type IDs: 1000+.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Wire Format Overview
|
||||
|
||||
This section documents the v2 serialisation pipeline that transforms application-level data structures into bytes on the wire. Every byte exchanged between quicproquo clients and the server passes through this pipeline, so understanding it is prerequisite to reading the protocol deep dives or the server and client source code.
|
||||
This section documents the v2 serialisation pipeline that transforms application-level data structures into bytes on the wire. Every byte exchanged between quicprochat clients and the server passes through this pipeline, so understanding it is prerequisite to reading the protocol deep dives or the server and client source code.
|
||||
|
||||
---
|
||||
|
||||
@@ -27,7 +27,7 @@ Data flows through three stages on the send path. The receive path reverses the
|
||||
|
||||
### Stage 1: Application creates a message or RPC call
|
||||
|
||||
At the application layer, the client or server constructs a typed Protobuf message defined in `proto/qpq/v1/*.proto`. Each RPC method has a corresponding request and response message type.
|
||||
At the application layer, the client or server constructs a typed Protobuf message defined in `proto/qpc/v1/*.proto`. Each RPC method has a corresponding request and response message type.
|
||||
|
||||
- **Auth methods** (IDs 100-103): see [Auth Schema](auth-schema.md)
|
||||
- **Delivery methods** (IDs 200-205): see [Delivery Schema](delivery-schema.md)
|
||||
@@ -104,7 +104,7 @@ Header size: **6 bytes**.
|
||||
| Maximum payload size | 4 MiB (4,194,304 bytes) |
|
||||
| Payloads exceeding this limit | rejected with `PayloadTooLarge` error |
|
||||
|
||||
Source: `crates/quicproquo-rpc/src/framing.rs`.
|
||||
Source: `crates/quicprochat-rpc/src/framing.rs`.
|
||||
|
||||
### Stage 3: Transport encryption
|
||||
|
||||
@@ -138,7 +138,7 @@ This design allows unlimited concurrent RPCs with no head-of-line blocking.
|
||||
| Parameter | Value |
|
||||
|-----------|-------|
|
||||
| Protocol | QUIC (RFC 9000) |
|
||||
| ALPN | `"qpq"` |
|
||||
| ALPN | `"qpc"` |
|
||||
| Default port | 5001 |
|
||||
| TLS version | 1.3 only |
|
||||
| Certificate | Server presents a TLS certificate; clients verify against a CA cert |
|
||||
@@ -147,7 +147,7 @@ This design allows unlimited concurrent RPCs with no head-of-line blocking.
|
||||
|
||||
## Schema index
|
||||
|
||||
Protobuf schemas are defined in `proto/qpq/v1/` and documented on dedicated pages:
|
||||
Protobuf schemas are defined in `proto/qpc/v1/` and documented on dedicated pages:
|
||||
|
||||
| Proto File | Documentation | Purpose |
|
||||
|------------|---------------|---------|
|
||||
@@ -166,7 +166,7 @@ Protobuf schemas are defined in `proto/qpq/v1/` and documented on dedicated page
|
||||
| `push.proto` | [RPC Reference](node-service-schema.md) | Push event types (IDs 1000+) |
|
||||
| `common.proto` | [RPC Reference](node-service-schema.md) | Auth context, account deletion (ID 950) |
|
||||
|
||||
Method ID assignment: `crates/quicproquo-proto/src/lib.rs` (`method_ids` module).
|
||||
Method ID assignment: `crates/quicprochat-proto/src/lib.rs` (`method_ids` module).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user