Xray
Xray 是一款开源、高性能的网络代理核心程序,用来加密、伪装、转发网络流量,实现突破网络限制、科学上网。
- 支持 VLESS、REALITY、WebSocket、TLS 等现代代理协议
- 比旧版 v2ray 更快、更稳、抗封锁更强
- 本身没有图形界面,常被 Clash、v2rayN 等客户端作为内核使用
- 可同时部署在 VPS 服务端和用户客户端,是目前主流科学上网方案的核心
一句话总结:
Xray 就是现在最稳、最快、最常用的代理“引擎”。
安装 Xray
⚠️ 注意:
在终端下服务器端和客户端的安装方式是完全一样的。
并且在默认情况下, Xray 应用程序配置文件也都是同一个 /usr/local/etc/xray/config.json。
bash
groupadd -g 3001 xray
useradd -c "Xray related process user" \
-g xray -u 3001 -s /sbin/nologin -m xray
cp -r /root/.zshrc /home/xray/
chown xray:xray -R /home/xray/.zshrc
# 下面看实际情况二选一
ln -s /server/ohmyzsh /home/xray/.oh-my-zsh
# cp -r /root/.oh-my-zsh/ /home/xray/
# chown xray:xray -R /home/xray/.oh-my-zsh/bash
# 请使用root安装,因为安装目录和配置文件都需要root权限才能创建
# 安装并升级 Xray-core 和地理数据,使用 User=xray ,会覆盖已有服务文件中的 User 设置
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u xray
# 仅更新地理数据[geoip.dat 和 geosite.dat]
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install-geodata
# 帮助说明
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ helpbash
# 系统服务单元文件
/etc/systemd/system/xray.service
# 服务单元片段(配置覆盖)
/etc/systemd/system/xray.service.d/10-donot_touch_single_conf.conf
# Xray 应用程序配置文件
/usr/local/etc/xray/config.jsonbash
# 配置文件权限
chown xray:xray /usr/local/etc/xray/config.json
chmod 640 /usr/local/etc/xray/config.json
# 这里以 xray 作为用户,所有相关文件只要赋予 xray 用户的 `读+写` 权限即可
mkdir /home/xray/logs
chown xray:xray -R /home/xray/logs/
chmod 750 /home/xray/logs/
# 修改地理数据[规则集文件]权限
chown xray:xray /usr/local/share/xray/*.dat
chmod 640 /usr/local/share/xray/*.dat
# 部分流派需要域名证书
mkdir /home/xray/tls
chown xray:xray -R /home/xray/tls/
chmod 750 /home/xray/tls/
chmod 640 /home/xray/tls/*Xray 组合
常见的组合形式有如下几种:
1. REALITY 流派(推荐)
简单说就是:基于 TCP 传输的 VLESS 协议,启用 REALITY 安全层(底层由 XTLS 驱动),并搭配 xtls-rprx-vision 流控
- 组合:VLESS + TCP + REALITY
- 核心特点:无需域名,无需证书。直接伪装成访问微软、苹果等大厂官网的流量。
- 优势:抗封锁能力极强,配置简单,性能损耗低。
- 适用:绝大多数追求稳定和省心的新用户。
2. WebSocket 流派(经典)
- 组合:VMess/VLESS + WebSocket (WS) + TLS
- 核心特点:依赖域名和证书。配合 Nginx 反向代理,伪装成普通 HTTPS 网站流量。
- 优势:技术成熟,兼容性好,可以配合 CDN 隐藏服务器 IP。
- 适用:已有域名,或服务器 IP 已被屏蔽(需套 CDN)的用户。
3. TCP + XTLS 流派(性能)
- 组合:VLESS + TCP + TLS (XTLS)
- 核心特点:追求极致速度。使用标准的 TLS 加密,直连服务器。
- 优势:延迟最低,速度最快,资源占用少。
- 适用:拥有干净独立 IP 和域名,且对网络延迟极度敏感的用户。
⚠️ 注意:
下面是针对 REALITY 流派 的方案,其他流派暂时不涉及!
REALITY 流派
json
{
"log": {
"loglevel": "warning",
"access": "/home/xray/logs/xray-access.log",
"error": "/home/xray/logs/xray-error.log"
},
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "【替换:你的 UUID 1】",
"flow": "xtls-rprx-vision"
},
{
"id": "【替换:你的 UUID 2】",
"flow": "xtls-rprx-vision"
},
{
"id": "【替换:你的 UUID 3】",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": ["www.microsoft.com", "microsoft.com", "any1.microsoft.com", "any2.microsoft.com"],
"privateKey": "【替换:X25519 私钥】",
"minClientVer": "",
"maxClientVer": "",
"maxTimeDiff": 0,
"shortIds": ["【替换:shortId 1】", "【替换:shortId 2】", "【替换:shortId 3】", "【替换:shortId 4】"],
"mldsa65Seed": "【替换:ML-DSA-65 种子】"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "blocked"
}
]
}json
{
"log": {
"loglevel": "warning",
"access": "/home/xray/logs/xray-access.log",
"error": "/home/xray/logs/xray-error.log"
},
"inbounds": [
{
"port": 1080,
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
},
{
"port": 8888,
"listen": "127.0.0.1",
"protocol": "http"
}
],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "【替换:你的服务器IP】",
"port": 443,
"users": [
{
"id": "【替换:你的 UUID】",
"flow": "xtls-rprx-vision",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.microsoft.com",
"publicKey": "【替换:服务端公钥】",
"shortId": "【替换:你的shortId】",
"fingerprint": "chrome",
"spiderX": ""
},
"sockopt": {
"tcpFastOpen": true
}
},
"tag": "proxy"
},
{
"protocol": "freedom",
"tag": "direct"
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private", "geoip:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn", "www.microsoft.com", "*.microsoft.com"],
"outboundTag": "direct"
}
]
},
"dns": {
"servers": ["223.5.5.5", "119.29.29.29", "https://1.1.1.1/dns-query", "https://8.8.8.8/dns-query"]
}
}⚠️ 注意:
Linux终端的客户端配置成功后,借助 proxychains 工具可以更便捷使用代理上网
bash
# /etc/proxychains4.conf 结尾增加
...
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050
socks5 127.0.0.1 10801. 功能支持情况
bash
root ➜ ~ xray --version
Xray 26.2.6 (Xray, Penetrates Everything.) 12ee51e (go1.25.7 linux/amd64)
A unified platform for anti-censorship.md
`Xray 26.2.6` 支持的 REALITY 完整特性:
✅ VLESS + REALITY + XTLS-RPRX-Vision(当前最强标准组合)
✅ X25519 密钥认证(REALITY 核心身份验证)
✅ ShortId 通道标记/防特征探测
✅ 自动复用真实网站证书指纹,无自签证书
✅ 完整 TLS 回落(Fallback),非代理流量正常转发
✅ ML-DSA-65 后量子签名(新版安全增强)
✅ TCP 传输 + 客户端浏览器指纹伪装
✅ 多 UUID 账号体系(真正的多用户隔离)该版本使用 REALITY 流派 完整字段对应表
概念/字段 | 作用 | Xray 26.2.6 是否支持 | 必须/可选 |
|---|---|---|---|
| VLESS | 核心代理协议(轻量、无加密) | ✅ 完全支持 | 必须 |
| REALITY | 最强 TLS 伪装(复用真实网站证书) | ✅ 原生支持 | 必须 |
| XTLS-RPRX-Vision | 零拷贝加速,提升传输性能 | ✅ 原生支持 | 必须 |
| dest | 回落目标网站(伪装用) | ✅ 支持 | 必须 |
| serverNames | TLS SNI 域名列表(需与 dest 匹配) | ✅ 支持 | 必须 |
| privateKey | REALITY X25519 私钥 | ✅ 支持 | 必须 |
| publicKey | REALITY X25519 公钥(客户端用) | ✅ 支持 | 客户端必须 |
| clients | 用户账号列表(配置多个 UUID 实现多用户) | ✅ 支持 | 必须 |
| shortIds | 通道标记/防探测/分流(不负责鉴权) | ✅ 支持 | 可选(推荐配置) |
| mldsa65Seed | 后量子抗量子签名私钥 | ✅ 新版支持 | 可选 |
| mldsa65Verify | 后量子抗量子签名公钥(客户端用) | ✅ 新版支持 | 可选 |
| show | 调试日志输出开关 | ✅ 支持 | 必须填 false |
| xver | 透明代理版本标识 | ✅ 支持 | 必须填 0 |
2. 生成密钥
bash
# 生成用户 UUID(可以经常换)
root ➜ xray uuid
# 生成 shortId(可以经常换)
root ➜ openssl rand -hex 8
c030ff2e4085fde1
# 生成 X25519 密钥对(通常不用换)
root ➜ xray x25519
# PrivateKey 私钥 服务器端用
# Password 公钥 客户端用
# Hash32 哈希值 无实际用途
# 生成 ML-DSA-65 抗量子密钥(通常不用换)
root ➜ xray mldsa65
# Seed 后量子抗量子签名私钥 服务器端用
# Verify 后量子抗量子签名公钥 客户端用3. 需要更换的参数说明
shortId:可以随便换(防特征)UUID:泄露才换dest/serverNames/SNI感觉被针对就换dest/serverNames/SNI 详细说明:
dest(服务端参数)
- 只能填写 1 个域名,格式:
"example.com:443" - 必须能正常连通、稳定可访问
- 非代理流量会真实转发到该目标
- REALITY 伪装证书从此目标获取
- 只能填写 1 个域名,格式:
serverNames(服务端参数)
- 可以填写多个域名,格式
["example.com", "123.example.com", ...] - 所有域名必须与 dest 属于同一主域
- 子域名是否真实存在、能否访问不影响使用
- 可以填写多个域名,格式
SNI(客户端参数)
- 只能填写 1 个域名
- 必须是 serverNames 列表中已存在的任意一个
