Xray使用教程:服务器搭建、配置及app下载方法

Xray是近年来比较流行的一款开源的网络代理软件,可以帮助在一些互联网信息受到限制的国家的网络用户突破限制,从而使他们能够访问那些被限制或屏蔽的网站和网络应用,比如谷歌,YouTube,推特,脸书,Instagram等。

Xray是V2ray的一个分支,最初的开发者是Github用户rprx,现在由Project X开发和维护,它在V2ray的基础上进行了一些改进,有着更好的性能和稳定性。

图为Xray开发者rprx的Github页面,他的头像显示的是雷神系列里的虚构国度Asgard的城市景象,他的所在位置一项写的也是Asgard

Xray的使用主要在懂IT知识的人群中比较普遍,因为不像使用VPN一样可以直接下载客户端登录和连接使用,要使用Xray就需要先搭建一个Xray服务器或称Xray节点,这需要对Linux系统有基本的了解,会通过命令行界面使用一系列命令完成Xray服务器的部署。但如果你能认真按照这篇文章讲解的步骤操作,也可以完成搭建Xray服务器。如果你认为有点难度,那还是建议考虑改用VPN,一些比较知名且好用的VPN有SurfsharkNordVPNExpressVPN等,购买需要使用Visa卡或PayPal。

Xray支持多种代理协议,而最常用的是VLESS+XTLS,两者都是它自家发明的协议,分别基于V2ray的VMESS协议,和TLS协议,在它们基础上进行了优化和扩展。

本篇教程将讲解以VLESS+XTLS协议配置搭建Xray服务器的方法。

在搭建Xray服务器前你需要先获取一个域名和一个远程服务器

先来讲一下域名。域名最重要的目的是为了证书认证,TLS和XTLS协议都需要使用SSL/TLS 证书来进行通信加密,而SSL/TLS 证书是针对域名而不是 IP 地址发行的,证书颁发机构(CA)通常会对证书的域名进行验证,使用IP地址作为域名就会证书认证失败。域名可以在域名注册商的网站上获取,大部分是付费的,也有免费的。付费的域名注册商有Namecheap、NameSilo、GoDaddy等,一些便宜的域名仅需不到2美元/年。免费的域名注册商是Freenom,不过在中国注册会比较困难,需要有国外的网络环境和提供国外的一些信息,如国外的住址等。如果你觉得注册域名有点麻烦,建议还是改用V2ray,V2ray不需要域名就能搭建,而且性能实际上和Xray差不多,你如果想要搭建V2ray服务器,请参考这篇文章

接下来讲远程服务器,远程服务器是位于那些互联网自由开放的国家的服务器,我们可以在服务器上安装和运行Xray的程序,形成Xray节点,供客户端连接使用。基本原理是,在用户上网并使用了Xray的客户端时,Xray会建立加密隧道将用户的网络流量转发到远程代理服务器上,然后再由服务器将请求发送到目标网站或其他网络服务。由于服务器所在的国家没有互联网限制,它可以正常获取那些在用户所在地被屏蔽的网络内容,之后将这些信息传回到用户的设备上,从而用户自己的手机或电脑就能够突破限制正常访问那些网站。

远程服务器通常是租用,价格一般是每月5美元(约人民币35元),相比VPN十几美元每月的价格还是比较便宜的。租用服务器很简单,你可以选一个海外的VPS提供商到它的网站上租到服务器,目前比较流行和知名的VPS提供商是美国的VultrDigitalOcean和加拿大的搬瓦工,这里建议选择Vultr搬瓦工,因为DigitalOcean只支持国外的支付方法,如VISA信用卡和PayPal,而Vultr和搬瓦工都支持支付宝支付。价格方面DigitalOcean的最低价格的服务器是6美元/月,而Vultr同样配置的服务器是5美元/月。搬瓦工价格更低,差不多是4美元/月,但只能按年付。

下面先简单介绍一下Vultr服务器的创建方法。(如果需要查看详细的操作步骤,请参阅这篇文章。另外如果你选择使用搬瓦工,请参阅这篇文章查看租用搬瓦工服务器的操作流程,如果选择使用DigitalOcean,请参阅这篇文章

首先前往Vultr的官方网站,在那里用你的电子邮箱地址注册一个新用户账户。
注册完成后要为你的Vultr账户充值,可以选择支付宝、银行卡、PayPal等方式支付。
然后在界面的边栏切换到“Products”(产品)页面,开始创建服务器,这个页面分几个部分,每部分有不同选择和设置,建议按照如下所示选择和设置:
Choose server:选择第二项,Cloud Compute
CPU & Storage technology:选择第四项,Regular Performance
Server location:选择自己想要的服务器位置,建议选像日本、新加坡这些离大陆相对比较近的地方
Server image:选Ubuntu或Debian。如果选Ubuntu,会让选一个版本,任一版本均可。以下的V2Ray搭建教程里用的是Ubuntu,但如果选其他系统差别也不大。
Server size:建议选择$5/month(5美元每月),注意2.5美元每月的服务器只有ipv6不适合搭建Xray,3.5美元每月的服务器只有美国纽约的,离得较远速度会比较慢。
Add auto backups:意思是添加自动备份,可点击取消,如果不取消会另外收费,没有备份不会影响Xray的使用。
Additional features:不需改动
SSH Keys:不需添加SSH Keys。SSH keys可代替密码在登录服务器时使用,如果你是新手可以直接使用密码登录。
Server hostname & label:不需改动
选择完成后就可以点击页面右下角的Deploy Now按钮创建服务器了。服务器需要约十几秒到几分钟时间完成创建。完成后你可以找到它的IP地址和密码复制下来,之后会在下面连接服务器的时候使用到。

连接服务器

在获取和启用服务器后,先用SSH连接到你创建的服务器,SSH的使用方法根据你电脑的操作系统有所不同,下面将分别来讲mac系统和Windows系统的SSH连接方法。
如果你用的是苹果Mac系统,可以直接打开系统内置的Terminal指令界面建立SSH会话,不需要安装额外程序。
打开Terminal后,使用以下指令连接到服务器。注意把“your_server_ip”替换成你创建的服务器的IP。

ssh root@your_server_ip

如果你用的是Windows系统,你需要安装额外的程序,因为一些版本的Windows没有内置的用于建立SSH会话的程序,你需要安装一款名为PuTTY的软件,可以从它的网站上下载这个软件。PuTTY的用法非常简单,打开软件后找到相应位置输入服务器IP地址和端口号(Port,默认是22,Vultr和DigitalOcean用户保持默认不必更改,搬瓦工用户需要改成控制面板里显示的端口号)再点下面的连接按钮(Start按钮)就可使用。注意第一次连接一个新的服务器时会跳出来一个对话框,需要点击Accept才能连接。另外要注意的是,如果连接后出现的命令行窗口没有显示任何文字,就是没连接成功,很可能是服务器IP被屏蔽造成的,这时就需要更改服务器IP来解决(Vultr、DigitalOcean用户重新创建一个服务器,搬瓦工用户去控制面板更改IP)。

无论用的是上面哪种方法连接服务器,连接后需要以root身份登录服务器,命令行界面会显示login as,在后面输入root回车即可。然后指令界面会询问你的密码或SSH密钥passphrase,输入并回车后就可以登录了。注意输入密码时命令行界面里不会显示你输入的字符,不用担心,输入完成后按回车即可。
成功登录后,光标会出现在下面一行的末尾 (注意“@”后面是你服务器的主机名称,一般VPS的系统会自动生成一个名称,你也可以到VPS的控制面板中设置一个新的名称,但这个名称对以下的操作并不重要)。

“root@the-hostname-of-your-server:~#”

然后就可以开始在界面中输入一系列命令进行下面的操作了。
首先更新服务器系统上的软件源列表。输入以下命令然后按回车执行:

apt update

更新完成后,开始做部署Xray的准备工作。Xray的部署相比V2ray要复杂很多,除了安装Xray外还需要先建立一个伪装站点,再获取SSL证书,然后才能开始配置Xray。先讲Xray服务器的伪装。

伪装Xray服务器

我们将安装一个Web服务器软件然后获取 SSL 证书,用于伪装我们将要搭建的 Xray 服务器。
常用的Web服务器软件有Nginx、Apache、Caddy等,这篇教程将使用Nginx,它是目前使用的最多的Web服务器软件。

使用以下命令安装 Nginx:

apt install nginx -y

nginx安装完成后,去修改Nginx的默认虚拟主机配置文件,文件位置是在“/etc/nginx/sites-available/default”,我们可以使用vi编辑器打开和编辑它,使用以下命令(不必一个一个词输入,可以直接把下面的内容复制然后粘贴到命令行界面中去。粘贴的方法是点击鼠标右键,然后复制的内容就会立刻粘贴上去):

vi /etc/nginx/sites-available/default

然后界面会转入到配置文件的内容中去。要编辑或修改内容,先按i键进入编辑模式,然后使用方向键在vi编辑器里移动光标到需要修改的地方。

我们需要在文件里找到包含“server_name _;”的一行,改成以下内容,使其指向你的域名:

server_name your_domain;

注意把your_domain换成你的域名。假设你的域名是mydomain.net,那么那行文字就改成“server_name mydomain.net;”。
修改好后按Esc退出编辑模式,然后输入“:wq”就可以保存并退出文件回到原来的界面。
配置修改好后需要用以下命令重新启动 Nginx:

systemctl restart nginx

然后我们去获取SSL/TLS证书,我们可以使用Certbot来获取Let’s Encrypt签发的证书。
要使用Certbot需要先安装,我们将使用Snap安装Certbot,步骤如下。
首先使用以下命令安装“core” Snap包:

snap install core

然后使用Snap安装Certbot:

snap install --classic certbot

Certbot安装完成后,运行以下命令创建一个符号链接,确保系统能够正确地找到和使用Certbot。

ln -s /snap/bin/certbot /usr/bin/certbot

然后就可以使用Certbot获取Let’s Encrypt签发的SSL证书了,使用以下命令:

certbot certonly --nginx

命令执行后界面会出现提示,让你输入你的Email地址:

Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel):

这是Let’s Encrypt为了在证书更新出现问题时或其他问题发生时通知你,确保证书的有效性和安全性。

所以你需要输入你的Email地址然后按回车。当然你也可以选择不提供Email地址,那样你需要在使用上面那个命令时添加一个选项“–register-unsafely-without-email”,也就是将上面那个命令替换成以下命令:
certbot certonly –nginx –register-unsafely-without-email

提供邮箱后的下一步是同意服务条款。当界面出现以下提示要你阅读服务条款并问你是否同意条款时,按Y键然后回车。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o:

然后界面会出现以下提示,询问是否愿意将Email地址分享给Let’s Encrypt项目的合作伙伴Electronic Frontier Foundation (EFF):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o:

如果你同意,可以按Y键并回车,EFF将会向你发送一些有关他们加密网络工作的电子邮件。
你也可以选择不同意,按N键然后回车。

然后界面会出现以下提示,问你想要为哪些域名激活 HTTPS:

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: your_domain
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

如果你的域名是mydomain.net,那么界面里虚线内显示的就会是“1: mydomain.net”,你只要按数字1键并回车,系统就会为你的域名获取证书了,也就是激活HTTPS。

然后等待系统为你的域名获取证书,完成后界面会显示如下信息:

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your certificate will expire on 2023-09-12. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run "certbot renew"

Let’s Encrypt的证书的有效期是90天,你可以在需要的时候使用以下方法更新证书,或用稍后介绍的方法自动更新。
先试运行以下命令测试更新是否能正常进行:

certbot renew --dry-run

如果显示如下信息表示能够正常更新。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
/etc/letsencrypt/live/your_domain/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

然后你可以使用以下命令更新证书:

certbot renew

如果你想要让证书自动更新,可以将上面这个命令添加到cron任务中,以定期检查证书在需要更新的时候进行更新。按照以下步骤操作:

先打开cron任务编辑器,使用以下命令打开:

crontab -e

系统会让你选一个编辑器,如nano、vi等,并配有相应的数字,建议选择2,vi编辑器。

然后按i键进入编辑模式,将以下内容添加进去:

0 12 * * * /usr/bin/certbot renew --quiet

意思是在每天中午12点的时候按时运行Certbot更新命令从而可以在需要更新的时候更新证书。

然后按Esc键退出编辑模式,按“:wq”保存并退出编辑器。设置了这个定期任务后证书就会自动更新了。

安装Xray

现在装备工作都完成了,接下来我们将正式开始安装Xray。
先用以下命令安装cURL,用于下载Xray的官方安装脚本:

apt install curl

然后使用以下命令可以下载并运行Xray的安装脚本:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u root

等待十几秒到一分钟时间后系统就完成Xray的安装了。接下去要配置Xray。

配置Xray

在配置Xray前,需要先准备一个UUID号(通用唯一 ID),相当于你的Xray服务器的密码。UUID号可以在命令行界面里使用下面的命令生成。

cat /proc/sys/kernel/random/uuid

生成id号后要把它记下来,在下一步编辑配置文件和之后使用客户端时都要用到。可以选中id号后按Ctrl+Shift+C复制,然后粘贴到记事本或其他地方。
接下来我们用Vi编辑器编辑Xray的配置文件,使用如下命令:

vi /usr/local/etc/xray/config.json

配置文件里一开始只有两个大括号。按i键进入编辑模式,先用“delete”键把两个大括号删掉,再复制以下文本到文件里。

{
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
        {
            "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "b831381d-6324-4d53-ad4f-8cda68b30851",  // UUID号
                        "flow": "xtls-rprx-vision",
                        "level": 0,
                        "email": "youremailaddress@example.com"
                    }
                ],
                "decryption": "none",
                "fallbacks": [
                    {
                        "dest": 80
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp",
                "security": "xtls",
                "xtlsSettings": {
                    "alpn": [
                        "http/1.1"
                    ],
                    "certificates": [
                        {
                            "certificateFile": "/etc/letsencrypt/live/your_domain/fullchain.pem",
                            "keyFile": "/etc/letsencrypt/live/your_domain/privkey.pem"  // 证书及密钥保存的位置
                        }
                    ]
                }
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom"
        }
    ]
}

然后你要把文件中的“id”项的UUID号替换成你自己在上一步获取的UUID号。你也可以选择把“email”项的邮箱地址改成你自己的,但这并不影响Xray的使用。然后还要修改“certificates”项,将证书及密钥保存的位置路径中的your_domain替换成你的域名名称。

编辑完成后退出编辑模式,然后保存并退出编辑器。

启动Xray

然后就可以使用以下命令启动Xray了。

systemctl start xray

启动后可以用以下命令来确认Xray是否在正常运行。

systemctl status xray

界面会切换并显示Xray的状态信息,如果看到界面显示绿色的“active (running)”的文字,则说明Xray在正常运行。
然后按Q键将界面切换回原先的界面,从而可以输入之后的命令。

如果你因为某些原因又修改了Xray的配置文件,修改完成后一定要用下面的命令重新启动Xray才能使修改生效。

systemctl restart xray

现在你可以关闭命令行界面,去下载一个Xray的客户端应用,开始使用Xray了。

下载Xray客户端

下面简单介绍一下Xray的客户端应用。
由于Xray是V2Ray的分支,所以大部分V2ray的客户端都可以作为Xray的客户端使用。
下面先介绍用于手机或平板电脑的Xray客户端。
安卓用户可以安装的Xray客户端是V2RayNG,可以在Github上下载(点击此处前往下载页面),当然如果手机安装有Google Play服务也可以在Google Play商店上下载。
苹果用户可以安装的客户端应用有ShadowrocketMangoShadowRayKitsunebiPepi,都是原本专为影梭设计的应用,但现在也支持Xray和V2Ray。Shadowrocket是付费应用,但性能更好。注意你需要用海外iTunes账号才可以在App Store上搜索到这些应用,因为中国版的App Store上所有VPN和类似应用都已经下架。

以下是电脑上使用的Xray客户端,都是在Github上下载:

V2RayN:用于Windows系统 (进入下载页面后,选择“v2rayN-Core.zip”下载,解压后打开里面的“v2rayN.exe”即可运行客户端)

V2RayX:Windows系统和mac系统都可使用

QV2ray:Windows系统和mac系统都可使用

关于Xray客户端应用的用法,由于它们种类多样,这里无法一一详细讲解这些客户端应用的用法,大家可以搜索它们的名称了解各种客户端应用的具体用法。

Share this: