未来的霸主选项:Xray(XTLS+V2ray)

  • A+
所属分类:VPS

初稿,最近会继续完善

万万没想到Xray横空出世,并且项目发展高歌猛进,风光无限。鉴于此,有必要为学不动的网友科普一下Xray项目。

本Xray教程重点介绍Xray项目由来、和V2ray的关系,至于服务端部署和客户端使用,目前基本与V2ray一致,因此仅做简要介绍。

Xray介绍

一个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,向游戏使用迈出了重要一步。

8.Xray-core 1.2.3版本

  • 对 SS 协议的支持变强了, 支持单端口多用户!
  • 对 trojan 协议的支持也变强了, trojan 的回落也解锁 SNI 分流的新姿势啦~!
  • (VLESS: 嘤嘤嘤)
  • UDP 奇奇怪怪的 BUG 被干掉了, 一个字, “稳定”.
  • 嗅探可以排除你不想嗅探的域名, 可以开启一些新玩法.
  • 向发现问题->开issue->自行测试->自行分析->自行找到问题->自行解决->然后给上下游提交PR的大佬  @Bohan Yang 致敬!
  • 其他美味小樱桃, 惯例更新品尝就对啦.

更多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区别如下:

  1. Xray是V2ray的一个分支(Fork)。Xray项目基于V2ray而来,其支持并且兼容V2ray的配置;
  2. Xray是V2ray的超集。虽然最新版V2ray删除了XTLS,但仍保留VLESS协议。Xray提供完整的VLESS和XTLS支持,目前是V2ray的超集,但后续Xray可能会有会有自己的发展方向;
  3. 如果使用XTLS,强烈推荐使用Xray,或者安装V2ray-Core 4.29.0 ~ 4.32.1版本;不使用XTLS的情况下,使用V2ray和Xray均可。

 

Xray安装和使用教程

有手动配置能力(小白就去最下边的一键安装脚本)

#准备工作

1、VPS 一台,重置好主流的操作系统

2、域名一个,解析到该VPS。(域名申请证书,lnmp自带)

3、自行开启 BBR 加速或者锐速(本站自己找)

4;需要安装Nginx,修改 Nginx 配置文件,我基本都是采用lnmp的,这个网站找

自行部署Xray服务端需要你有基本linux技巧,能使用vim/nano等编辑器。官方提供了大多数Linux系统的一键脚本,可以直接使用:

官方一键

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

UUID 随机生成代码

cat /proc/sys/kernel/random/uuid # 粘贴到VPS运行即可生成 UUID

安装完毕以后,在VPS目录 /usr/local/etc/xray 找到 config,json 文件,贴入下面的配置文件

官方脚本安装的配置文件内容为空,可参考 Xray-examples 中提供的模板编辑配置文件。例如使用VLESS+TCP+XTLS的配置文件为:

{
    "log": {
        "loglevel": "warning"
    }, 
    "inbounds": [
        {
            "listen": "0.0.0.0", 
            "port": 443,  //此处为程序监听端口,可随意设置,但是需要保证和Nginx设置的端口号相同
            "protocol": "vless", 
            "settings": {
                "clients": [
                    {
                        "id": "5272bc0d-9852-4af7-b2f0-979b1faf2973", //此处为你的UUID
                        "level": 0, 
                        "email": "vjsun.vrrmr@gmail.com",
                        "flow":"xtls-rprx-direct"
                    }
                ], 
                "decryption": "none", 
                "fallbacks": [
                    {
                        "dest": 33222  //默认回落端口
                    }, 
                    {
                        "alpn": "h2", 
                        "dest": 33223  //https回落端口
                    }
                ]
            }, 
            "streamSettings": {
                "network": "tcp", 
                "security": "xtls", 
                "xtlsSettings": {
                    "serverName": "bt.tvxx.net",  //你的域名
                    "alpn": [
                        "h2", 
                        "http/1.1"
                    ], 
                    "certificates": [
                        {
                            "certificateFile": " "/usr/local/nginx/conf/ssl/bt.tvxx.net/fullchain.cer",// 换成你的证书,绝对路径
                            "keyFile": ""/usr/local/nginx/conf/ssl/bt.tvxx.net/bt.tvxx.net.key" // 换成你的私钥,绝对路径
                        }
                    ]
                }
            }
        }
    ], 
    "outbounds": [
        {
            "protocol": "freedom", 
            "settings": { }
        }
    ]
}

配置完毕后,可通过

systemctl start xray 运行 xray,

systemctl stop xray 停止xray,

systemctl restart xray 重启,

systemctl status xray xray运行状态

journalctl -xe --no-pager -u xray 查看运行日志。

修改 Nginx 配置文件

单一修改Nginx

server {

listen 0.0.0.0:80;

server_name bt.tvxx.net;

rewrite ^(.*)$ https://${server_name}$1 permanent;

}

//强制http转到https服务

修改443

listen 33223 http2;

在研究SNI分流的设置,太忙没时间,等有时间在填坑。先简单的用下边的方案。

又想有多个网站博客,又想使用Xray,就到这里去看;地址

配置Xray客户端

服务端配置好后,接下来是配置客户端。目前有如下客户端支持Xray:

Xray Windows客户端

  • V2rayN:3.28版本起支持xray,只需要下载Xray-core,将解压的文件放到V2rayN-Core文件夹下即可。需要注意的是V2rayN 4.0版本移除了PAC,改用路由规则,会给习惯了PAC的用户带来困扰。习惯Qv2ray的网友应该乐于接受这个改变;
  • winXray:winXray是Windows系统上简洁稳定的Xray/V2Ray、Shadowsocks、Trojan 通用客户端,可自动检测并连接访问速度最快的 代理服务器。该项目原作者删库后出现了一些同名库,安全性未知,因此本站托管的依然是旧版;
  • Qv2ray:Qv2ray是一个基于Qt框架开发的v2ray客户端,可通过插件支持SS、SSR、VMESS、VLESS、trojan等多种协议。

Xray安卓客户端

  • V2rayNG:V2rayNG可以说是最跟随Xray步伐的V2ray客户端了,Xray发布新版本后会在第一时间更新,推荐使用。

Xray Mac客户端

  • Qv2ray:Qv2ray是一个基于Qt框架开发的跨平台v2ray客户端,因此支持MacOS系统。实际上,自V2rayU作者删库不更新后,Qv2ray算得上Mac系统上支持VLESS协议的独苗,但可能会出现设置系统代理无效的bug。

Xray苹果客户端:

  • Shadowrocket/小火箭:小火箭目前是ios系统上更新最频繁的V2ray客户端,价格也不贵,支持多种协议,推荐使用。

自动一键脚本(1):

bash <(curl -sL https://s.hijk.art/xray.sh)

按回车键,出现意外请,CentOS系统请输入 yum install -y curl,Ubuntu/Debian系统请输入 sudo apt install -y curl,然后再次运行上面的命令:

本Xray一键脚本目前支持以下组合方式:

  • VMESS,即最普通的V2ray服务器,没有伪装,也不是VLESS
  • VMESS+KCP,传输协议使用mKCP,VPS线路不好时可能有奇效
  • VMESS+TCP+TLS,带伪装的V2ray,不能过CDN中转
  • VMESS+WS+TLS,即最通用的V2ray伪装方式,能过CDN中转,推荐使用
  • VLESS+KCP,传输协议使用mKCP
  • VLESS+TCP+TLS,通用的VLESS版本,不能过CDN中转,但比VMESS+TCP+TLS方式性能更好
  • VLESS+WS+TLS,基于websocket的V2ray伪装VLESS版本,能过CDN中转,有过CDN情况下推荐使用
  • VLESS+TCP+XTLS,目前最强悍的VLESS+XTLS组合,强力推荐使用(但是支持的客户端少一些)
  • trojan,轻量级的伪装协议
  • trojan+XTLS,trojan加强版,使用XTLS技术提升性能

注意:目前一些客户端不支持VLESS协议,或者不支持XTLS,请按照自己的情况选择组合

5. 按照自己的需求选择一个方式。例如6,然后回车。接着脚本会让你输入一些信息,也可以直接按回车使用默认值。需要注意的是,对于要输入伪装域名的情况,如果服务器上有网站在运行,请联系运维再执行脚本,否则可能导致原来网站无法访问!

 

xray一键脚本输入

6. 脚本接下来会自动运行,一切顺利的话结束后会输出配置信息:

 

Xray一键脚本运行成功输出信息

到此服务端配置完毕,服务器可能会自动重启(没提示重启则不需要),windows终端出现“disconnected”,mac出现“closed by remote host”说明服务器成功重启了。

对于VLESS协议、VMESS+WS+TLS的组合,网页上输入伪装域名,能正常打开伪装站,说明服务端已经正确配置好。如果运行过程中出现问题,请在本页面下方查找解决方法或留言。

Xray一键脚本其他事项

服务端配置好后,如果想使用CloudFlare等CDN中转(必须是WS版才可以),请参考:使用cloudflare中转流量,拯救被墙ip

本脚本默认使用的加速技术是BBR,换成魔改BBR/BBR Plus/锐速清参考:安装魔改BBR/BBR Plus/锐速(Lotserver)

如果伪装站类型没有你满意的,比如你想搭建WordPress博客,请参考:V2ray伪装建站教程

对于使用TLS的方式,脚本默认会申请域名证书,证书存放在和xray配置文件同一个文件夹内(即/usr/local/etc/xray目录下)。证书会自动更新,如果客户端突然无法使用,请打开伪装网站查看是否能正常打开。如果证书已过期,请再次运行上面的脚本重新配

最后,刚搭建好Xray后不要猛上流量,否则会导致被限速、端口被墙,严重可能导致ip被墙

 

自动一键脚本(2):

支持快捷方式启动,安装完毕后,shell输入[vasma]即可打开脚本,脚本执行路径[/etc/v2ray-agent/install.sh]

脚本特性

  • 支持Xray-core[XTLS]、v2ray-core [XTLS]、v2ray-core
  • 支持不同核心之间的配置文件互相读取。
  • 支持 VLESS/VMess/trojan/trojan-go–>ws的协议
  • 支持Debian、Ubuntu、Centos,支持主流的cpu架构。
  • 支持个性化安装。
  • 不需要卸载就可以重装任何组合。卸载脚本时,是完全卸载无残留。

组合方式

  • VLESS+TCP+TLS
  • VLESS+TCP+xtls-rprx-origin
  • VLESS+TCP+xtls-rprx-direct【推荐
  • VLESS+WS+TLS
  • VMess+TCP+TLS
  • VMess+WS+TLS
  • Trojan【推荐
  • Trojan-Go+WS

脚本目录

  • v2ray-core 【/etc/v2ray-agent/v2ray
  • Xray-core 【/etc/v2ray-agent/xray
  • Trojan 【/etc/v2ray-agent/trojan
  • TLS证书 【/etc/v2ray-agent/tls
  • Nginx配置文件 【/etc/nginx/conf.d/alone.conf】、Nginx伪装博客目录 【/usr/share/nginx/html

make-a项目地址:点击访问

自动一键脚本(3):

脚本特性

  1. 支持 (Xray-TCP+XTLS) + (Xray-WebSocket+TLS) + Web
  2. 集成 多版本bbr/锐速 安装选项
  3. 支持多种系统 (Ubuntu CentOS Debian deepin fedora ...)
  4. 支持多种指令集 (x86 x86_64 arm64 ...)
  5. 支持ipv6only服务器 (需自行设置dns64)
  6. 集成删除阿里云盾和腾讯云盾功能 (仅对阿里云和腾讯云服务器有效)
  7. 使用Nginx作为网站服务
  8. 使用Xray作为前置分流器
  9. 使用acme.sh自动申请/更新域名证书
  10. 支持选择搭建个人网盘作为伪装网页

注意事项

  1. 此脚本需要一个解析到服务器的域名 (支持cdn)
  2. 此脚本安装时间较长,见 安装时长说明
  3. 此脚本设计为个人VPS用户使用,不适合机场主使用 (此脚本没有多用户管理/流量统计等功能)。
  4. 建议在纯净的系统上使用此脚本 (VPS控制台-重置系统)
wget -O Xray-TLS+Web-setup.sh --no-check-certificate https://github.com/kirin10000/Xray-script/raw/main/Xray-TLS+Web-setup.sh
bash Xray-TLS+Web-setup.sh

根据脚本提示完成安装

安装位置

Nginx:/usr/local/nginx

php:/usr/local/php

Cloudreve:/usr/local/cloudreve

Xray: 见 Xray-install

项目地址:地址

自动一键脚本(4):

基于 Nginx 的 vless+ws+tls / XTLS 回落 Nginx 一键安装脚本
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/paniy/Xray_bash_onekey/main/install.sh" && chmod +x install.sh && bash install.sh

建议单服务器仅搭建单个代理

本脚本默认安装最新版本的Xray core。

建议使用默认的443端口作为连接端口。

伪装内容可自行替换。

注意事项

推荐在纯净环境下使用本脚本,如果你是新手,请不要使用Centos系统。

在尝试本脚本确实可用之前,请不要将本程序应用于生产环境中。

该程序依赖 Nginx 实现相关功能,请使用 LNMP 或其他类似携带 Nginx 脚本安装过 Nginx 的用户

特别留意,使用本脚本可能会导致无法预知的错误(未测试,若存在,后续版本可能会处理本问题)。

xray 的部分功能依赖于系统时间,请确保您使用xray程序的系统 UTC 时间误差在三分钟之内,时区无关。

Centos 系统用户请预先在防火墙中放行程序相关端口(默认:80,443)。

启动方式

启动 Xray:systemctl start xray

停止 Xray:systemctl stop xray

启动 Nginx:systemctl start nginx

停止 Nginx:systemctl stop nginx

相关目录

Web 目录:/home/wwwroot/3DCEList

xray 服务端配置:/etc/xray/config.json

xray 客户端配置: ~/xray_info.txt

Nginx 目录: /etc/nginx

证书文件: /data/xray.key 和 /data/xray.crt 请注意证书权限设置。

项目地址:地址

weinxin
我的QQ群
这是我的QQ群扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: