Xray项目已经确定独自运作,目前最新版是1.1.2版本。根据测试数据,服务端direct+客户端使用splice后性能比VLESS裸奔还要强上一倍,已经远超trojan/trojan-go,非常推荐使用。
本文的Xray一键脚本可以配置常规VMESS协议、VMESS+KCP、VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS、trojan、trojan+XTLS等多种组合,支持CentOS 7/8、Ubuntu 16.04、Debian 8及新版系统。
注意:目前CentOS7系统已经到生命周期,不建议使用该系统,可能会导致脚本运行失败!建议使用Debian或者Ubuntu系统。
Xray一键脚本使用方法
Xray一键脚本使用步骤如下:
1. 准备一个境外服务器,想服务器速度快请参考 搬瓦工VPS购买教程 或从 CN2 GIA VPS商家推荐 选购,想ip被封后免费换请参考:购买vultr服务器超详细图文教程。
如果用VMESS+WS+TLS或者VLESS系列协议,则还需一个域名。对域名没有要求,国内/国外注册的都可以,不需要备案,不会影响使用,也不会带来安全/隐私上的问题。购买域名可参考:Namesilo购买域名详细教程。
值得一提的是本Xray一键脚本支持ipv6 only服务器,但是不建议用只有ipv6的VPS用来科学上网。
2. 如果vps运营商开启了防火墙(阿里云、Ucloud、腾讯云、AWS、GCP等商家默认有,搬瓦工/hostdare/vultr等商家默认关闭),请先登录vps管理后台放行80和443端口,否则可能会导致获取证书失败。此外,本脚本支持上传自定义证书,可跳过申请证书这一步,也可用在NAT VPS上。
3. ssh连接到服务器。Windows系统请参考 Bitvise连接Linux服务器教程,mac用户请参考 Mac电脑连接Linux教程。
4. 复制(或手动输入)下面命令到终端:
bash <(curl -Ls https://raw.githubusercontent.com/daveleung/hijkpw-scripts-mod/main/xray_mod1.sh)
按回车键,将出现如下操作菜单。如果菜单没出现,CentOS系统请输入 yum install -y curl
,Ubuntu/Debian系统请输入 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,然后回车。接着脚本会让你输入一些信息,也可以直接按回车使用默认值。需要注意的是,对于要输入伪装域名的情况,如果服务器上有网站在运行,请联系运维再执行脚本,否则可能导致原来网站无法访问!
6. 脚本接下来会自动运行,一切顺利的话结束后会输出配置信息:
到此服务端配置完毕,服务器可能会自动重启(没提示重启则不需要),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被墙。
接下来是配置客户端,下载客户端和配置教程请参考:
祝大家使用愉快。如有问题请在页面下方留言。
VLESS+TCP+XTLS 这个模式 ,苹果的小火箭客户端支持么? 貌似苹果的用不了这个模式
最新版的小火箭支持xtls的,用不了说明你用的旧版
在这里给大家一个邪道思路,域名可以不花钱买,直接在你的云主机上安装一个Softether,就会给你一个用来动态域名解析的“xxxx.softether.net”,实测这个也能正常用这个脚本,感谢各位大大!
求详细。是那个server还是bridge?
softether vpn server,
可以连接但是不能用,显示ssl什么的,请问是什么问题呢?(ios客户端)
伪装域名填错了
不会呀
那就发一下具体的错误信息
An SSL error has occurred and a secure connection to the server cannot be made
运行脚本时候输入的什么域名,配置里就填什么域名
对呀,没错呀,不知道是哪里问题
能打开伪装网站就是客户端配置错了
可以打开伪装网站TVT,有没有详细的配置教程呀,我用的是VLESS+TCP+XTLS
本站搜小火箭
https://v2xtls.org/shadowrocket%E9%85%8D%E7%BD%AEv2ray%E6%95%99%E7%A8%8B/我就是按照这个来的
个人感觉是不是ssl的问题呀
换个网站试试
那得重新安装了啊
你的服务端有问题,打不开伪装网站
需不需要要加www,我没有加www
客户端连接出现failed to handler mux client connection > v2ray.com/core/proxy/vless/outbound: connection ends > v2ray.com/core/proxy/vless/outbound: failed to write A request payload > x509: cannot validate certificate for 46.8.178.111 because it doesn’t contain any IP SANs
把允许不安全改成true,或者服务器上用有效的证书
再xray客户端改吗。
服务器上用有效的证书应该怎么设置,是域名证书在服务器上使用吗小白不太懂
允许不安全在客户端上设置就可以了
使用xray一键脚本,获取证书失败,求助大神
[Sat Mar 13 00:28:34 UTC 2021] http://www.sphinx.buzz:Verify error:During secondary validation: Invalid response from http://www.sphinx.buzz/.well-known/acme-challenge/fBQA9yaQd13xAn0ijDAw2XF3VrRzRljAX3lkTLfOIEs [35.201.132.84]:
[Sat Mar 13 00:28:34 UTC 2021] Please add ‘–debug’ or ‘–log’ to check more details.
[Sat Mar 13 00:28:34 UTC 2021] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
[Sat Mar 13 00:28:34 UTC 2021] Run post hook:’systemctl restart nginx’
获取证书失败,请复制上面的红色文字到 https://hijk.art 反
dns还没有生效,或者用的国内服务器
小白问一下,域名到期怎么办,更换域名的是不是要重新再装一次一键脚本?
域名到期可以续期,更换的话是需要重新运行脚本
我想问一下,伪装域名是干嘛的?需要一个正在的域名吗?
需要一个能用的域名,用来tls加密
试了很多天,之前用SSH那个一直墙,试了V2ray多合一脚本,不知道为啥可能设置不对劲,翻不了;知道试了你这个一次性就翻过去了,其他的估计运气一般般,反正到你这个一次性就能用了,这也许运气,咩咩咩;算是学到了点东西,学会了怎么用这些东西,好东西,咩咩咩
Add ‘–force’ to force to renew.
获取证书失败,请复制上面的红色文字到 https://hijk.art 反馈
【这是怎么回事?】
脚本有bug了,稍等一下
已经修复了,三分钟后重新运行一键脚本
少个配置这日志弹得挺难受[doge]
app/proxyman/inbound: connection ends > proxy/vless/inbound: failed to find the default “alpn” config
仔细看v2rayn 配置教程,需要切换xray内核
似乎不是客户端问题,我看了下文档[https://www.v2fly.org/config/protocols/vless.html#fallbackobject]配了个默认回落到80就没有在警告日志了 🙂
那你自己排查吧
是更换最新的xray会更快,还是Trojan增强更快呢,目前用的Trojan普通版本
感谢博主的教程,用vultr的vps搭建好了,采用VLESS+TCP+XTLS协议,但是访问外网很慢,还时不时timeout,有什么方法能优化一下吗?
买cn2线路的服务器,本站搜cn2 gia
开了代理之后,浏览器打开某些外网常常显示“此网站无法提供安全连接”,打不开。
关闭代理之后又能打开了,请问这是什么原因?
代理没有配置好,或者网速不行
网速是没问题的,代理跟着教程一步步操作的。而且只是部分外网显示“不安全连接”,比如:www.outbrain.com; 但google之类的外网又能正常访问。
不明白是为啥
换个浏览器
浏览器也换了好几个,都是一样的情况,下一步是不是要重装系统了?(笑哭)
能用就先用着吧
v2rayN客户端测试速度提示这个错误[Warning] [789329036] v2ray.com/core/proxy/http: failed to read response from cachefly.cachefly.net > io: read/write on closed pipe,求解答啊
配置错了或者电脑时间和手机不同
走到这一步,对于用推荐的VLESS+TCP+XTLS,请问我应该装v2ray还是xray呢?
这个怎么支持多ip,我用的多ip机子,多个设备用不同的ip,连接上都是同一个ip
要自行配置,网上搜一下v2ray sendthtough
https://ae01.alicdn.com/kf/Ua255b947ab674ca887c42bfd3202940aX.jpg
我配置了三个还是不行
不是这样配置的
proxy/http: failed to read response from http://www.gstatic.com > malformed HTTP response “\x12\x04\x00\x00\x00\x00\x00\x00\x03\x00\x00\x01\x00\x00\x04\x00\x01\x00\x00\x00\x05\x00\xff\xff\xff\x00\x00\x04\b\x00\x00\x00\x00\x00\u007f\xff\x00\x00\x00\x00\b\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01”
2021/03/23 22:57:30 127.0.0.1:7091 accepted //v2xtls.org:443 [http >> proxy]
2021/03/23 22:57:32 127.0.0.1:7096 accepted //v2xtls.org:443 [http >> proxy]
2021/03/23 22:57:33 127.0.0.1:7098 accepted //v2xtls.org:443 [http >> proxy]
2021/03/23 22:57:34 127.0.0.1:7100 accepted //v2xtls.org:443 [http >> proxy]
2021/03/23 22:57:34 127.0.0.1:7103 accepted //api.mousegesturesapi.com:443 [http >> proxy]
2021/03/23 22:57:34 127.0.0.1:7105 accepted //v2xtls.org:443 [http >> proxy]
2021/03/23 22:57:35 127.0.0.1:7107 accepted //api.mousegesturesapi.com:443 [http >> proxy]
截取了两段内容,情况是这样,VLESS+TCP+XTLS,加CloudFlare中转,伪装网站可以上,手机端配置了1台可以上,pc端配置了一台可以上,再加设备就提示如上,希望大佬可以帮我查看一下什么情况,感激不尽
这个配置不能用中转
好的,正在重新配置了,感谢
请问安装时怎么选择udp(kcp)协议,没有找到该选项
mkcp就是kcp
安装Xray…
/dev/fd/63: line 176: /usr/local/bin/xray: Not a directory
安装Xray v1.4.2 ,架构64
下载Xray: https://github.com/XTLS/Xray-core/releases/download/v1.4.2/Xray-linux-64.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 625 100 625 0 0 2481 0 –:–:– –:–:– –:–:– 2490
100 8404k 100 8404k 0 0 3690k 0 0:00:02 0:00:02 –:–:– 4625k
Failed to stop xray.service: Unit xray.service not loaded.
Archive: /tmp/xray/xray.zip
inflating: /tmp/xray/geosite.dat
inflating: /tmp/xray/xray
inflating: /tmp/xray/geoip.dat
inflating: /tmp/xray/README.md
inflating: /tmp/xray/LICENSE
chmod: cannot access ‘/usr/local/bin/xray’: Not a directory
Xray安装失败
rm -rf /usr/local/bin/xray,然后再运行一键脚本
[Thu Apr 8 15:55:29 CST 2021] Installing from online archive.
[Thu Apr 8 15:55:29 CST 2021] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
[Thu Apr 8 15:55:30 CST 2021] Extracting master.tar.gz
[Thu Apr 8 15:55:30 CST 2021] It is recommended to install socat first.
[Thu Apr 8 15:55:30 CST 2021] We use socat for standalone server if you use standalone mode.
[Thu Apr 8 15:55:30 CST 2021] If you don’t use standalone mode, just ignore this warning.
[Thu Apr 8 15:55:30 CST 2021] Installing to /root/.acme.sh
[Thu Apr 8 15:55:30 CST 2021] Installed to /root/.acme.sh/acme.sh
[Thu Apr 8 15:55:30 CST 2021] Installing alias to ‘/root/.bashrc’
[Thu Apr 8 15:55:30 CST 2021] OK, Close and reopen your terminal to start using acme.sh
[Thu Apr 8 15:55:30 CST 2021] Installing cron job
0 3 * * * systemctl stop trojan-web; “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null; systemctl start trojan-web
[Thu Apr 8 15:55:30 CST 2021] Good, bash is found, so change the shebang to use bash as preferred.
[Thu Apr 8 15:55:31 CST 2021] OK
[Thu Apr 8 15:55:31 CST 2021] Install success!
/root/.bashrc: line 21: trojan: command not found
[Thu Apr 8 15:55:32 CST 2021] Already uptodate!
[Thu Apr 8 15:55:32 CST 2021] Upgrade success!
[Thu Apr 8 15:55:33 CST 2021] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Thu Apr 8 15:55:33 CST 2021] Run pre hook:’systemctl stop nginx’
[Thu Apr 8 15:55:33 CST 2021] Please install socat tools first.
[Thu Apr 8 15:55:33 CST 2021] _on_before_issue.
获取证书失败,请复制上面的红色文字到 https://hijk.art 反馈
centos系统运行yum install -y socat,debian/ubuntu系统运行apt install -y socat,然后再试试
还是一样的报错
换个系统或者重装一下
域名无法解析到当前服务器ip怎么办?
检查一下dns设置,或者再等等
Failed loading plugin “osmsplugin”: No module named ‘librepo’
51 files removed
Failed loading plugin “osmsplugin”: No module named ‘librepo’
CentOS Linux 8 – AppStream 6.0 MB/s | 6.3 MB 00:01
CentOS Linux 8 – BaseOS 3.4 MB/s | 2.3 MB 00:00
CentOS Linux 8 – Extras 155 B/s | 9.6 kB 01:03
Extra Packages for Enterprise Linux Modular 8 – x86_64 161 kB/s | 557 kB 00:03
Extra Packages for Enterprise Linux 8 – x86_64 833 kB/s | 9.3 MB 00:11
Ksplice Uptrack for Oracle Linux 1.6 kB/s | 4.3 kB 00:02
nginx stable repo 15 kB/s | 25 kB 00:01
Package wget-1.19.5-10.el8.x86_64 is already installed.
Package vim-enhanced-2:8.0.1763-15.el8.x86_64 is already installed.
Package unzip-6.0-43.el8.x86_64 is already installed.
Package tar-2:1.30-5.el8.x86_64 is already installed.
Package gcc-8.3.1-5.1.el8.x86_64 is already installed.
Package openssl-1:1.1.1g-15.el8_3.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Failed loading plugin “osmsplugin”: No module named ‘librepo’
Last metadata expiration check: 0:00:05 ago on Thu 22 Apr 2021 05:09:46 AM GMT.
Package net-tools-2.0-0.52.20160912git.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
安装nginx…
Failed loading plugin “osmsplugin”: No module named ‘librepo’
Last metadata expiration check: 0:00:08 ago on Thu 22 Apr 2021 05:09:46 AM GMT.
Package epel-release-8-10.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Failed loading plugin “osmsplugin”: No module named ‘librepo’
Last metadata expiration check: 0:00:10 ago on Thu 22 Apr 2021 05:09:46 AM GMT.
Package nginx-1:1.20.0-1.el8.ngx.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Warning: ALREADY_ENABLED: http
success
Warning: ALREADY_ENABLED: https
success
success
Failed to stop xray.service: Unit xray.service not loaded.
Failed loading plugin “osmsplugin”: No module named ‘librepo’
Last metadata expiration check: 0:00:17 ago on Thu 22 Apr 2021 05:09:46 AM GMT.
Package socat-1.7.3.3-2.el8.x86_64 is already installed.
Package openssl-1:1.1.1g-15.el8_3.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Failed loading plugin “osmsplugin”: No module named ‘librepo’
Last metadata expiration check: 0:00:19 ago on Thu 22 Apr 2021 05:09:46 AM GMT.
Package cronie-1.5.2-4.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 205k 100 205k 0 0 524k 0 –:–:– –:–:– –:–:– 523k
[Thu Apr 22 05:10:08 GMT 2021] Installing from online archive.
[Thu Apr 22 05:10:08 GMT 2021] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
[Thu Apr 22 05:10:11 GMT 2021] Extracting master.tar.gz
[Thu Apr 22 05:10:11 GMT 2021] Installing to /root/.acme.sh
[Thu Apr 22 05:10:11 GMT 2021] Installed to /root/.acme.sh/acme.sh
[Thu Apr 22 05:10:11 GMT 2021] Installing alias to ‘/root/.bashrc’
[Thu Apr 22 05:10:11 GMT 2021] OK, Close and reopen your terminal to start using acme.sh
[Thu Apr 22 05:10:11 GMT 2021] Installing alias to ‘/root/.cshrc’
[Thu Apr 22 05:10:11 GMT 2021] Installing alias to ‘/root/.tcshrc’
[Thu Apr 22 05:10:12 GMT 2021] Installing cron job
40 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null
[Thu Apr 22 05:10:12 GMT 2021] Good, bash is found, so change the shebang to use bash as preferred.
[Thu Apr 22 05:10:13 GMT 2021] OK
[Thu Apr 22 05:10:13 GMT 2021] Install success!
[Thu Apr 22 05:10:15 GMT 2021] Already uptodate!
[Thu Apr 22 05:10:15 GMT 2021] Upgrade success!
[Thu Apr 22 05:10:18 GMT 2021] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Thu Apr 22 05:10:18 GMT 2021] Run pre hook:’systemctl stop nginx’
[Thu Apr 22 05:10:18 GMT 2021] Standalone mode.
[Thu Apr 22 05:10:18 GMT 2021] Single domain=’xxx.org’
[Thu Apr 22 05:10:18 GMT 2021] Getting domain auth token for each domain
[Thu Apr 22 05:10:30 GMT 2021] Getting webroot for domain=’xxx.org’
[Thu Apr 22 05:10:30 GMT 2021] Verifying: xxx.org
[Thu Apr 22 05:10:30 GMT 2021] Standalone mode server
[Thu Apr 22 05:10:37 GMT 2021] xxx.org:Verify error:Fetching http://xxx.org/.well-known/acme-challenge/v3ce51cl-xDvhXoJS7lt2xnHtZZL970sWaxI4GQ1ceM: Error getting validation data
安装失败,是缺少了什么东西吗?系统是centos8,日志里的域名隐藏了,域名本身没问题的
dns解析没生效或者解析错了
域名我在dns.google.com验证过了,能正确解析
那就再等等
可能centos8上运行有点问题,换成ubuntu就一次过成功了