环境变量
Xray 支持通过环境变量调整资源路径、配置加载行为,以及少量底层开关。
Xray 读取环境变量时同时支持两种命名方式:
- 点号形式:如
xray.location.asset - 大写下划线形式:如
XRAY_LOCATION_ASSET
资源文件路径(geoip/geosite 等)
- 名称:
xray.location.asset或XRAY_LOCATION_ASSET - 默认值:Xray 可执行文件所在目录
用于指定资源文件目录(如 geoip.dat、geosite.dat)。
在非 Windows 系统上,当资源文件不在上述目录时,还会按顺序尝试以下位置(找到即停止):
/usr/local/share/xray//usr/share/xray//opt/share/xray/
配置文件目录(config.json)
- 名称:
xray.location.config或XRAY_LOCATION_CONFIG - 默认值:Xray 可执行文件所在目录
该环境变量指定一个目录,Xray 会在其中查找 config.json。
TIP
xray run 在未指定 -c/-config 时,会先在工作目录查找 config.json/jsonc/toml/yaml/yml,再回退到此处的 config.json,最后才会从 STDIN 读取。详见 命令参数。
多配置目录(confdir)
- 名称:
xray.location.confdir或XRAY_LOCATION_CONFDIR - 默认值:
""
当使用 xray run 且未指定 -confdir 参数时,如果该变量指向一个存在的目录,Xray 会读取该目录下所有可识别格式(json/jsonc/yaml/yml/toml)的文件,并按文件名排序依次合并(规则见 多文件配置)。
WARNING
confdir 同时包含 JSON(*.json/*.jsonc)与 YAML(*.yaml/*.yml)文件会直接报错。
证书文件目录(相对路径解析)
- 名称:
xray.location.cert或XRAY_LOCATION_CERT - 默认值:Xray 可执行文件所在目录
当 (x)tlsSettings 等位置引用证书文件(如 certificateFile / keyFile)且填写的是相对路径时,将相对于此目录查找;绝对路径不受影响。
工具目录(xctl 等)
- 名称:
xray.location.tool或XRAY_LOCATION_TOOL - 默认值:Xray 可执行文件所在目录
用于定位外部工具(如 xctl)。Xray 会优先在该目录下查找,找不到时再尝试系统 PATH。
读写优化开关(readv / splice)
readv 读取优化
- 名称:
xray.buf.readv或XRAY_BUF_READV - 默认值:启用(未设置、或值为
auto/enable)
用于控制是否对符合条件的连接启用 readv(2) 读优化。将其设置为其它任意值(如 disable)可禁用该优化。
splice 零拷贝(Freedom)
- 名称:
xray.buf.splice或XRAY_BUF_SPLICE - 默认值:启用(未设置、或值为
auto/enable)
用于控制 Freedom 出站在满足条件时是否启用 splice/零拷贝链路转发。将其设置为其它任意值(如 disable)可禁用该优化。
VMess Padding 强制开关
- 名称:
xray.vmess.padding或XRAY_VMESS_PADDING - 默认值:不设置(按 VMess 安全类型的默认行为)
只要设置了该变量(不论取值),会强制启用 VMess 的全局 padding(主要影响 security: "none" 等场景)。
UDP Cone 行为开关
- 名称:
xray.cone.disabled或XRAY_CONE_DISABLED - 默认值:不禁用(Cone 开启)
当值严格等于 true 时禁用 Cone 行为(影响部分 UDP 入站的会话映射方式,以及 XUDP 的 globalID 生成)。
默认缓存大小(Policy)
- 名称:
xray.ray.buffer.size或XRAY_RAY_BUFFER_SIZE
设置默认的 policy.bufferSize(单位 MB)。详见 本地策略。
Browser Dialer
- 名称:
xray.browser.dialer或XRAY_BROWSER_DIALER
当设置为监听地址(如 127.0.0.1:8080)时启用 Browser Dialer。详见 Browser Dialer。
XUDP 调试
输出调试日志
- 名称:
xray.xudp.show或XRAY_XUDP_SHOW - 默认值:关闭
当值为 true(大小写不敏感)时,输出 XUDP 的调试信息(如 globalID)。
固定 BaseKey
- 名称:
xray.xudp.basekey或XRAY_XUDP_BASEKEY - 默认值:每次启动随机生成
用于固定 XUDP globalID 的 BaseKey。必须为 32 字节的 Base64-URL(Raw,无 =)编码;值非法会导致 Xray 在启动时直接 panic。