First configuration
The tracked examples/first-config.yml runs a loopback-only HTTP listener. It
needs no certificates, upstream service, or firewall changes.
- address: 127.0.0.1:8080 transport: tcp target: allowlist: 127.0.0.1/32 default_http_action: type: serve-message status_code: 200 content: "Hello from tobaru!\n" response_headers: Content-Type: text/plainFrom the repository root, validate it before starting:
tobaru --dry-run examples/first-config.ymltobaru examples/first-config.ymlIn another terminal:
curl http://127.0.0.1:8080/The response is Hello from tobaru!. Stop the foreground process with Ctrl-C.
--dry-run validates configuration and referenced TLS files without binding
listeners. It cannot prove the port is available or a backend is reachable.
Forward a TCP port
Section titled “Forward a TCP port”For a service already listening on port 9000:
tobaru 'tcp://127.0.0.1:8080?target=127.0.0.1:9000'The URL shortcut allows all source IPs and has no resource cap by default. Keep the loopback bind for local access; use YAML for allowlists and explicit limits before exposing a service.
Continue with examples for TLS and hostname routing.