- Rust 92.7%
- Shell 6.3%
- PowerShell 0.5%
- Dockerfile 0.5%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| crates/portal-relay | ||
| docs | ||
| fixtures/go | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
portal-tunnel-rs
A lightweight Rust port of the portal-tunnel relay-server.
Compatible with upstream portal-tunnel v2.3.2. Not every upstream feature is implemented — see docs/unsupported-features.md for the support matrix. For the release-cycle workflow (retargeting at a new upstream, or shipping a port-level patch), see docs/RELEASE.md.
Quick start
Published images are linux/arm64 only.
docker pull code.rly.best/gofix/portal-tunnel-rs:latest
docker run --rm --cap-add=NET_ADMIN --cap-add=NET_BIND_SERVICE \
-p 4017:4017 -p 443:443 \
code.rly.best/gofix/portal-tunnel-rs:latest
A reference docker-compose.yml with persistent cert volume is included in this repo. For linux/amd64 you can build from source — cargo build --release --bin portal-relay works on any host with a Rust toolchain.
Configuration
All settings are configured through environment variables (or the equivalent --flag form). Run portal-relay --help to see the full list.
Release tags
Tags are v<upstream>+rs.<n> (or v<upstream>-rs.<n> for container images, since the OCI tag spec disallows +):
v2.1.8+rs.1→ first stable Rust build for upstreamv2.1.8v2.1.9+rs.1→ first build retargeted at upstreamv2.1.9v2.2.0+rs.1→ first build retargeted at upstreamv2.2.0v2.2.1+rs.1→ first build retargeted at upstreamv2.2.1v2.2.2+rs.1→ first build retargeted at upstreamv2.2.2v2.2.3+rs.1→ first build retargeted at upstreamv2.2.3v2.2.4+rs.1→ first build retargeted at upstreamv2.2.4v2.2.5+rs.1→ first build retargeted at upstreamv2.2.5v2.3.0+rs.1→ first build retargeted at upstreamv2.3.0v2.3.1+rs.1→ first build retargeted at upstreamv2.3.1v2.3.2+rs.1→ first build retargeted at upstreamv2.3.2
Pick the tag whose upstream component matches the portal-tunnel version your clients expect.