GateRelay

GateRelay forwards TCP connections from one public port to one backend target. I built it to practice the parts of running a service that a toy program skips. Those parts included least privilege, repeatable deployment, useful logs, and a runbook for failures.

The relay is intentionally narrow. It does not terminate TLS, balance traffic, or inspect the bytes it carries. Go handles each direction in its own copy loop. Connection limits, idle deadlines, graceful shutdown, and structured logs make the behavior explicit at the edges.

This was a completed infrastructure experiment. It is not a service I am actively developing.

What I worked on

The main lesson was that the network loop is a small part of a reliable service. Installation, permissions, observability, recovery, and clear limits take most of the design work.