前言
Xray 是一个高性能、功能强大的网络代理工具,主要用于科学上网、翻墙、隐私保护等目的。它是 V2Ray 项目(一个广泛使用的网络代理工具)的一个分支,具备更好的性能和一些新特性;Xray是V2Ray的超集,就是包含V2Ray所有的功能;它对比 V2Ray 有更多的协议支持和性能优化,并且具备极高的灵活性和可配置性。如果你对性能要求较高,Xray 通常是一个更好的选择。
本文将详细介绍在Linux系统(以Ubuntu为例)中如何使用Xray进行科学上网,主要介绍两种主要方式,并提供一套完整的配置方法,帮助用户快速搭建自己的Xray代理服务。
- Xray官网:https://xtls.github.io
- Xray Github项目主页:https://github.com/XTLS
- Xray/Projcet X 官方文档:https://xtls.github.io
Xray科学上网推荐(机场)
科学上网,首先需要一个可用的服务器节点。节点可以来自您自行搭建的云服务器/VPS,也可以通过购买专业机场的服务获得。
对于技术小白或想节省时间的用户,选择优质的机场是最佳方案:
推荐机场:
【大哥云】元旦特惠:低至5元/月(年付)! 4年稳定老牌机场,享受全球极速节点,稳定如老狗! |
---|
Linux中Xray安装教程
官方脚本安装: 利用Xray官方提供的自动化脚本来简化安装过程。此方法适用于大部分用户,特别是那些可以直接访问Xray资源的环境。
离线安装包: 对于无法直接访问Xray官方网站的用户,提供一种通过离线安装包手动安装Xray的方法。
官方脚本安装Xray
确保你的系统已连接到互联网,并且能够访问Xray的官方网站,你需要先科学上网才能访问相关资源。打开终端,执行以下命令下载安装脚本:
# 下载 Xray 官方自动化安装脚本 wget -N https://raw.githubusercontent.com/XTLS/Xray-install/master/install-release.sh # 赋予脚本执行权限 chmod +x install-release.sh # 运行脚本进行安装 sudo ./install-release.sh
安装成功效果图如下:
离线安装包安装Xray
如果你所在的网络环境无法访问Xray的官方网站,可以使用离线安装包进行安装。你可以在可以翻墙的环境下下载所需的安装包,然后将其传输到目标服务器或计算机进行安装。
下载Xray离线安装包
访问Xray的GitHub仓库,下载最新的发布版本,选择适合你的平台(如Linux)的安装包。你可以在Xray的GitHub Releases页面找到对应的文件:
https://github.com/XTLS/Xray-core/releases
例如,下载适用于64位Linux系统的安装包:
GitHub下载Xray 64位版本
本站下载Xray 64位版本
下载完安装包后,在目标机器上解压文件:
unzip Xray-linux-64.zip
Xray的离线安装包解压后不需要再运行安装脚本,直接解压运行Xray即可使用。
然后在xray程序目录新建一个名为config.json
的文件并输入{}
后保存文件,作为默认配置文件;运行./xray
启动程序,成功效果图如下:
配置Xray客户端
Xray安装完成后,你需要配置Xray客户端才能科学上网。Xray的配置文件位于安装目录中的 config.json
文件,如果你是通过官方脚本安装,配置文件通常位于usr/local/etc/xray/config.json
;如果是离线安装直接去解压目录中寻找config.json
即可。
机场通常会提供一个类似于vmess://
、vless://
、trojan://
等的URL链接,不能够直接配置到文件中;可以手动解析成JSON格式或者使用 V2RayN、Qv2ray 等客户端工具来导出节点配置。
使用 V2RayN或Qv2ray 等客户端工具导入配置
本文将使用Windows系统下的V2rayN工具导出配置文件,先将地址导入并配置到V2rayN工具中(点击可查看V2rayN使用教程),然后随便选中一个好用的节点,右键选择【导出所选服务器为客户端配置】(如果想看其他工具可前往网站主页)
然后将文件保存命名为config.json,将其传输到目标服务器或计算机Xray的安装目录并替换原有的config.json,然后运行Xray,如果无明显报错可往下进行。
Xray本身只是一个代理服务,需要正确配置系统或应用程序才能使用。先查看config.json文件中的代理端口(可以手动更改代理端口):
然后在终端中设置HTTP和SOCKS代理,使应用程序可以通过Xray访问互联网。
export http_proxy="socks5://127.0.0.1:10808" export https_proxy="socks5://127.0.0.1:10808"
然后确认你是否正确设置了代理环境变量。如果 Xray 的入站代理是 SOCKS5,使用以下方式测试:
curl --proxy socks5://127.0.0.1:10808 https://www.google.com
上图就是代理成功的效果,接下来就可以科学上网了。下面介绍第二种导入配置的方式:
手动解析成JSON格式导入配置
通常,机场提供的URL链接看起来类似于:
vmess://ew0KICJ2IjogIjIiLCAibm9kZSI6ICJleGFtcGxlLmNvbSIsICJpZCI6ICJkYzI0NTIzYjZk。。。。。。。。。。。。。。
这个URL里包含了Xray节点的配置信息。
Xray的链接是经过Base64编码的。你可以通过命令行工具或者在线解码工具来解码。使用命令行解码的方法如下:
echo "vmess://ew0KICJ2IjogIjIiLCAibm9kZSI6ICJleGFtcGxlLmNvbSIsICJpZCI6ICJkYzI0NTIzYjZk。。。。。。。。。。。。。。" | base64 -d
解码后的内容是JSON格式的节点配置,例如:
{ "v": "2", "ps": "Example Node", "add": "example.com", "port": 12345, "id": "dc24523b6d32500c386ff73293f208b9b6eda77623e3b7dfd", "aid": 7, "net": "ws", "type": "none", "host": "example.com", "path": "/path", "tls": "tls" }
你需要将其填入config.json文件的outbounds部分。最终的config.json文件可能类似于:
{ "inbounds": [{ "port": 1080, "listen": "127.0.0.1", "protocol": "socks", "settings": { "auth": "noauth", "udp": true } }], "outbounds": [{ "protocol": "vmess", "settings": { "vnext": [{ "address": "example.com", "port": 12345, "users": [{ "id": "dc24523b6d32500c386ff73293f208b9b6eda77623e3b7dfd", "alterId": 7, "security": "auto" }] }] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/path" }, "tlsSettings": { "serverName": "example.com" } } }], "outbounds": [{ "protocol": "freedom", "settings": {} }] }
然后将其传输到目标服务器或计算机Xray的安装目录并替换原有的config.json,然后运行Xray之后测试即可。
设置Xray加入Systemd服务并开机自启动(可选)
如果你希望Xray在系统启动时自动运行,可以手动创建Systemd服务:
创建一个xray.service
文件:
sudo nano /etc/systemd/system/xray.service
将以下内容粘贴到xray.service文件中(ExecStart和WorkingDirectory替换成自己的xray安装目录):
[Unit] Description=V2Ray After=network.target [Service] ExecStart=/opt/Xray/xray Restart=on-failure User=root WorkingDirectory=/opt/Xray [Install] WantedBy=multi-user.target
请确保将/opt/Xray/xray替换为你解压后的xray可执行文件的完整路径。
保存并退出文件后,重新加载Systemd:
sudo systemctl daemon-reload
启用并启动V2Ray:
sudo systemctl start xray #开启xray sudo systemctl enable xray #设置为开机自启 sudo systemctl status xray #查看xray状态
在日志文件中查看输出:
sudo journalctl -u xray -f