Repository navigation
Releases: go-wasmcontainers/relay
Releases · go-wasmcontainers/relay
Release list
v0.3.1
What's Changed
- deps: golang.org/x/net v0.62.0 (GO-2026-6860, GO-2026-6866) by @tannevaled in #10
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- chore(flowmap): go-widgets/toolkit v0.345.0, which links less by @tannevaled in #8
- server: CORS allowlist on the public listener (--cors-origin) by @tannevaled in #9
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- --admin-socket, and a clear error for a socket path past sun_path by @tannevaled in #4
Full Changelog: v0.2.0...v0.2.1
v0.2.0
The live flow map (milestone M-relay-2b): a page the relay serves that draws the class's flows as they happen.
wctr-relay flowmap --class <class> --url https://relay.local:8443 # prints the link for the projector- Students are boxes holding their containers, coloured by security group; flows are lines whose width follows throughput; refused flows flash as dashed red lines, with the missing rule in the event log. Click for details; the filter box dims the rest.
FlowLogService.WatchFlowMap(Connect server stream): one aggregated update per tick (4 Hz), coalesced for a slow reader, capped at 400 containers and 2 000 flows.FlowMapService.FlowMapTicket: a read-only, 12-hour ticket (admin listener only). A student's session sees only their own flows.- The page is Go WebAssembly on go-widgets
GraphView(toolkit v0.343.0), served underscript-src 'self' 'wasm-unsafe-eval'with nothing from elsewhere. - Tested in Chromium and Firefox (Playwright) against an in-process relay with real flows.
The binaries attached below include the page (-tags flowmap; its WebAssembly is ~5 MB, not committed). A plain go install …@v0.2.0 serves the page without it and says so.
🤖 Generated with Claude Code
v0.1.0
First release of wctr-relay, the classroom relay and firewall for WASI containers: milestones M-relay-1 and M-relay-2 of the design.
go install github.com/go-wasmcontainers/relay/cmd/wctr-relay@v0.1.0- One secure WebSocket per browser or engine, frame protocol v1; the session token is checked before the upgrade.
- Classes, sessions (one subnet each, the teacher on subnet 0), container addresses and
<container>.<student>.classnames assigned by the relay. - Security groups after OpenStack Neutron: default deny, allow-only rules, both ends, remote prefix and group, stateful (connection tracking) and stateless groups; rule changes reset the flows they revoke; a flow log.
- Quotas and rate limits per session and per class.
- Control API (connect-go: gRPC, gRPC-Web, Connect) and the
wctr-relaycobra CLI; admin on a 0600 Unix socket. - TLS: an internal name-constrained CA, or go-authn/servercert (files, ACME); OpenID Connect through go-authn/oidc.
driver: the client package an engine uses (also js/wasm); the contract isdocs/NETWORKDRIVER.md.
Not yet: the engine's use of it, the browser path, the live flow map, ICMP, IPv6, high availability; benchmark numbers (deferred: the measuring machine was loaded).
🤖 Generated with Claude Code