-
portal-tunnel-rs v2.4.1+rs.1
Stablereleased this
2026-09-12 10:25:17 +00:00 | 0 commits to master since this releaseportal-tunnel-rs v2.4.1+rs.1
Rust relay-server compatibility release targeting upstream
gosuda/portal-tunnel v2.4.1at commitc644d4b37b0a70c2e7b045ca92ce0de3b42e4299.Highlights
- Protocol-9 discovery and IVNP gateway/ingress interoperability for the v2.4.1 relay contract.
- Exact upstream application connection-selection semantics retained.
- Fail-closed deterministic native ARM64 Axis-B gate with signed RouterInfo mesh, active runtime semantic parity, Rust marker correlation, bounded cleanup, and secret-safe evidence.
- Official upstream v2.4.1 client compatibility; v2.4.0 retained end-to-end because both use protocol 9. The v2.3.8 window remains wire-scoped as documented in
docs/unsupported-features.md.
Provenance and validation
- Revision:
8913edcae9b10fa54e6e5849a22c1a8924b73c2a - Verified dev tag:
v2.4.1+rs.1-dev.5 - Production tag:
v2.4.1+rs.1at the same revision - Exact-head CI and native Linux ARM64
IVNP_AXIS_B_PASS - Deployed-image public HTTP E2E with official v2.4.1 and v2.4.0 clients
- Production
/healthzand/sdk/domainverified - Preserved raw bearer count: zero
See PR #91 for the upstream retarget and PRs #92/#93 for the deterministic Axis-B release gate and connection-semantics correction.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v2.3.8+rs.1
Stablereleased this
2026-08-25 14:11:29 +00:00 | 3 commits to master since this releaseRust relay release retargeted to upstream portal-tunnel v2.3.8 (
f73614e2fd51481e62fd7cbcb928d349e45eb6f0).Changes:
- Isolates unverified discovery candidates until direct authoritative target verification, caps candidates per signing identity, and evicts candidates before verified relays.
- Shares the upstream-compatible per-source announce budget across discovery announces and hop-route POSTs.
- Matches the v2.3.8
/sdk/domainENS provider response shape and explicitly rejects the unsupported embedded authoritative DNS provider. - Retargets version metadata, compatibility documentation, fixtures, and official-client/API/JWT smoke defaults to v2.3.8 and Go 1.27.
- Preserves tunnel/discovery protocol 8 and legacy v2.1.8/v2.1.9 hop-route signature acceptance.
Artifacts:
- Git tag:
v2.3.8+rs.1 - OCI image:
code.rly.best/gofix/portal-tunnel-rs:v2.3.8-rs.1 - OCI digest:
sha256:a57b2eaf6c84614927f34be4b67a0715f9570cd4d1c23bf4c16607199e01e171 - Revision:
3217a6a3e179a305b3c29ec2c9a28e932cb081cc - Verified dev image:
v2.3.8-rs.1-dev.1atsha256:60f8e7fac24b95bfedd556c04e16d4f690c3f849837bda435b8f0f3d20574b82
Verification:
- PR #89 CI run #154 and target-branch CI run #155 passed; dev image run #156 and production image run #157 passed.
- Formatting, Clippy with warnings denied, 151 tests (3 capability-dependent ignored), Go/Rust API shape, Go-issued JWT, and official v2.3.8 HTTP/lifecycle/TCP/UDP smokes passed.
- Relay-host registry realm resolution/reachability and authenticated manifest lookup passed before dev tagging.
- Dev and production direct official-client HTTP gates passed.
- Canonical protocol-8 Axis B three-hop gates passed with rly.best as the middle relay for both dev and production wire releases.
- The checksum-verified official arm64 v2.3.8 CLI was installed; all eight production expose services, including the code tunnel, were restarted/reattached and verified.
- Local/public relay health and release surfaces passed. A first production switch was automatically rolled back on recovery-metadata validation; the metadata was corrected, the same immutable image redeployed, and all final gates passed.
- Verification fixtures and stopped backup containers were cleaned; no certificate/identity volumes were removed.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v2.3.7+rs.1
Stablereleased this
2026-08-17 12:44:36 +00:00 | 5 commits to master since this releaseRust relay release retargeted to upstream portal-tunnel v2.3.7.
Changes:
- Adds upstream-compatible GET/HEAD /llms.txt relay connection guidance with configured relay URL substitution.
- Retargets version metadata, compatibility documentation, fixtures, and official-client/API/JWT smoke defaults to v2.3.7.
- Preserves protocol 8 behavior and the documented legacy v2.1.8/v2.1.9 hop-route signature compatibility window.
Artifacts:
- Git tag: v2.3.7+rs.1
- OCI image: code.rly.best/gofix/portal-tunnel-rs:v2.3.7-rs.1
- OCI digest: sha256:9fcfc74e2059cddaa53245c6007d46f54bcbe376174372aba5e2f38e5089d814
- Revision:
1b81484729
Verification:
- Forgejo PR and target-branch Rust CI passed.
- Tagged dev.2 arm64 image passed authenticated registry verification and live relay checks.
- Official v2.3.7 clients reattached all eight production expose services; representative direct HTTP checks passed.
- Canonical protocol-8 Axis B three-hop gate passed with rly.best as the middle relay.
- Production image, public/local relay version, API health, /llms.txt contract, and private inventory health passed.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
v2.3.5+rs.2
Stablereleased this
2026-08-13 19:21:53 +00:00 | 7 commits to master since this releasev2.3.5+rs.2
Port patch fixing the default Docker Compose startup path.
Fix
- Omit
PORTAL_FRONTEND_DIRwhen it is unset so Clap receivesNoneand the built-in landing page fallback remains active. - Add a regression test for the default Compose environment.
Validation
- PR #85 and post-merge Rust CI passed.
- 144 tests passed, 3 ignored; formatting and Clippy
-D warningspassed. - Isolated default
docker compose up: container running, built-in landing page HTTP 200. - Official portal v2.3.5 direct HTTP and 45-second lifecycle/renew/unregister gates passed.
- Multi-hop with the Rust relay as ingress, middle, and exit returned HTTP 200 in all three positions.
- Production ARM64 image digest:
sha256:2ba2b60987b67b282ddeea2612d8931130b68a4de479d6c64f048518ea70fbc4. - Production relay reports
portal-relay v2.3.5+rs.2; eight official portal v2.3.5 expose services are active and public health gates pass.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Omit
-
v2.3.5+rs.1
Stablereleased this
2026-08-13 18:16:44 +00:00 | 8 commits to master since this releaseportal-tunnel-rs v2.3.5+rs.1
Retargets the Rust relay to upstream portal-tunnel v2.3.5 (
79ccc6f2388dd47b0121c4593746150e084f1785) while preserving tunnel/discovery protocol version 8.Interoperability window
- Axis A: official upstream
portalCLI v2.3.5 against this relay. - Axis B: relay protocol v8 against upstream v2.3.5 relays, with retained v2.1.8/v2.1.9 hop-route signature acceptance.
Changes
- Adds v2.3.5 landing-page policy fields and upstream-compatible frontend-directory/SPA fallback behavior.
- Serializes policy writes.
- Adds public UDP lease addresses and the five-minute UDP flow idle window.
- Retargets official-client, JWT, lifecycle, TCP/UDP, and Go API-shape harnesses to v2.3.5.
Image
code.rly.best/gofix/portal-tunnel-rs:v2.3.5-rs.1
Digest:sha256:4506b242c79aa9a6cff19865b1f64ac4cebf9118fcdff8cbe6f8ec3273f617ecVerification
- Commit:
cea5e4ea4dba857310d8f1834d68db75d5db6479(same commit as tagged dev deployv2.3.5+rs.1-dev.1). - Forgejo CI: formatting, 143 tests passed / 3 ignored, and clippy with warnings denied.
- Dev image:
v2.3.5-rs.1-dev.1, digestsha256:0abaab5400eab8b7da5cf4dcfcbec06d2150c6e0ac7172f765d525bd75707b97. - Axis A live: SHA-verified official v2.3.5 ARM64 client, direct HTTP 200, 45-second renew endurance (9 fetches), and unregister cleanup.
- Axis B live: passing all-upstream controls plus Rust relay as ingress, exit, and middle; the three-hop upstream → Rust → upstream path returned HTTP 200, clearing the former 502 gate using healthy approved discovery relays.
- Production: public and local health HTTP 200, reported version
v2.3.5+rs.1; eight active production expose services reattached with official client v2.3.5 and healthy representative routes.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Axis A: official upstream
-
portal-tunnel-rs v2.3.1+rs.1
Stablereleased this
2026-06-06 06:45:05 +00:00 | 12 commits to master since this releaseUpstream Target
- Upstream:
gosuda/portal-tunnelv2.3.1(594497de27f79c4ab856f284c542f767ce498bb7). - Rust tag:
v2.3.1+rs.1. - OCI image:
code.rly.best/gofix/portal-tunnel-rs:v2.3.1-rs.1. - OCI digest:
code.rly.best/gofix/portal-tunnel-rs@sha256:37a7a39838befc34b79d2aedc698e691aa8dc4fd9693791750d9c4891eec7bff.
What Changed
- Retargeted workspace metadata, docs, fixtures, and smoke harness defaults from upstream
v2.3.0tov2.3.1. - Added upstream
v2.3.1admin bearer-token login/status compatibility while preserving existing wallet admin auth. - Matched the upstream five-minute keyless request clock-skew window.
- Added
/sdk/domainX402pay_toshape compatibility and fail-fast handling for the newX402_ENABLEDconfiguration names. - Ported the upstream installer script updates relevant to this relay package.
Interop Window
- Axis A: official upstream
portalv2.3.1client to this Rust relay, with retained relay-server compatibility coverage documented indocs/unsupported-features.md. - Axis B: Rust relay interop with upstream Go
v2.3.1relay shapes and explicit multi-hop chains; v2.1.8/v2.1.9 hop-route signature acceptance remains for compatibility.
Verification
- PR CI run #119: success.
- Target branch CI run #120: success.
- Dev tag
v2.3.1+rs.1-dev.1/ imagev2.3.1-rs.1-dev.1: CI run #121 success and live direct + multi-hop verification passed. - Production tag
v2.3.1+rs.1/ imagev2.3.1-rs.1: CI run #122 success and registry tag confirmed. - Production relay
/healthzand/sdk/domainreportv2.3.1+rs.1locally and publicly. - Official arm64
portalCLIv2.3.1asset was sha256-verified, installed, and active production expose services were restarted and checked. - Final production direct HTTP and multi-hop HTTP smoke tests passed.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Upstream:
-
portal-tunnel-rs v2.3.0+rs.1
Stablereleased this
2026-06-01 06:20:31 +00:00 | 13 commits to master since this releaseRetargets
portal-tunnel-rsto upstreamgosuda/portal-tunnelv2.3.0(fbb3c671703e14e77823ebb66704801576802030).Changes:
- Bumps tunnel/discovery protocol compatibility to
8and reported release tov2.3.0+rs.1. - Adds upstream v2.3.0
/api/*relay API routing aliases while retaining existing legacy operator paths. - Supports the v2.3.0 official client
/sdk/connectraw-upgrade reverse-session handshake. - Refreshes fixtures, docs, and release smoke defaults for v2.3.0.
Image:
code.rly.best/gofix/portal-tunnel-rs:v2.3.0-rs.1- digest
sha256:fea2d4a06083baf2fc4d39ad6f4f097c5f25b9e972b26bde43c9cbb6e6b5b557
Compatibility:
- Official upstream
portalclient target:v2.3.0. - Documented relay compatibility surface remains in
docs/unsupported-features.md; legacy v2.1.8/v2.1.9 hop-route signature compatibility is retained. - Verified release gates included Rust CI, Go/Rust API-shape comparison, Go-issued JWT verification, official v2.3.0 HTTP/lifecycle/TCP/UDP smokes, live production direct HTTP smoke, and live production multi-hop smoke with
rly.bestin the hop chain.
Deployment:
- Production relay updated to this image.
- Long-running production official
portalCLI clients were upgraded to upstream v2.3.0 and their exposed services restarted/re-attached.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Bumps tunnel/discovery protocol compatibility to
-
portal-tunnel-rs v2.2.5+rs.1
Stablereleased this
2026-06-01 01:05:36 +00:00 | 14 commits to master since this releaseSummary
Retargets
portal-tunnel-rsto upstreamportal-tunnelv2.2.5 and publishes the first Rust relay build for this upstream target.Changes
- Retargeted workspace/release metadata and compatibility defaults to upstream v2.2.5.
- Hardened relay identity directory setup for non-root containers with pre-owned bind mounts.
- Installed the rustls ring crypto provider explicitly at startup to avoid rustls 0.23 provider-selection panic when both ring and aws-lc-rs are present in the dependency graph.
Verification
- PR CI passed:
- Dev deploy trail:
v2.2.5+rs.1-dev.1: image built, live gate failed on non-root chmod.v2.2.5+rs.1-dev.2: image built, live gate advanced to rustls CryptoProvider panic.v2.2.5+rs.1-dev.3: image built from the same revision as this release and live-verified.
- Verified dev image:
- Git tag:
v2.2.5+rs.1-dev.3 - Revision:
2639d353abdff3baecfbdd9f3d635a672405309d - Image:
code.rly.best/gofix/portal-tunnel-rs:v2.2.5-rs.1-dev.3 - Live relay reported
release_version = v2.2.5+rs.1-dev.3. - Official upstream v2.2.5 CLI HTTP smoke passed against the live relay SNI path.
- Git tag:
Production artifact
- Git tag:
v2.2.5+rs.1 - Revision:
2639d353abdff3baecfbdd9f3d635a672405309d - Image:
code.rly.best/gofix/portal-tunnel-rs:v2.2.5-rs.1 - Digest:
sha256:1139c43540f6f7127b34f5122f1cfe3c02a50ef68825b3bf7c9983eb68d613b5
Deployment
- Deployed production image to the live relay.
- Sanity check passed:
/healthzis OK and/sdk/domainreportsrelease_version = v2.2.5+rs.1with protocol version7.
Compatibility
- Upstream target:
portal-tunnelv2.2.5. - Live verification covered the supported HTTP expose path with the official v2.2.5 client. TCP/UDP are disabled in the current live environment configuration and were not exercised in production sanity.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
portal-tunnel-rs v2.2.4+rs.1
Stablereleased this
2026-05-28 10:57:51 +00:00 | 17 commits to master since this releaseSummary
- Retarget the Rust relay compatibility baseline to upstream
gosuda/portal-tunnelv2.2.4. - Add the upstream
x402status object to/sdk/domainwithenabled=falsefor the Rust relay. - Add startup guards for unsupported relay-local X402 facilitator mode and unsupported Njalla ACME DNS configuration.
- Refresh fixtures, smoke defaults, docs, and version metadata for the
v2.2.4target.
Compatibility
- Upstream target:
v2.2.4. - Interop window remains documented in
docs/unsupported-features.md. - Relay reports
release_version=v2.2.4+rs.1on/sdk/domain. - Production image:
code.rly.best/gofix/portal-tunnel-rs:v2.2.4-rs.1. - Production manifest digest:
sha256:b05fa61d8772ecc7b50af54315b3743ae8e7953124c8b240e0a7dac3f4ea451a.
Validation
- PR #74 merged after required Forgejo Rust CI passed.
masterpush CI passed before tagging.- Tagged dev deploy:
v2.2.4+rs.1-dev.1/ imagev2.2.4-rs.1-dev.1. - Dev image workflow passed; manifest digest
sha256:137e55fb30fa41ad0f926662e263b1e0b43b1778a3b8798844c6019217ea00bf. - Dev relay live verification passed for local/public
/sdk/domain, officialv2.2.4direct HTTP, and officialv2.2.4explicit multi-hop withrly.bestas middle hop. - Production image workflow passed and the production relay was switched to
v2.2.4-rs.1. - Production direct HTTP and explicit multi-hop official-client smokes passed.
- Active long-running production
portal exposeclients were upgraded to official CLIv2.2.4, restarted, and theirrly.bestendpoints returned expected status codes. rust-relay-multihop-*validation fixtures were refreshed to official CLIv2.2.4and returned HTTP 200.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Retarget the Rust relay compatibility baseline to upstream
-
v2.2.3+rs.2
Stablereleased this
2026-05-21 13:53:40 +00:00 | 18 commits to master since this releaseSummary
- Fix Rust relay routing for Chrome/ECH ClientHello paths where the browser connects with the ECH public name as the outer SNI.
- Match upstream Go relay behavior by routing ECH outer SNI through the lease registry instead of closing the TLS connection.
- Keep DNS HTTPS/TYPE65 ECH records synchronized through the Cloudflare-backed production relay configuration.
Validation
cargo fmt --checkcargo test --lockedcargo clippy --locked --all-targets -- -D warnings- Dev relay verification on
v2.2.3+rs.2-dev.1 - Production relay deployed image
code.rly.best/gofix/portal-tunnel-rs:v2.2.3-rs.2 - Production
/sdk/domainreportsrelease_version=v2.2.3+rs.2 - Production
*.rly.bestendpoints checked after reattaching expose services - DNS HTTPS/TYPE65 ECH records refreshed for public
rly.bestservices
Deployment
- Upstream target:
v2.2.3 - Rust release counter:
rs.2 - Image:
code.rly.best/gofix/portal-tunnel-rs:v2.2.3-rs.2
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download