Go client for proxera. It creates a persistent tunnel over WebSocket and proxies inbound tunnel requests to local HTTP services. Can be deployed as a Kubernetes workload via Helm, run as a standalone binary, or installed as a Home Assistant add-on.
- WebSocket tunnel client with
X-Proxera-Tokenauthentication. - Full frame handling for
REGISTER_ACK,REQUEST,RESPONSE,PING,PONG,ERROR. - Local HTTP proxying with hop-by-hop header stripping.
- Configurable heartbeat and reconnect backoff with jitter.
- Structured JSON logging for tunnel lifecycle and proxy traffic.
- CLI flags with environment variable support.
Click the button above to add the repository to Home Assistant, then install the Proxera Agent add-on from the store. See the add-on documentation for the full configuration reference.
Add the chart repository and install the agent into your cluster:
helm repo add wenisch-tech https://charts.wenisch.tech
helm repo update
helm upgrade --install proxera-agent wenisch-tech/proxera-agent \
--namespace proxera \
--create-namespace \
--set config.serverUrl="wss://proxera.example.com/tunnel" \
--set secret.apiKey="$PROXERA_API_KEY"Or supply values via a file:
# values.yaml
config:
serverUrl: "wss://proxera.example.com/tunnel"
secret:
apiKey: "<your-api-key>"helm upgrade --install proxera-agent wenisch-tech/proxera-agent \
--namespace proxera \
--create-namespace \
-f values.yamlDownload the latest binary for your platform from the releases page, or use the commands below to download and run it directly:
Linux amd64
curl -L https://github.com/wenisch-tech/proxera-agent/releases/latest/download/proxera-agent-linux-amd64 -o proxera-agent
chmod +x proxera-agent
./proxera-agent --server-url wss://proxera.example.com/tunnel --api-key "$PROXERA_API_KEY"Linux arm64
curl -L https://github.com/wenisch-tech/proxera-agent/releases/latest/download/proxera-agent-linux-arm64 -o proxera-agent
chmod +x proxera-agent
./proxera-agent --server-url wss://proxera.example.com/tunnel --api-key "$PROXERA_API_KEY"Windows amd64
Invoke-WebRequest -Uri https://github.com/wenisch-tech/proxera-agent/releases/latest/download/proxera-agent-windows-amd64.exe -OutFile proxera-agent.exe
.\proxera-agent.exe --server-url wss://proxera.example.com/tunnel --api-key "$env:PROXERA_API_KEY"Windows arm64
Invoke-WebRequest -Uri https://github.com/wenisch-tech/proxera-agent/releases/latest/download/proxera-agent-windows-arm64.exe -OutFile proxera-agent.exe
.\proxera-agent.exe --server-url wss://proxera.example.com/tunnel --api-key "$env:PROXERA_API_KEY"Required:
PROXERA_SERVER_URL(for examplewss://proxera.example.com/tunnel)PROXERA_API_KEY
Optional:
PROXERA_LOG_LEVEL(debug,info,warn,error)PROXERA_HEARTBEAT_INTERVAL(default30s)PROXERA_HEARTBEAT_TIMEOUT(default10s)PROXERA_RECONNECT_BASE(default1s)PROXERA_RECONNECT_MAX(default60s)PROXERA_REQUEST_TIMEOUT(default30s)PROXERA_CONCURRENCY_LIMIT(default100)
Flags override environment values:
go -C src run ./cmd/proxera-agent \
--server-url wss://proxera.example.com/tunnel \
--api-key "$PROXERA_API_KEY" \
--log-level infomake buildAll Go source and the module definition live under src/.
make testdocker build -t ghcr.io/wenisch-tech/proxera-agent:dev .Helm chart lives in charts/proxera-agent and is packaged during release.
CI release uploads:
proxera-agent-linux-amd64proxera-agent-linux-arm64proxera-agent-windows-amd64.exeproxera-agent-windows-arm64.exeSHA256SUMS- CycloneDX SBOM
- Cosign bundles and provenance attestations
- Helm chart archive and signature bundle
