Skip to content

Releases: lotosli/umbra

Umbra 1.0.0-alpha

Umbra 1.0.0-alpha Pre-release
Pre-release

Choose a tag to compare

@lotosli lotosli released this 15 Sep 07:03

1.0.0-alpha

Throughput-focused prerelease. Upgrade both endpoints together; existing configurations remain accepted. Deployment assumes at least 1GiB physical server RAM.

  • Enable runtime-detected AES/PMULL acceleration and zeroizing cached AEAD contexts; transfer independent TLS application keys and reuse record storage.
  • Configure funded QUIC stream/send windows (6MiB/32MiB defaults), correct delayed consumption sampling and batch ingress with bounded shared storage.
  • Keep UDP receive/control/idle progress independent of blocked carrier writes and target setup; share client endpoints with per-connection ownership.
  • Schedule ready mux streams, coalesce cumulative credit, increase production startup windows to 1MiB/4MiB and release the pool lock during setup.
  • Transfer wrapped Vision payload buffers and batch validated raw records with retained partial suffixes.

Verification

  • Local full CI: 559/559 tests, 95.35% line coverage; fmt, clippy, cargo-deny and fingerprint self-checks passed.
  • Regular workspace nextest: 548 passed, 11 diagnostics/e2e cases separately covered by full CI.
  • Five bounded fuzz targets: 68,748,700 inputs without a crash.
  • Strict OpenSpec: 9/9 items passed. Default changed QUIC flow-control fields match the checked-in real Chrome 153 capture; full Chrome equivalence remains unverified.
  • Serial local diagnostics: same TLS record workload ~1.25→7.93Gbps; raw memory-forwarding median ~8.25→4.00ms; actual mux driver on a 100ms/1Gbps emulator ~116→178Mbps including startup, ~1Gbps after continuous warmup. These are not WAN guarantees.

Artifacts and source

Four macOS/Linux binaries, SHA256SUMS and BUILD-INFO.json are attached. Binary source: a7e63079efe03991243f550426ab6f6d5b2c0386. Windows was not built locally. GitHub CI did not start because of the account billing/spending restriction; no remote CI pass or protected-branch merge is claimed.

Deployment

Both the existing server and Mac client now run this release, with hashes verified and original configurations preserved. Vision, TCP mux and native QUIC each passed certificate-verified public HTTPS, an exact 64MiB synthetic transfer, and UDP echoes (320-byte and empty datagrams). Test processes were removed and the prior release is backed up.

Live serial proxy samples measured 4.925–5.843Mbps. A shorter adjacent SSH sample measured 8.277Mbps; an equal-length 64MiB SSH control timed out at 180 seconds. This variable path does not support a WAN speedup claim. See the full verification record.

Umbra 0.0.9

Choose a tag to compare

@lotosli lotosli released this 14 Sep 22:17

Umbra 0.0.9 improves throughput on high-RTT TCP mux paths and coordinates resources across authenticated clients. Both the Linux server and Mac client have been deployed and verified against the final build hashes.

  • Negotiated per-stream and connection flow control, with consumption/RTT-based window growth funded by shared process and credential-group budgets.
  • Credential-group scheduling of ready authenticated work, preserving idle-capacity borrowing and task cancellation.
  • Reduced TLS/mux/Vision allocation and copying, independent relay directions, owned worker lifetimes and QUIC receive batching.
  • Quinn 0.11.12 / quinn-proto 0.11.18, with selectable BBR/Cubic/NewReno. BBR is the default trial; Linux TCP congestion control remains independent.
  • Native QUIC admission that fits the supported 16MiB minimum budget and grows aggregate receive credit when funded.
  • Optional anonymous pipeline diagnostics: transport/target I/O, credit, queue, setup and budget observations. Collection defaults off; set performance.diagnostics_interval_secs on the server to enable it.

Adaptive TCP mux requires upgraded peers; performance.adaptive_mux=false retains explicit legacy operation. Native QUIC's existing per-stream receive limit remains separate from its aggregate autotuning.

Validation: all 525 local tests passed, line coverage 95.02%, plus formatting, clippy, dependency/license/advisory checks, fingerprint regressions, strict OpenSpec validation and the recorded parser fuzz run. GitHub Actions could not start because of account billing/spending restrictions; no remote CI pass is claimed and the PR remains unmerged.

Final-source synthetic mux medians at 100ms added RTT were 20.058Mbps fixed / 116.010Mbps adaptive. Online 64MiB observations were TCP Vision 25.921Mbps, TCP mux 26.850Mbps and QUIC BBR 22.625Mbps. These are condition-specific observations, not guaranteed gains or evidence that BBR outperforms Cubic. Actual HTTPS with normal certificate verification and 320-byte/empty UDP echoes passed.

Implementation source: 201bca93746c850274115636eaf1f30955025e4e; the release tag includes documentation finalization with the same production source tree. All four Mac/Linux binaries and SHA256SUMS are included. These final assets supersede the initial 0.0.9 cut from this development session.

Configuration and interpretation · Verification evidence · Source PR

v0.0.8

Choose a tag to compare

@lotosli lotosli released this 13 Sep 18:24

0.0.8 corrects X25519MLKEM768 share/shared-secret ordering and QUIC TLS version offers. It also adds optional udp_transport / --udp-transport, allowing one SOCKS listener to use TCP/Vision for TCP and QUIC for UDP.

Use transport = "tcp", udp_transport = "quic", mux = false, and socks_listen = "127.0.0.1:1080". A Clash SOCKS5 node with port: 1080 and udp: true supports both request types; the UDP flag does not force TCP traffic onto QUIC.

Upgrade both client and server together. The earlier reversed hybrid wire format is not supported; identity credentials can be reused.

The standards repair passed 489 workspace tests with 94.83% line coverage and independent forced-hybrid TCP/QUIC tests in both roles. The later single-instance addition passed 226 targeted core/CLI tests plus two ignored end-to-end tests and strict clippy. Full coverage and post-deployment functional tests were not repeated after that addition, per the user's explicit instruction. Detailed scope is recorded in the change verification document.

Real Chrome 153.0.8010.37 TCP/QUIC capture evidence is included. It does not replace the historical default profile or claim complete Chrome parity.

Apple Silicon and Linux x86_64 binaries were deployed; Intel macOS and Linux aarch64 binaries were cross-built. Caddy now hosts the shared TCP/UDP443 deployment. SHA256SUMS covers the four executable assets.

v0.0.7

Choose a tag to compare

@lotosli lotosli released this 13 Sep 13:48

Changes

TCP solo (mux=false) now transfers eligible inner TLS 1.3 traffic to raw TCP after authenticated boundary agreement. Subsequent protected records retain the application’s end-to-end TLS and are forwarded without duplicate outer TLS encryption, Vision framing, or padding.

The old solo relay/helper was removed. Upgrade both endpoints to 0.0.7 for solo use; mux=true remains supported. Non-TLS and unsupported TLS stay encrypted. No additional Vision switch is needed.

Verification

  • 475 local workspace tests passed; line coverage 94.77%.
  • Independent TLS endpoints verified 256 KiB in each direction, exact raw wire bytes, and stopped outer encryption counters.
  • Both new parsers completed 10,000 AddressSanitizer fuzz iterations.
  • Formatting, strict clippy, dependency, fingerprint self-checks and strict OpenSpec validation passed.
  • Both deployment endpoints passed online HTTPS and concurrency checks with raw-splice evidence.

No performance comparison or speedup percentage is claimed. Artifacts included here are Apple Silicon macOS and Linux x86_64, with SHA256SUMS.

GitHub-hosted checks could not start because of the account billing/spending-limit restriction. They did not execute tests; PR #6 remains open pending remote CI. This release uses the locally tested and deployed commit.

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 13 Sep 01:10
17e301e

Fixes

  • Keep TCP multiplexing enabled while distributing streams across a bounded, capacity-aware connection pool.
  • Recover from non-progressing mux sessions without replaying application payloads; retiring sessions cannot permanently block fresh connections.
  • Race bounded IPv4/IPv6 target candidates so one unreachable address does not consume the whole connection attempt.
  • Distinguish setup failure stages, return a standard SOCKS failure response, and report redacted TLS bridge error stages.
  • Synchronize package metadata so binaries report umbra 0.0.6.

Compatibility

The authentication and wire formats are unchanged from v0.0.5. Existing v0.0.5 configuration and credentials remain valid. Upgrade both client and server to receive the complete client-pool and server-target connection fixes.

Validation

Local runtime validation passed 417 workspace tests with 94.37% line coverage, strict linting, dependency policy, fingerprint self-checks, and OpenSpec validation. The release assets are built by the repository's GitHub Actions workflow for macOS (Apple Silicon/Intel), Linux (x86_64/aarch64), and Windows (x86_64).

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 12 Sep 02:11
e9f39c2

Automated release for v0.0.5.

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 07 Jul 17:27

Automated release for v0.0.4.

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Jul 17:06
1f86c8c

Automated release for v0.0.3.

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:58

Automated release for v0.0.2.

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:26

Automated release for v0.0.1.