Fork of Chisel by Jaime Pillora (upstream v1.11.5 baseline) with support for Unix Domain Socket and additional telemetry integration.
This fork includes custom library-level extensions beyond upstream chisel.
New reverse remote formats are supported:
R:uds-listen:<socket_path>:<target_host>:<target_port>R:uds-pair:<socket_path>:<target_host>:<target_port>
Behavior:
uds-listen: server binds a Unix socket and forwards accepted streams through the client target.uds-pair: two clients registering the same socket path are FIFO-paired and relayed stream-to-stream.
Implementation notes:
- stale socket cleanup and socket permission handling are included for
uds-listen. - parser/encoding support is in
share/settings/remote.go.
Server-side structured telemetry is exposed directly (instead of relying on log parsing):
Server.MonitorSnapshot() MonitorSnapshot
Snapshot includes:
- sessions with statuses:
pending,connected,failed,disconnected - endpoints with statuses:
pending,active,failed,closed - status counters for both session and endpoint states
Primary implementation is in server/monitor_state.go.
Tunnel config has been extended with callbacks:
OnEndpointStateChange func(EndpointStateChange)OnStreamEvent func(StreamEvent)
These report endpoint lifecycle transitions and per-stream lifecycle events (accepted, open, error, closed).
Primary implementation is in share/tunnel/tunnel.go and share/tunnel/tunnel_in_proxy.go.
Server config struct includes:
Config.OTELEnabled boolConfig.OTELEndpoint string(OTLP/HTTP target)
When enabled, the fork emits OTEL traces and metrics for:
- session lifecycle
- endpoint lifecycle
- stream lifecycle
Primary implementation is in server/otel.go.
1.0- Fork of Chisel by Jaime Pillora (upstream v1.11.5 baseline), added Unix Domain Socket support and telemetry improvements
Chisal itself is protected by the MIT license. Original Chisel project by Jaime Pillora (MIT) © Jaime Pillora.
My additions are also protected by the MIT license Chisal-UDS - Thomas Bruninx - MIT © Thomas Bruninx