[config] APP_ENV=dev # 应用运行环境;可选值通常为 dev、test、prod,prod 下应启用更严格的认证与日志策略。 LOG_LEVEL=debug # 日志级别;建议值为 debug、info、warning、error,当前 MVP 预留该配置用于后续日志工厂。 AUDIT_LOG=runtime/audit.log # 审计日志文件路径;建议使用 runtime/*.log,MVP 会按 JSON Lines 格式追加写入。 LAYLINK_FRAME_ENCRYPTION=none # Agent 与 POP Server 之间 Frame 加密方式;可选 none、chacha20,两端必须一致。 LAYLINK_FRAME_ENCRYPTION_KEY= # Frame 加密密钥;LAYLINK_FRAME_ENCRYPTION=chacha20 时必填。可填普通口令,或 hex:32字节十六进制,或 base64:32字节base64。 LAYLINK_DATA_CHUNK_BYTES=1048576 # TCP DATA 帧分片大小;单位字节。较大值可减少帧数量并提升吞吐,建议 262144、524288、1048576、2097152。 LAYLINK_MAX_SEND_BUFFER_BYTES=67108864 # 单连接发送缓冲区上限;单位字节。大文件下载建议 33554432 或 67108864,内存紧张时调小。 LAYLINK_BACKPRESSURE_HIGH_WATERMARK_BYTES=33554432 # 背压触发水位;单位字节。应小于 LAYLINK_MAX_SEND_BUFFER_BYTES,达到后会暂停上游读取直到缓冲排空。 LAYLINK_KCP_BACKEND=ffi # KCP 实现后端;可选 ffi、php。ffi 使用 native ikcp.c 动态库,生产建议使用;php 是调试回退实现。 LAYLINK_KCP_FFI_LIB=native/kcp/liblaylink_kcp.so # native KCP 动态库路径;LAYLINK_KCP_BACKEND=ffi 时使用。相对路径按项目根目录解析,先运行 scripts/build-kcp-ffi.sh 构建。 [client-agent] NODE_ID=client-01 # 当前 Agent 的节点 ID;必须存在于 config/nodes.php,例如 client-01。 NODE_TYPE=client # 当前 Agent 的节点类型;当前 MVP 使用 client,需与 config/nodes.php 中的 node_type 一致。 NODE_TOKEN=CHANGE_ME # 当前 Agent 连接 POP Server 时使用的节点密钥;必须与 config/nodes.php 中对应节点的 token 一致。 NODE_ZONE=default # 当前 Agent 所在逻辑区域;可按部署场景填写,例如 local、corp、restricted-a。 POP_SERVER_ADDRESS=tcp://127.0.0.1:9001 # Agent 出站连接 POP Server 的地址;格式为 tcp://host:port,例如 tcp://10.1.0.2:9001;AGENT_TRANSPORT_PROTOCOL=kcp 时会使用同一 host:port 的 UDP。 AGENT_TRANSPORT_PROTOCOL=tcp # 当前 Agent 到 POP Server 使用的传输协议;可选值 tcp、udp、kcp;必须被 POP_ALLOWED_AGENT_TRANSPORTS 允许,当前可运行值为 tcp、kcp。 CLIENT_AGENT_POP_CONNECTIONS=1 # Client Agent 到 POP Server 的并行长连接数量;默认 1。提高到 2、4 可分摊多会话,当前 tcp/kcp 生效。 CLIENT_AGENT_AUTH_TOKEN=dev-token # Client Agent 为 SOCKS5/HTTP 代理入口生成 OPEN 帧时使用的客户端认证 token;当前 MVP 默认 dev-token。 CLIENT_AGENT_USER_ID=admin # Client Agent 为 SOCKS5/HTTP 代理入口生成 OPEN 帧时使用的默认用户 ID;需能匹配 config/policies.php。 CLIENT_AGENT_SOCKS5_ENABLED=true # 是否启用 SOCKS5 本地入口;可选 true/false,适合只能配置 SOCKS5 代理的应用。 CLIENT_AGENT_SOCKS5_LISTEN_IP=127.0.0.1 # SOCKS5 本地入口监听 IP;默认 127.0.0.1 仅允许本机访问,如需局域网访问可改为 0.0.0.0。 CLIENT_AGENT_SOCKS5_LISTEN_PORT=1080 # SOCKS5 本地入口监听端口;常见值 1080。 CLIENT_AGENT_SOCKS5_UDP_LISTEN_IP=127.0.0.1 # SOCKS5 UDP ASSOCIATE 本地 UDP relay 监听 IP;默认 127.0.0.1。 CLIENT_AGENT_SOCKS5_UDP_LISTEN_PORT=1081 # SOCKS5 UDP ASSOCIATE 本地 UDP relay 监听端口;应用发起 UDP ASSOCIATE 后会收到该端口。 CLIENT_AGENT_SOCKS5_UDP_ADVERTISE_IP=127.0.0.1 # SOCKS5 UDP ASSOCIATE 返回给应用的 UDP relay IP;本机使用 127.0.0.1,局域网代理可改为 Client Agent 可达地址。 CLIENT_AGENT_SOCKS5_AUTH_MODE=no-auth # SOCKS5 认证模式;可选 no-auth 或 userpass,userpass 使用 RFC1929 用户名/密码认证。 CLIENT_AGENT_SOCKS5_USERNAME= # SOCKS5 用户名;仅当 CLIENT_AGENT_SOCKS5_AUTH_MODE=userpass 时使用。 CLIENT_AGENT_SOCKS5_PASSWORD= # SOCKS5 密码;仅当 CLIENT_AGENT_SOCKS5_AUTH_MODE=userpass 时使用。 CLIENT_AGENT_HTTP_PROXY_ENABLED=false # 是否启用 HTTP 代理本地入口;可选 true/false,支持 HTTP CONNECT 和普通 HTTP 绝对 URL 请求。 CLIENT_AGENT_HTTP_PROXY_LISTEN_IP=127.0.0.1 # HTTP 代理本地入口监听 IP;默认 127.0.0.1 仅允许本机访问。 CLIENT_AGENT_HTTP_PROXY_LISTEN_PORT=8080 # HTTP 代理本地入口监听端口;常见值 8080、7890。 CLIENT_AGENT_RAW_JSON_ENABLED=false # 是否启用 raw-json 调试入口;可选 true/false,启用后客户端需先发送一行 JSON 请求。 CLIENT_AGENT_RAW_JSON_LISTEN_IP=127.0.0.1 # raw-json 调试入口监听 IP;默认 127.0.0.1。 CLIENT_AGENT_RAW_JSON_LISTEN_PORT=9000 # raw-json 调试入口监听端口;常见值 9000。 [pop-server] POP_AGENT_LISTEN=0.0.0.0:9001 # POP Server 监听 Agent 长连接的地址;格式为 host:port,例如 0.0.0.0:9001 或 127.0.0.1:9001。 POP_ALLOWED_AGENT_TRANSPORTS=tcp,kcp # POP Server 允许 Client Agent 使用的传输协议;可写逗号数组 tcp,kcp,也可写 JSON 数组 ["tcp","kcp"];当前已实现 tcp、kcp,udp 为预留实现。