QUICK- is a TCP-over-QUIC traffic accelerator optimized for satellite networks (LEO/MEO/GEO). The production implementation is Rust, using Cloudflare's quiche library for QUIC with BBR/BBR2 congestion control.
Quick-/
├── Cargo.toml # Workspace manifest
├── Cargo.lock
├── rust-toolchain.toml
├── deny.toml # cargo-deny config
├── Dockerfile # Production image
├── Dockerfile.e2e # E2E test image
├── bins/
│ ├── quick-entry/ # TCP -> QUIC proxy (entry point)
│ └── quick-exit/ # QUIC -> TCP proxy (exit point)
├── crates/
│ ├── quick-transport/ # QUIC client+server, BBR2, GSO/GRO
│ ├── quick-fec/ # Reed-Solomon FEC (plugin)
│ ├── quick-kcp/ # KCP ARQ fallback (plugin)
│ ├── quick-protocol/ # Wire protocol (StreamHeader v1)
│ ├── quick-config/ # TOML config schema
│ ├── quick-reload/ # Hot-reload API + SIGHUP
│ ├── quick-container/ # Dependency injection factory
│ ├── quick-metrics/ # Prometheus metrics (plugin)
│ ├── quick-logging/ # Structured logging, SSE (plugin)
│ ├── quick-dpi/ # Deep Packet Inspection (plugin)
│ ├── quick-dpi-storage/ # PostgreSQL DPI persistence
│ └── quick-core/ # Buffer pools, shutdown, timing
├── tests/ # E2E tests and benchmarks
├── configs/ # TOML configs and satellite profiles
├── benchmarks/ # Comparative benchmark suite
├── deployments/ # Docker, systemd, validation
├── docs/ # Documentation
├── infra/ # CI runner infrastructure
├── scripts/ # Utility scripts
├── .github/workflows/ # CI/CD pipelines
├── rnd/ # R&D implementations (read-only)
│ ├── quiche-google/ # C++ (Bazel)
│ └── msquic/ # C
└── archives/ # Historical code
├── go-implementation/ # Original Go prototype
└── quic-go-implementation/
feat/issue-{N}-short-desc-- New featuresfix/issue-{N}-short-desc-- Bug fixesrefactor/short-desc-- Refactoringdocs/short-desc-- Documentation onlytest/short-desc-- Test additionsci/short-desc-- CI/CD changesperf/short-desc-- Performance improvements
Format: type(scope): description
Types: feat, fix, docs, refactor, test, chore, perf, ci
Scope: crate name or area (transport, fec, ci, config, deploy, etc.)
Rules:
- Keep subject line under 72 characters
- Reference issues:
Fixes #NorRefs #N - Use imperative mood: "add feature" not "added feature"
- No emojis, no
Co-Authored-Bylines
Examples:
feat(transport): add BBR3 congestion control support
fix(fec): correct Reed-Solomon decode for burst losses
ci: update cache paths for root-level workspace
docs(config): document satellite profile parameters
- Branch from
main - One logical change per PR
- All CI checks must pass (
cargo build,cargo test,cargo clippy) - Squash or merge commit (preserve meaningful history)
- Delete branch after merge
# Build
cargo build --release
# Test
cargo test
# Lint
cargo clippy --all-features --all-targets -- -D warnings
# Format check
cargo fmt --all -- --check
# Security audit
cargo audit
cargo deny check
# E2E tests (Docker, requires privileged mode)
docker build -f Dockerfile.e2e -t quick-e2e .
docker run --rm --privileged quick-e2e leoQUICK- supports network profiles for different orbital scenarios:
| Profile | RTT | Use Case |
|---|---|---|
terrestrial |
~5ms | Baseline, no satellite optimization |
leo |
~50ms | Starlink, OneWeb |
meo |
~250ms | O3b, SES |
geo |
~600ms | Eutelsat, Inmarsat |
The workspace uses Cargo feature flags to control optional functionality:
quiche-backend(default) -- Cloudflare quiche QUIC backendquinn-backend-- Pure Rust Quinn QUIC backendfec-- Reed-Solomon Forward Error Correctionkcp-- KCP ARQ fallback transportmetrics-- Prometheus metrics endpointlogging-- Structured logging + SSEdpi-- Deep Packet Inspectiondpi-storage-- PostgreSQL DPI persistence