Skip to content

构建特性

Cargo features 决定二进制包含哪些能力。配置引用未编译的协议时,Zero 会在启动前明确报错。

默认构建

bash
cargo build --release

默认等价于 full + status-api

  • full:SOCKS5、HTTP、Mixed、VLESS、Hysteria2、Shadowsocks、Trojan、VMess、Mieru 和 DNS。
  • status-api:运行状态与控制端点。

Connector 和 gRPC 不在默认集合中。

按需裁剪

bash
cargo build --release --no-default-features \
  --features socks5,http,status-api

可单独选择的协议能力:

Feature包含能力
socks5SOCKS5
httpHTTP CONNECT
mixedMixed 入站
vlessVLESS
hysteria2Hysteria2
shadowsocksShadowsocks
trojanTrojan
vmessVMess
mieruMieru
dnsDNS、缓存、路由与 Fake IP

协议的具体入站、出站、TCP、UDP、MUX 和传输支持范围,以运行时能力矩阵为准,见协议能力与限制

管理与事件能力

Feature用途隐含依赖
status-apiHTTP/IPC 状态与控制
grpc-apigRPC 控制面zero-grpc
event-dispatcher通用事件分发zero-connector
sink-jsonlJSONL 本地事件 sinkevent-dispatcher
connectorWebhook 事件投递event-dispatcher

这些能力相互独立:

  • connector 不会自动启用 status-apigrpc-api
  • status-apigrpc-api 用于管理节点。
  • connectorapi.event_sinks 投递 zero.event.v1 事件,不提供配置、用户或面板工作流。

需要 API 管理和 Webhook 投递的节点可以构建:

bash
cargo build --release \
  --features full,status-api,grpc-api,connector

如果只需要 HTTP/IPC 管理,不必启用 grpc-api;如果不需要节点主动投递事件,也不必启用 connector

确认当前二进制

不同发行物可能采用不同 feature 组合。部署前运行:

bash
zero build-info

再使用实际配置执行:

bash
zero validate config.json

不要只根据源码中存在某个协议判断发行物一定包含它。

ZeroDeNet 开源项目文档