Xray一键脚本

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一键安装脚本

Xray一键安装脚本

本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一键脚本输入

xray一键脚本输入

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

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

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被墙。

接下来是配置客户端,下载客户端和配置教程请参考:

祝大家使用愉快。如有问题请在页面下方留言。

参考

  1. V2ray一键脚本
  2. V2ray带伪装一键脚本
  3. V2ray的VLESS协议介绍和使用教程
  4. VLESS协议的fallback参数详解

《Xray一键脚本》上有498条评论

  1. VLESS+TCP+XTLS 这个模式 ,苹果的小火箭客户端支持么? 貌似苹果的用不了这个模式

  2. 在这里给大家一个邪道思路,域名可以不花钱买,直接在你的云主机上安装一个Softether,就会给你一个用来动态域名解析的“xxxx.softether.net”,实测这个也能正常用这个脚本,感谢各位大大!

  3. 可以连接但是不能用,显示ssl什么的,请问是什么问题呢?(ios客户端)

          1. An SSL error has occurred and a secure connection to the server cannot be made

          2. 可以打开伪装网站TVT,有没有详细的配置教程呀,我用的是VLESS+TCP+XTLS

  4. 客户端连接出现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

      1. 再xray客户端改吗。
        服务器上用有效的证书应该怎么设置,是域名证书在服务器上使用吗小白不太懂

  5. 使用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

  6. 小白问一下,域名到期怎么办,更换域名的是不是要重新再装一次一键脚本?

  7. 试了很多天,之前用SSH那个一直墙,试了V2ray多合一脚本,不知道为啥可能设置不对劲,翻不了;知道试了你这个一次性就翻过去了,其他的估计运气一般般,反正到你这个一次性就能用了,这也许运气,咩咩咩;算是学到了点东西,学会了怎么用这些东西,好东西,咩咩咩

  8. 少个配置这日志弹得挺难受[doge]
    app/proxyman/inbound: connection ends > proxy/vless/inbound: failed to find the default “alpn” config

      1. 似乎不是客户端问题,我看了下文档[https://www.v2fly.org/config/protocols/vless.html#fallbackobject]配了个默认回落到80就没有在警告日志了 🙂

        1. 是更换最新的xray会更快,还是Trojan增强更快呢,目前用的Trojan普通版本

  9. 感谢博主的教程,用vultr的vps搭建好了,采用VLESS+TCP+XTLS协议,但是访问外网很慢,还时不时timeout,有什么方法能优化一下吗?

      1. 开了代理之后,浏览器打开某些外网常常显示“此网站无法提供安全连接”,打不开。
        关闭代理之后又能打开了,请问这是什么原因?

          1. 网速是没问题的,代理跟着教程一步步操作的。而且只是部分外网显示“不安全连接”,比如:www.outbrain.com; 但google之类的外网又能正常访问。
            不明白是为啥

          2. 浏览器也换了好几个,都是一样的情况,下一步是不是要重装系统了?(笑哭)

  10. v2rayN客户端测试速度提示这个错误[Warning] [789329036] v2ray.com/core/proxy/http: failed to read response from cachefly.cachefly.net > io: read/write on closed pipe,求解答啊

  11. 这个怎么支持多ip,我用的多ip机子,多个设备用不同的ip,连接上都是同一个ip

  12. 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端配置了一台可以上,再加设备就提示如上,希望大佬可以帮我查看一下什么情况,感激不尽

  13. 安装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安装失败

      1. [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 反馈

  14. 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,日志里的域名隐藏了,域名本身没问题的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注