生成参数

点击生成后会得到一组新的 UUID、Reality X25519 公私钥、shortId 和 WireGuard secretKey。下面的示例配置和客户端链接会同步更新。

正在生成...

生成结果
{}

配置详解

这里主要用两种入口:TLS 适合走 Cloudflare,Reality 适合直连。随机生成的值会自动写进后面的示例配置。

字段TLSReality
端口20962097
协议vlessvless
传输xhttpxhttp
路径//
安全层tlsreality
服务端密钥cert.pem + key.pemprivateKey
客户端密钥域名证书校验publicKey

TLS 证书不能靠本页随机生成,需要使用你域名对应的真实证书。Reality 的 privateKey 只放服务端,publicKey 放客户端链接。

loglevel 默认设为 none。排障时可以临时改成 warningdebug,确认正常后再改回去。

示例配置

从下面两个模板里选一个写入 /opt/xray/config.json。如果重新生成参数,代码块里的 UUID、Reality key 和 shortId 会自动变化。

VLESS + XHTTP + TLS

适合有域名和 Cloudflare Origin Certificate 的场景。默认端口是 2096

json
{}

VLESS + XHTTP + Reality

适合直连部署。服务端填 private key,客户端填 public key。

json
{}

客户端参数

客户端参数要和服务端保持一致。下面的 UUID、Reality publicKey 和 shortId 会跟着生成器更新。

VLESS + XHTTP + TLS

text
正在生成...

VLESS + XHTTP + Reality

text
正在生成...

可选片段

这些片段按需合并到 inboundsoutbounds 数组里。合并时注意 JSON 逗号位置。

inbounds:SMTP tunnel

把本地 127.0.0.1:10807 转发到飞书邮箱 SMTP。

json
{
  "tag": "smtp",
  "port": 10807,
  "listen": "127.0.0.1",
  "protocol": "tunnel",
  "settings": {
    "allowedNetwork": "tcp",
    "rewriteAddress": "smtp.larksuite.com",
    "rewritePort": 465
  }
}

inbounds:mixed 代理

提供 HTTP / SOCKS mixed 入站,适合本机程序走代理。

json
{
  "port": 10808,
  "listen": "127.0.0.1",
  "protocol": "mixed",
  "sniffing": {
    "enabled": true,
    "destOverride": ["http", "tls"],
    "routeOnly": false
  },
  "settings": {
    "auth": "noauth",
    "udp": true,
    "allowTransparent": false
  }
}

outbounds:WARP WireGuard

secretKey 会跟着生成器更新;WARP 地址和 peer publicKey 需要来自你的 WARP 注册结果,不能随便随机填。

json
{}

部署教程

把上面的示例配置复制到服务器后,再选 Docker 或二进制方式启动。下面命令默认服务端目录是 /opt/xray

1. 准备目录和配置文件

bash
mkdir -p /opt/xray && chmod 700 /opt/xray
vi /opt/xray/config.json

如果使用 TLS 模板,把证书和私钥放到下面两个文件。文件名要和配置里的 certificateFilekeyFile 一致。

bash
vi /opt/xray/cert.pem
vi /opt/xray/key.pem
chmod 600 /opt/xray/key.pem

注意 不要把同一套 UUID、Reality privateKey、WARP secretKey 长期公开复用。分享页面可以生成参数,实际生产最好自己保管。

2. Docker 部署

bash
docker run -d --name=xray --restart always --network host \
  -v /opt/xray:/etc/xray \
  -v /opt/xray:/usr/share/xray \
  teddysun/xray:latest && docker logs --tail=50 xray

更新配置后重启:

bash
docker restart xray && docker logs --tail=50 xray

3. 二进制部署

不用 Docker 就下载 Xray 二进制,然后交给 systemd 管理。下面命令适用于 Debian / Ubuntu。

bash
apt update && apt install -y wget unzip \
  && mkdir -p /opt/xray/temp && cd /opt/xray/temp \
  && wget -O Xray-linux-64.zip https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip \
  && unzip -o Xray-linux-64.zip \
  && install -m 755 xray /opt/xray/xray \
  && install -m 644 geoip.dat geosite.dat /opt/xray/ \
  && rm -rf /opt/xray/temp

写入 systemd 服务:

bash
cat >/etc/systemd/system/xray.service <<'EOF'
[Unit]
Description=Xray
After=network.target
After=nss-lookup.target

[Service]
WorkingDirectory=/opt/xray/
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target
EOF

启动并设置开机自启:

bash
systemctl daemon-reload && systemctl enable --now xray && systemctl status xray --no-pager

更新配置后重启:

bash
systemctl restart xray && systemctl status xray --no-pager

4. 放行端口并验证

TLS 模板默认使用 2096/tcp,Reality 模板默认使用 2097/tcp。云厂商安全组和系统防火墙都要放行对应端口。

bash
ss -lntp | grep -E ':2096|:2097'

如果服务器使用 UFW,可以按实际方案放行:

bash
ufw allow 2096/tcp
ufw allow 2097/tcp

安全检查

  1. 公开分享前确认页面里没有真实证书私钥、Reality privateKey、WARP secretKey。
  2. 如果密钥曾经公开过,直接重新生成并轮换。
  3. SSH、面板、Docker API 不要暴露到公网。
  4. 只放行实际使用的 Xray 入口端口。