Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Oct 21:17
· 7 commits to main since this release

What's Changed

  • Benchmark harness: hot-path micro-benches + yip-vs-WireGuard netem by @vxfemboy in #1
  • Data-plane throughput pass: batched I/O + zero-repair FEC bypass by @vxfemboy in #2
  • Adaptive loss-feedback loop + reactive ARQ by @vxfemboy in #3
  • Data-plane follow-ups: ARQ integrity test, detector completeness, retx sizing, hardening by @vxfemboy in #4
  • CI: guard the under-loss + ARQ-integrity netns tests by @vxfemboy in #5
  • Single-thread data loop (Phase A): DataPlane + epoll PollDriver, lock removal by @vxfemboy in #6
  • Fix orchestration spec: re-scope #11a against the real (aggregate, yipd-excluded) coverage gate by @vxfemboy in #12
  • io_uring Phase B: UringDriver + dual-driver netns gate by @vxfemboy in #13
  • Fix red main: UringDriver ENOBUFS-on-recv is fatal (io_uring Phase B regression) by @vxfemboy in #15
  • Review the Cursor-authored io_uring Phase B: flip default to poll, harden uring, cleanups by @vxfemboy in #16
  • L2 TAP path + MAC learning (#8) by @vxfemboy in #14
  • io_uring RTT: alloc-free hot path + opt-in busy-poll (uring beats epoll) by @vxfemboy in #18
  • io_uring: bound the idle wait so tick fires on cadence by @vxfemboy in #19
  • io_uring: adaptive busy-poll (spin only while active; idle burns no CPU) by @vxfemboy in #20
  • docs(bench): refresh io_uring A/B — uring+busypoll beats epoll by @vxfemboy in #21
  • chore(uring): robust load-tests, drop dead fields, add send-drop counter by @vxfemboy in #22
  • docs: yipd config reference + io_uring GSO fate-tag design spec (#17) by @vxfemboy in #23
  • feat(uring): FEC-safe GSO batching via fate tags (#17) by @vxfemboy in #24
  • fix(uring): graceful PollDriver fallback + settle poll-as-default (#25) by @vxfemboy in #26
  • docs: multi-core sharding (#10) + FEC object batching design specs by @vxfemboy in #32
  • docs: multi-peer data plane + self-certifying addresses design (sub-project #2, 2a) by @vxfemboy in #33
  • Milestone 2a: multi-peer data plane + self-certifying addresses by @vxfemboy in #35
  • Milestone 2b: rendezvous + NAT traversal + relay by @vxfemboy in #38
  • Milestone 2c: decentralized discovery (completes sub-project #2) by @vxfemboy in #42
  • feat(3a): anti-DPI obfuscation — opt-in obf_psk, nDPI-proven undetectable by @vxfemboy in #43
  • docs: user guide, config reference, testing/benchmarking, example.config by @vxfemboy in #46
  • feat(3b): junk/decoy packets + traffic-shaping — blur the flow-shape fingerprint by @vxfemboy in #47
  • feat(3c.1): QUIC mimicry — yip traffic classified as QUIC.Cloudflare, entropy heuristic defeated by @vxfemboy in #48
  • throughput 4a: swap RaptorQ → hand-rolled small-K Reed–Solomon FEC by @vxfemboy in #50
  • throughput: P+Q fast-path FEC — cheap proactive repair for R≤2 by @vxfemboy in #51
  • throughput: fast ring ChaCha20-Poly1305 data-plane AEAD (~3.3×) by @vxfemboy in #52
  • throughput: batched UDP I/O (sendmmsg/recvmmsg) on the poll hot path by @vxfemboy in #54
  • throughput: send-side UDP GSO on the poll path (lever 4a) by @vxfemboy in #55
  • throughput: TUN vnet-header GSO/GRO offload (lever 4b) by @vxfemboy in #56
  • docs+license: fox-theme README, SB73/EFF, AGPL-3.0 relicense, RaptorQ→RS sweep by @vxfemboy in #57
  • fix(crypto): commit replay window only after AEAD verification by @vxfemboy in #60
  • anti-DPI 3c.2: TLS-over-TCP mimicry transport (the TLS costume) by @vxfemboy in #62
  • anti-DPI 3c.3: REALITY-style Trojan front on the yip-rendezvous relay by @vxfemboy in #66
  • anti-DPI 3c.4: yipd TLS relay-dial client (reach the relay over browser-parrot TLS) by @vxfemboy in #69
  • test(yip-rendezvous): de-flake obf smoke test — fix permissive-decode assertion by @vxfemboy in #71
  • anti-DPI 3d: port plausibility — default 443 + 443→8443 fallback (R8/#45) by @vxfemboy in #72
  • REALITY TLS: design + spike + REALITY.1 (server-side transparent dest forwarding) by @vxfemboy in #73
  • REALITY.2: pure-Rust uTLS REALITY client (yip-utls) — Chrome-150-faithful + live PQ-hybrid TLS 1.3 by @vxfemboy in #74
  • REALITY.3: server stolen-cert authed path + anti-replay (per-SNI forged cert, TLS-1.3-only, replay guard) by @vxfemboy in #77
  • fix(yip-utls): BoringSSL-faithful GREASE extension bookends (#78) by @vxfemboy in #80
  • feat(reality.3): copy AIA extension into forged cert + document SCT limits (#75) by @vxfemboy in #81
  • REALITY.4a: client wiring — reality:// scheme + yip_utls relay-dial (async bridge, inner-auth) by @vxfemboy in #79
  • REALITY.4b: client-side relay verification (ECDSA-P256 CertificateVerify, default ON, fail-closed) by @vxfemboy in #82
  • REALITY.5a: dest server-flight template capture (Chrome-faithful probe, read-only foundation for 5b/c/d) by @vxfemboy in #83
  • REALITY.5 follow-up cleanups (MessageTooLarge/u24_len, pre-write signing-key, partial-record splice, group-29 test) by @vxfemboy in #88
  • REALITY.5b: byte-matching ServerHello emission + server key schedule (4588+X25519, round-trip proven) by @vxfemboy in #89
  • REALITY.5c: encrypted server-flight emission + server-side stream (byte-match dest record framing) by @vxfemboy in #86
  • REALITY.5d: serve the hand-rolled flight on the relay's authed path (last of REALITY.5) by @vxfemboy in #87
  • Milestone 9a: classical session rekey (~120s rotation) + epoch handling (#9) by @vxfemboy in #90
  • fix(rekey): complete relay-path session rekey (#91) by @vxfemboy in #92
  • perf(rendezvous): relay forward counter off the server mutex, as a shared atomic (#68) by @vxfemboy in #93
  • docs(research): #59 MTU/FEC-rate investigation findings + measurement tools by @vxfemboy in #94
  • fix: session-lifecycle hardening — path-switch re-handshake (#36) + cert revocation (#41) by @vxfemboy in #95
  • fix(cert): exempt roots from the responder-cert checks (symmetric with the init-side gates) by @vxfemboy in #97
  • fix(gossip): chunk the digest + fail-soft obfuscate — no panic at large mesh scale (#44) by @vxfemboy in #98
  • Handshake anti-replay + authenticated endpoint (#34) by @vxfemboy in #99
  • Authenticated reachability: endpoint roaming (M2) + signed rendezvous registration (#37) by @vxfemboy in #100
  • docs: professional README/docs overhaul + project meta + funding by @vxfemboy in #111
  • test(mutants): kill the 64 surviving mutants (yip-wire/transport/crypto) by @vxfemboy in #112
  • perf(yip-bench): #58 MAC-candidate spike (measure-only) by @vxfemboy in #114
  • fix(yipd): punch→relay escalation must draw a fresh ephemeral regardless of relay flag (#116) by @vxfemboy in #117
  • perf(yip-bench): CPU-bound-regime spike (#4 go/no-go) by @vxfemboy in #115
  • fix(yip-io): make io_uring loopback recycle tests robust on default rmem by @vxfemboy in #113
  • docs: changelog + testing docs for #116 fix, #113, and the spikes by @vxfemboy in #118
  • refactor(yipd): split peer_manager.rs into a module directory (#11) by @vxfemboy in #119
  • feat: multi-core throughput sharding & single-flow 40 Mpps scaling (#10, #28) by @vxfemboy in #125
  • feat: Regime B+, Way C AF_XDP & Regime D zero-overhead engine (#10, #28, #30, #127, #129) by @vxfemboy in #126
  • feat: Regime E poly-vector SIMD & Regime F line-rate offload, rateless RLNC & kernel-bypass acceleration by @vxfemboy in #131
  • test: eliminate missed mutants in yip-crypto and yip-transport by @vxfemboy in #132
  • fix(ci): resolve cert-revocation gossip sweep race and exclude host-dependent CPU mutants by @vxfemboy in #133
  • feat(mesh): ingest relayed gossip and emit relay-wrapped replies (#40) by @vxfemboy in #134
  • refactor(peer_manager): extract mod tests into peer_manager/tests.rs (#120) by @vxfemboy in #135
  • fix(tls): enforce inner handshake deadline in pump and warn on multi-peer (#61) by @vxfemboy in #137
  • test(netns): add positive roaming witness and prune dead wrappers (#110) by @vxfemboy in #138
  • feat(tls): multi-peer mesh support for TLS transport (#136) by @vxfemboy in #139
  • refactor(utls): modularize stream.rs into focused stream/ submodules (#108) by @vxfemboy in #140
  • ci: quality gates hardening for control plane and mutation testing (#107) by @vxfemboy in #141
  • security(relay): authenticate Trojan front discriminator with RegisterAuth (#64) by @vxfemboy in #142
  • feat(dpi): multi-engine DPI verification harness (Zeek, Suricata, tshark beyond nDPI) (#70) by @vxfemboy in #143
  • test(mutants): eliminate all surviving mutants across logic and control crates by @vxfemboy in #144
  • fix(rendezvous): negotiate http/1.1 ALPN for decoy proxy compatibility by @vxfemboy in #149
  • feat(demo): single-command local loss demo & live telemetry CLI (yipctl top) by @vxfemboy in #150
  • feat(telemetry): live multi-region terminal telemetry dashboard and high-fidelity gif by @vxfemboy in #151
  • feat(crypto): implement post-quantum hybrid handshake (Noise-IKpsk2 + ML-KEM-512) by @vxfemboy in #152
  • docs(rigor): Phase 3: Tail Latency (P99 Jitter) Benchmarks, Wire Format Diagram & Research Flex (#148) by @vxfemboy in #153
  • feat(dataplane): deadline FEC reassembly eviction, zero-alloc egress scavenging & wire-format layout fix by @vxfemboy in #154
  • feat(security): wire-auth 64-bit object binding & pre-AEAD anti-replay reassembly gating (#11) by @vxfemboy in #155
  • feat(transport): bidirectional flow accounting via canonical flow keys and ingress observation (#11) by @vxfemboy in #156
  • perf(io): eliminate redundant to_vec() egress clones in io_uring driver (#11) by @vxfemboy in #157
  • feat(transport,io): MTU-aware packetization and in-band PLPMTUD (#59) by @vxfemboy in #158
  • perf(wire): SipHash-1-3 and zero-alloc stack arrays for header auth (#58) by @vxfemboy in #159
  • feat(dataplane): windowed per-class loss denominator, detector robustness, and bench polish (#11) by @vxfemboy in #160
  • bench(wan): record automated WAN benchmark results by @github-actions[bot] in #161
  • feat(dataplane): Traffic-Analysis Defense (DAITA & AmneziaWG recipes) by @vxfemboy in #162
  • bench(wan): record automated WAN benchmark results by @github-actions[bot] in #163
  • feat(packaging): Phase 2: Zero-Friction Distribution & Operations (Static Musl, Multi-Init, Container, Installer, Cargo Binstall) by @vxfemboy in #164
  • bench(wan): record automated WAN benchmark results by @github-actions[bot] in #165
  • fix(ci): resolve cargo deny advisories and eliminate mutation test failures by @vxfemboy in #166
  • fix(bench): stabilize benchmark CI workflow, fix SVG overflows, and harmonize docs by @vxfemboy in #168
  • bench(wan): record automated WAN benchmark results by @github-actions[bot] in #169
  • docs: comprehensive README and documentation overhaul for onboarding and clarity (#170) by @vxfemboy in #175
  • perf(transport): eliminate heap allocations and HashMap churn in FecReassembler hot path by @vxfemboy in #176
  • perf(io): implement per-core UMEM slab allocation and vectorized ring operations in AF_XDP by @vxfemboy in #177
  • perf(io): tune MAP_POPULATE startup memory and optimize BatchUdpSocket burst sizing by @vxfemboy in #179
  • feat(ca): decentralized threshold CA with RFC 9591 FROST, single-round enrollment, and ROAST (#39) by @vxfemboy in #180

New Contributors

  • @vxfemboy made their first contribution in #1
  • @github-actions[bot] made their first contribution in #161

Full Changelog: https://github.com/femboyisp/yip/commits/v0.1.0