目录
本Xray教程重点介绍Xray项目由来、和V2ray的关系,至于服务端部署和客户端使用,目前基本与V2ray一致,因此仅做简要介绍。
一个Debian包维护者发现XTLS库的LICENSE不是BSD许可,提了一个issue希望作者 @rprx 能修改方便打包,详见 https://github.com/XTLS/Go/issues/9。由这个issue引发了广泛讨论,rprx认为目前许可不是问题,也有不少人认为协议是立场的体现,各执一词。
最终V2ray(V2fly社区)维护者经过投票确认XTLS不符合V2ray的MIT协议,并在V2ray-core 4.33.0版本移除了XTLS。rprx和其拥护者行动起来,很快就创建了Project X项目和Xray子项目(Xray取名来自XTLS和V2ray的结合),并发布了Xray-core的多个版本。这便是Xray的大致由来。
XTLS和Xray离不开作者 @rprx 的辛勤付出,因此也简要介绍一下@rprx :
1. @rprx 是VLESS协议的设计者,在介绍VLESS协议时写下了 性能至上、可扩展性空前,目标是全场景终极协议 的宏壮愿景;
2. @rprx 是 XTLS 的作者,在 XTLS库 中写下了 “THE FUTURE” 的霸气描述。将内外两条TLS连接结合,rprx可能不是第一个有这想法的人,但却是第一个将其实现、并成熟应用到实际中的作者。从使用表现上看,XTLS无愧于rprx对其的评价:划时代的革命性概念与技术:XTLS,以及社区给出的“黑科技”称谓;
3. @rprx 是Project X和Xray项目的创始人。由于LICENSE理念之争,rprx创建了对标Project V和V2ray-core的Project X和Xray-core项目,广受欢迎。
Xray-Core自上个月创立以来,短短一个月已经发布了七个版本,足见维护者的诚意。Xray-Core目前发布的各个版本主要介绍如下:
1. Xray-core 1.0.0版本:项目创建,提供完整的VLESS和XTLS支持,功能上是V2ray-core的超集。主要变动是将v2ray和v2ctl可执行文件合并为xray,性能全面增强;
2. Xray-core 1.1.0和1.1.1版本:测试过渡版本,未提供详细发行说明;
3. Xray-core 1.1.2版本:引入了Linux Kernel Splice技术,适用于安卓、路由器等Linux环境。Splice技术减少了数据拷贝次数和内存占用,拥有更强的性能。需要说明的是,只适用于类Linux环境的客户端出栈,服务端入栈仍然是direct;
4. Xray-core 1.1.3版本:重构了透明代理的 REDIRECT 模式,使之同时支持 IPv4 和 IPv6,解决了V2ray和trojan遗留的问题;
5. Xray-core 1.1.4版本:优化内存占用,TLS更多选项配置,使服务端伪装站的TLS设置在SSL Labs能达到A+评分;
6. Xray-core 1.1.5版本:测试过渡版本,支持YAML配置文件、OCSP Stapling等功能,官方安装脚本大更新;
7. Xray-core 1.2.0版本:SS、trojan协议完美支持Fullcone,向游戏使用迈出了重要一步。
更多Xray-core新特性请参考官方说明:https://xtls.github.io/about/new/,或者官方库发行说明:https://github.com/XTLS/Xray-core/releases
Xray和V2ray的区别
在说明Xray和V2ray区别之前,先说一下三个相近但不同的概念:
- V2ray:Project V 是用于构建基础通信网络的工具合集,其核心工具称为
V2Ray
。V2ray主要负责网络协议和功能的实现,既可以单独运行,也可以和其它工具配合。V2ray官网是:https://v2ray.com/,Github项目主页是:https://github.com/v2ray,TG讨论组是:@projectv2ray; - V2fly:出现一些科学上网作者被喝茶事件后,V2ray原开发者长期不上线,其他维护者没有完整权限,导致V2ray项目维护困难。因此社区在2019年组建了V2fly组织,继续维护V2ray,也是目前V2ray发展的主力。V2fly官网是:https://www.v2fly.org,Github项目主页是:https://github.com/v2fly,TG通知频道:@v2fly,TG交流群为:@v2fly_chat;
- Xray:因许可理念之争,VLESS和XTLS的作者单独创建了Xray项目,目前是V2ray的超集,后续可能有不同的发展路线。Xray文档官网(测试中):https://xtls.github.io/, Github项目主页:https://github.com/XTLS,TG交流群:@projectXray。
从上面可以看到,先有V2ray(Project V),然后是V2fly,最后才出来Xray(Project X)。其中V2fly是V2ray的社区,可以认为两者是同一个组织。
详细一点说,Xray和V2ray区别如下:
- Xray是V2ray的一个分支(Fork)。Xray项目基于V2ray而来,其支持并且兼容V2ray的配置;
- Xray是V2ray的超集。虽然最新版V2ray删除了XTLS,但仍保留VLESS协议。Xray提供完整的VLESS和XTLS支持,目前是V2ray的超集,但后续Xray可能会有会有自己的发展方向;
- 如果使用XTLS,强烈推荐使用Xray,或者安装V2ray-Core 4.29.0 ~ 4.32.1版本;不使用XTLS的情况下,使用V2ray和Xray均可。
一个小提示是,Xray项目创建以来,V2ray没再发布新版本,反而Xray热火朝天,不断出新版和新功能。此外Xray的TG群也非常热闹,每天至少七八K的消息。如果你喜欢尝试新东西和折腾,Xray适合你,否则V2ray也挺好用。
如今Xray和V2ray分家,后续有没有可能Xray再合并回V2ray呢?这个问题没有答案,也许会合并回去结束分裂,也可能就此分道扬镳。io.js从Node.js分出后来又合并回去,C++源自C但完全是一门新语言独立发展,因此一切皆有可能。
准备
注意本教程使用 centOS 7作为演示版本,如果你没有其他要求的话请选择 centOS 7系统
本X2ray一键脚本需要准备如下:
1. 准备一个境外服务器,选择Debain 9 及以上,或者Ubuntu 16 及以上、又或者CentOS 7 及以上,想服务器速度快请参考 搬瓦工VPS购买教程 或从 CN2 GIA VPS商家推荐 选购,想ip被封后免费换请参考:购买vultr服务器超详细图文教程。如果你不知道什么样的vps更适合你请看这里
如果用VMESS+WS+TLS或者VLESS系列协议,则还需一个域名。对域名没有要求,国内/国外注册的都可以,不需要备案,不会影响使用,也不会带来安全/隐私上的问题。购买域名可参考:Namesilo购买域名详细教程。
2. 如果vps运营商开启了防火墙(阿里云、Ucloud、腾讯云、AWS、GCP等商家默认有,搬瓦工/hostdare/vultr等商家默认关闭),请先登录vps管理后台放行80和443端口,否则可能会导致获取证书失败
3.域名购买可以参考上文介绍的域名网站,购买成功后在设置DNS时,可以设置将根域名指向服务器IP(解析域名请参考解析namesilo域名教程),也可以设置二级域名。
比如域名是abc.com,那么可以随意设置 abc.com 或者 www.abc.com 又或者 ab.abc.com,以上三种形式都可以。
4. ssh连接到服务器。Windows系统请参考 Bitvise连接Linux服务器教程,mac用户请参考 Mac电脑连接Linux教程。
5.如果你觉得搭建流程太麻烦,可以考虑Justmysocks的代理服务,可以免去搭建流程,速度和性价比也不错。just-my-socks购买和使用教程
执行Xray服务器一键搭建脚本(Atrandys作品)
需要可视化管理后台的请参考Xray 一键脚本可视化管理面板(X-ui版)
1)支持环境与特点
- 支持 CentOS 7 / Debian 9+ / Ubuntu 16.04+ 系统;
- VLESS自动配置文件:VLESS+TCP+XTLS / VLESS+TCP+TLS / VLESS+WS+TLS
- 支持切换配置文件
- 安装时不要开启CDN,安装完成后vless+ws+tls模式可以开启CDN,切换tcp模式记得关闭CDN
2)安装 Curl 依赖包
yum update -y && yum install curl -y #CentOS/Fedora/RHEL apt-get update -y && apt-get install curl -y #Debian/Ubuntu
3)执行一键安装命令
bash <(curl -Ls https://raw.githubusercontent.com/atrandys/xray/main/install_triple_config.sh)
4)选择安装模式
执行Xray一键脚本安装命令后,有以下3种模式可供选择,如下图所示,推荐选1:
5)输入提前准备好的域名,注意一定要解析到本服务器ip,否则申请ssh证书不通过
6)安装完成后自动显示“Xray配置参数”,然后请到Xray客户端手动添加配置即可。如下图所示:
记录好这些信息,如果忘记了请再次执行一键脚本,既可在菜单项选择“7.查看配置参数”
7.记得打开 80端口 和 443端口
iptables -I INPUT -p tcp --dport 443 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j ACCEPT
配置客户端
支持Xray协议的客户端非常多!具体请看Xray客户端大全
我建议直接使用v2rayN。配置非常简单:
1.添加VLESS协议配置
2.配置服务器信息
BBR加速
其他一件脚本
除了xray以外,还有其它一些常用的代理工具,比如Shadowsocks/V2ray/Trojan/WireGuard等,可以作为xray的备用选择。
具体搭建流程可以参考: