全部 / 技术交流 · 2021年11月13日 0

从零开始编译xray服务器(vless+xtls)

本文最后更新于 1134 天前,其中的信息可能已经有所发展或改变。

从零开始搭建xray服务器(vless协议)

前置准备:

一台Ubuntu云服务器,需要同时支持ipv4与ipv6。推荐使用vultr的服务器。

一个域名。Xtls传输需要域名和ssl证书。

ssh终端,推荐mobaxterm。

开始:

一 ,连接服务器:

在主机处填写你配置的vps的ipv4或者ipv6地址

默认用户名“root”,密码从vps提供商那里复制

出现root@你vps设置的名称:~#说明已经成功连接服务器

二, 从源码编译xray

分别复制下列的语句粘贴至终端

apt update;
snap install --classic go
apt install -y git;
git clone https://github.com/xtls/xray-core/ /srv/xray-core;
cd /srv/xray-core;
go build -o /usr/local/bin/xray ./main
不出意外应该是这样的

输入cd,回车(退回到上一级)。

三, 在域名dns供应商处添加dns解析

以cloudflare为例

进入dns控制台,添加A型记录填上相应的地方

然后再添加AAAA型记录,名称最好与A型记录一致

dns解析
dns解析
之后可以进行dns诊断没有问题的的话就可以下一步了

四, 写入xray配置

注意两处需要替换域名,例如xray.hiripple.com

打开xshell复制粘贴以下记事本的内容,请严格对应格式,这一步很容易错。

当然也可以把文件改成serve.json然后用sftp工具移到/etc/xray文件夹下

按照自己需要修改或者添加uuid(需要按照对应的格式)

mkdir -p /etc/xray;cat <<EOF > /etc/xray/serve.json
{"log":{"loglevel":"info"},"inbounds":[{"port":"443","protocol":"vless","settings":{"clients":[{"id":"c2fda86f-2fcb-4e37-925b-f09ac30aa874","flow":"xtls-rprx-direct"}],"decryption":"none","fallbacks":[{"dest":55555,"xver":1}]},"streamSettings":{"network":"tcp","security":"xtls","xtlsSettings":{"alpn":["http/1.1"],"certificates":[{"certificateFile":"/etc/letsencrypt/live/xray.hiripple.com/fullchain.pem","keyFile":"/etc/letsencrypt/live/xray.hiripple.com/privkey.pem"}]}}},{"port":55555,"listen":"127.0.0.1","protocol":"trojan","settings":{"clients":[{"password":"!@#$%^&*()"}],"fallbacks":[{"dest":80}]},"streamSettings":{"network":"tcp","security":"none","tcpSettings":{"acceptProxyProtocol":true}}}],"outbounds":[{"protocol":"freedom"}]}
EOF
写入成功
写入成功的状态

五, 申请证书

复制粘贴(安装certbot)

cd;snap install --classic certbot

申请证书,注意替换自己的域名,和上面的方法一致

fuser -k 80/tcp;
certbot certonly --standalone --register-unsafely-without-email --agree-tos -d hiripple.com

正常情况会显示证书和私钥路径(已经在上面的配置文件中写入,不出意外应该是一样的)

如果出现:dns验证失败,说明前面的dns解析未生效;申请证书超时,是因为80端口被堵上了。

六, xray自启动

cat < /etc/systemd/system/xray.service
[Unit]
Description=The Xray proxy server
After=network-online.target
[Service]
ExecStart=/usr/local/bin/xray -c /etc/xray/serve.json
ExecStop=/bin/killall xray
Restart=always
RestartSec=15s
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload;
systemctl enable xray

启动xray

systemctl start xray

查看xray状态

systemctl status xray

重启xray(更新配置后可选)

systemctl restart xray

如果出现绿色图标,大功告成!

服务器端成功!

之后在pc上用v2ray或者q2ray(需要加载xray内核)、ios端小火箭、安卓v2ray。

填入对应参数即可。

?回首页