Menu Close

Xray手动搭建安装指南和V2RayN客户端使用教程

Xray 是近期比较活跃的一个 V2ray 代理项目,整体称为 Project X,号称是 V2ray-Core 的一个超集,为更好的体现 XTLS 性能而开发的项目。从项目图标采用的北欧神界阿斯加德,就可以看出项目开发人员的宏图大志,一群大神帮助实现互联网的充分自由。

核心项目 Xray-Core 目前为 1.3.0,可以理解为是性能更加强劲的 V2ray。项目虽然提供了快速安装配置脚本,但是或多或少存在些问题,并且配置文件没有内容,并不能让 Xray 正常工作。本文将演示如何在 CentOS 7 系统手动安装及配置 Xray 服务器,并在 Windows 平台下使用 GUI 客户端连接该服务器,实现科学上网。

1] 下载 Xray 并安装

首先,从 Xray 的下载页面下载与自己操作系统相对应的 Xray 发行版压缩包,并将压缩包解压至当前目录:

# wget https://github.com/XTLS/Xray-core/releases/download/v1.3.0/Xray-linux-64.zip
# unzip -d ./Xray Xray-linux-64.zip
# ls -alh ./Xray

图.1 Xray 发行版文件列表

可以看到,Xray 发行版压缩包只有五个文件,其中”geoip.dat”和”geosite.dat”是代理规则文件,”xray”是 Xray 的主程序,其余两个文件是说明文件及授权信息,无实际用途。

根据 Xray 的官方建议,Xray 程序所使用的文件及默认位置如下:

  • xray 程序文件:/usr/local/bin/xray
  • xray 配置文件:/usr/local/etc/xray/config.json
  • geoip 规则文件:/usr/local/share/xray/geoip.dat
  • geosite 规则文件:/usr/local/share/xray/geosite.dat
  • xray 连接日志文件:/var/log/xray/access.log
  • xray 错误日志文件:/var/log/xray/error.log

于是,使用如下命令将已有文件复制到对应目录,并创建其他所需要文件:

# cp ./Xray/xray /usr/local/bin/
# chmod +x /usr/local/bin/xray
# mkdir -p /usr/local/share/xray
# cp ./Xray/*.dat /usr/local/share/xray/
# mkdir -p /usr/local/etc/xray/
# touch /usr/local/etc/xray/config.json
# mkdir -p /var/log/xray
# touch /var/log/xray/access.log
# touch /var/log/xray/error.log

至此,Xray 的安装工作就全部完成。

2] 配置 Xray 服务器

之前已经创建了 Xray 的配置文件”/usr/local/etc/xray/config.json”,修改文件内容如下:

{
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
        {
            "listen": "0.0.0.0",
            "port": 8080,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "YOUR_UID_HERE",
                        "level": 0,
                        "email": "service@rultr.com"
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
                        "dest": 8001
                    },
                    {
                        "alpn": "h2",
                        "dest": 8002
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "tls",
                "tlsSettings": {
                    "serverName": "YOUR_SERVER_NAME_HERE",
                    "alpn": [
                        "h2",
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "/usr/local/etc/xray/trojan-cert.pem",
                            "keyFile": "/usr/local/etc/xray/trojan-key.pem"
                        }
                    ]
                }
            }
        }
    ],
    "inboundDetour": [
	 {
        "port": 443,
        "protocol": "trojan",
        "settings": {
            "clients": [
                {
                   "password":"YOUR_TROJAN_PASSWORD_HERE",
                    "email": "service@rultr.com"
                }
            ]
            },
		"streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
			"alpn": [
				"http/1.1"
            ],
		    "certificates": [
			{
				"certificateFile": "/usr/local/etc/xray/trojan-cert.pem",
				"keyFile": "/usr/local/etc/xray/trojan-key.pem"
            }
			]
		}
      }
    } 
   ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        }
    ]
}

配置文件将 Xray 配置成为服务器,同时支持两种协议 VLESS 和 Trojan。配置文件中”YOUR_UID_HERE”表示 VLESS 协议的 UID 值,会与客户端相对应;”YOUR_SERVER_NAME_HERE”表示 Xray 主机名, IP 地址及域名均可,推荐使用域名;”YOUR_TROJAN_PASSWORD_HERE”表示 Trojan 协议所设置的密码,同样会与客户端相对应。以上内容需要根据自己的实际情况进行修改,协议侦听的端口也可以根据自己的实际需要自行设置。

配置文件中使用了 TLS 证书,方便起见,使用自签名证书即可,生成 Trojan 自签名证书的教程在 >>这里<<

教程里使用了之前生成的 Trojan 自签名证书,将公钥和私钥均复制到”/usr/local/etc/xray/”目录,方便 Xray 管理使用。

3] 配置 Xray 服务

添加一个系统服务文件”/etc/systemd/system/xray.service”,内容如下:

[Unit]
Description=Xray Service
Documentation=https://github.com/xtls
After=network.target nss-lookup.target

[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/xray run -config /usr/local/etc/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target

服务文件添加完成后,即可使用如下命令启动 Xray 并查看状态了:

# systemctl enable --now xray
# systemctl status xray

图.2 启动 Xray 服务器

可以看到,Xray 服务器已经正常运行,Xray 服务端的配置就全部完成了。

4] Xray GUI 客户端使用示例

Xray 虽然强大,但是其 GUI 客户端依然没有完成,可以使用其他 V2ray GUI 客户端实现代理功能。示例将使用 V2rayN,其他客户端如 Qv2ray 也可以,配置方法类似。

下载 Xray 的 Windows 版本软件,解压后将所有文件复制到 V2rayN 所在的目录,打开 V2rayN.exe文件,选择服务器菜单栏,选择”添加[VLESS]服务器”,根据需要填入如下内容:

图.3 V2rayN 配置 VLESS 服务器

注意客户端中的地址、端口和 UID 都与服务器相对应,由于使用 TLS 加密,所以底层传输安全项选择 TLS,自签名证书建议将跳过证书验证设置为 true。

全部完成后,点击确定完成服务器添加。之后,就可以访问一下 GOOGLE 来验证代理是否工作正常。如果访问不成功,则可以通过查看日志信息全程查找问题原因。

至于 Trojan 客户端的配置,与 VLESS 服务器类似,这里就不再演示,相对比较简单。

总体来说,Xray 同 V2ray 具有高度兼容性,程序也更为简洁,不再需要 V2ctl 程序进行控制,由 xray 完成所有功能。并且 Xray 具有同 V2ray 一致的调用接口,最大程度满足不同客户端的要求。如果确实可以发挥其宣称的高性能,则不失为 V2ray 家族的新生代力量,值得大家期待。

发表评论

您的电子邮箱地址不会被公开。