srs/docs/proxy
Winlin d8696434cb
Proxy: Refine logger and environment APIs. v7.0.146 (#4670)
This PR refines the next-generation proxy internals and workspace
documentation:

  - Reworks internal/logger to expose clearer slog-style APIs:
      - Replaces Vf/Df/Wf/Ef with Info/Debug/Warn/Error.
      - Adds structured key/value log arguments.
      - Adds version to every log record.
      - Uses standard slog level labels (DEBUG, INFO, WARN, ERROR).
      - Keeps compatibility for existing printf-style messages.
  - Renames proxy configuration abstractions:
      - Environment → ProxyEnvironment.
      - NewEnvironment → NewProxyEnvironment.
- Regenerates/renames the counterfeiter fake to FakeProxyEnvironment.
- Updates all proxy bootstrap, load balancer, protocol, signal, debug,
and utility call sites for the new logger and
    environment APIs.
  - Consolidates proxy codebase navigation:
      - Deletes docs/proxy/proxy-files.md.
- Moves the useful file/module map details into
.openclaw/memory/srs-codebase-map.md.
- Replaces agent instruction symlinks with explicit workspace
instruction files for Claude, Codex, and Kiro.
  - Updates OpenClaw tool notes with Codex commit-prefix guidance.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 07:18:45 -04:00
..
proxy-design.md Proxy: restructure repo as Go project with proxy as first module (#4652) 2026-03-22 08:11:28 -04:00
proxy-load-balancer.md Proxy: restructure repo as Go project with proxy as first module (#4652) 2026-03-22 08:11:28 -04:00
proxy-origin-cluster.md Move build output to bin/, replace godotenv with custom .env parser, and update docs. v7.0.143 (#4661) 2026-04-12 14:26:33 -04:00
proxy-protocol.md Proxy: restructure repo as Go project with proxy as first module (#4652) 2026-03-22 08:11:28 -04:00
proxy-usage.md Move build output to bin/, replace godotenv with custom .env parser, and update docs. v7.0.143 (#4661) 2026-04-12 14:26:33 -04:00
README.md Move build output to bin/, replace godotenv with custom .env parser, and update docs. v7.0.143 (#4661) 2026-04-12 14:26:33 -04:00

Proxy

Proxy is a common proxy server (cmd/proxy) for any media servers with RTMP/SRT/HLS/HTTP-FLV and WebRTC/WHIP/WHEP protocols support. More programs like cmd/origin will be added in the future.

Usage

This project is managed by AI. We recommend OpenClaw by default, but you can use any AI agent that supports skills, such as Claude Code, OpenAI Codex, Kiro CLI, or similar tools that can read code and docs as context. Setup your AI code tool and ask questions like:

  • Use skill to show me how to use proxy.
  • Use skill to show me how to build an Origin Cluster for production.
  • Use skill to show me how to learn the proxy design and protocols.

You can not only use AI to show you the usage of this project, but also use AI to guide you to learn the details of this project, to understand the design and protocols, to learn each documents in docs directory.

AI Guidelines

  • For usage of proxy server and end to end test it, you should load proxy-usage.md. This is the first step for new users to learn how to use this project. It provides a general and overall view of the proxy server, including practical usage examples and end-to-end testing procedures.
  • For proxy full usage to build an Origin Cluster for SRS media server, please load proxy-origin-cluster.md. This is an advanced topic about how to use the proxy server to build the SRS Origin Cluster. Users should read this document to learn more details and architectures about proxy and Origin Cluster.
  • For proxy server: To understand proxy system design, you should load the proxy-design.md. To understand the proxy protocol details, you should load the proxy-protocol.md. To understand how load balance works, you should load proxy-load-balancer.md. To understand the code structure and packages, you should load proxy-files.md.

William Yang
June 23, 2025