Skip to content

选择和配置协议

本节只回答如何在配置中使用协议。源码结构、Rust 类型和内部调度方式保留在 Core 仓库,不作为部署前置知识。

本地代理入口

需求建议
一个端口同时给浏览器和系统工具使用Mixed
标准 SOCKS5 客户端,包含 UDP ASSOCIATESOCKS5
只需要 HTTP CONNECTHTTP

第一次启动建议使用 Mixed,并只监听 127.0.0.1。示例见启动第一个节点

远程代理节点

协议常见用途配置重点
VLESSTLS、REALITY、WebSocket、gRPC、H2/XHTTP 和 MUX/XUDPUUID、传输组合、SNI/REALITY
VMess兼容现有 VMess 服务端和 MUX 场景UUID、cipher、TLS 与传输
TrojanTLS 外观的 TCP/UDP 代理password、证书/SNI
Shadowsocks轻量 AEAD/AEAD 2022 TCP/UDPcipher、password/key material
Hysteria2QUIC 上的 TCP/UDPpassword、证书、UDP 网络质量
MieruMieru 客户端/服务端互通username、password、端口
SOCKS5连接已有上游 SOCKS 服务server、port、可选认证

配置片段见协议配置示例。每个二进制可以通过 Cargo feature 裁剪协议,部署前运行:

bash
zero build-info

入站和出站不是一回事

  • inbound 表示客户端如何连接当前 Zero;
  • outbound 表示 Zero 如何连接目标或上游节点;
  • 同一协议的入站和出站字段可能不同;
  • 证书私钥通常只出现在服务端入站,客户端出站通常配置 SNI、CA 或 REALITY 公钥;
  • directblock 是内置出站语义,不是外部代理协议。

多凭证入站

VLESS、VMess、Trojan、Shadowsocks 和 Hysteria2 等入站可以声明多个协议凭证。外部系统提交完整 Zero 配置来增加、停用或替换凭证,Zero 在协议认证成功后把该凭证对应的运行身份用于流量、配额和会话控制。

配置教程优先使用协议本身的凭证字段,例如 VLESS/VMess 的 id、Trojan/Hysteria2 的 password。不要为了接入 Connector 再创建另一套用户协议;Connector 只投递事件。

确认支持范围

目录存在不代表当前二进制已经编译该协议,也不代表所有 TCP、UDP、MUX 和传输组合都具有相同成熟度。上线前同时检查:

ZeroDeNet 开源项目文档