V2ray多合一脚本,支持VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS等组合

2020.12.05更新:最新版V2ray-core已经移除了XTLS,如果你要使用XTLS技术,推荐用 Xray一键脚本

今天抽空把支持V2ray最新VLESS协议一键脚本弄完了。本次的V2ray一键脚本功能强大,支持常规VMESS协议、VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS等多种组合,支持CentOS 7/8、Ubuntu 16.04以上、Debian 8以上系统,以及相关衍生系统。

注意:目前CentOS7系统已经到生命周期,不建议使用该系统,可能会导致脚本运行失败!建议使用Debian或者Ubuntu系统。

V2ray VLESS+TCP+XTLS一键脚本

V2ray一键脚本使用步骤如下:

1. 准备一个境外服务器,想服务器速度快请参考 搬瓦工VPS购买教程 或从  CN2 GIA VPS商家推荐 选购,想ip被封后免费换请参考:购买vultr服务器超详细图文教程

如果用VMESS+WS+TLS或者VLESS系列协议,则还需一个域名。对域名没有要求,国内/国外注册的都可以,不需要备案,不会影响使用,也不会带来安全/隐私上的问题。购买域名可参考:Namesilo购买域名详细教程

值得一提的是本V2ray一键脚本支持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 -sL https://raw.githubusercontent.com/daveleung/hijkpw-scripts-mod/main/xray_mod1.sh)

按回车键,将出现如下操作菜单。如果菜单没出现,CentOS系统请输入 yum install -y curl,Ubuntu/Debian系统请输入 apt install -y curl,然后再次运行上面的命令:

V2ray一键脚本安装菜单

V2ray一键脚本安装菜单

目前V2ray一键脚本支持以下功能:

  • 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,然后回车。接着脚本会让你输入一些信息,也可以直接按回车使用默认值。需要注意的是,对于要输入伪装域名的情况,如果服务器上有网站在运行,请联系运维再执行脚本,否则可能导致原来网站无法访问!

VLESS+TCP+XTLS一键脚本输入信息

VLESS+TCP+XTLS一键脚本输入信息

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

VLESS+TCP+XTLS一键脚本输出信息

VLESS+TCP+XTLS一键脚本输出信息

注意,脚本不适用最新版,原因是脚本在安装v2ray过程中,第822行默认从(https://github.com/v2fly/v2ray-core/releases/)抓取最新版本。解压后cp到对应位置,目前的最新版本为v5.1.0。该版本解压后,没有v2ctl文件,copy失败后,导致脚本意外终止,请作者予以修正。

脚本未修正前的临时解决方法:
wget https://raw.githubusercontent.com/daveleung/hijkpw-scripts-mod/main/v2ray_mod1.sh
chmod a+x v2ray_mod1.sh
vi v2ray_mod1.sh
(将822行中的${NEW_VER}修改为v4.45.2)
./v2ray_mod1.sh

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

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

V2ray一键脚本注意事项

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

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

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

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

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

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

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

参考

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

《V2ray多合一脚本,支持VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS等组合》上有781条评论

  1. 大佬,今天重新安装,突然报yum 安装nginx 内存不足触发了oom,用的是centos8的系统,这个咋回事啊

      1. 感谢大佬回复,最后解决了,把自己解决的路程发出来给大家参考一下。
        忘了说我的配置:centos8 /RAM 512MB/单核cpu/10GB SSD,起因是服务商出现大面积的硬件故障,被迫重新安装服务。但是不管是执行脚本还是单独用yum 安装nginx,都会killed。
        使用free -h 查看内存占用情况,发现512MB的内存不够用,buffer/cache 占用了200多MB。
        最后解决方法是清除了一次buffer/cache,同时开启了1GB的swap,安装成功。
        但为什么之前安装没有触发,但机器reinstall后反而触发了oom,这件事仍然没搞明白,而且开启了1GB的swap最终实际也只使用了50MB。也许只清除buffer/cache就能解决问题。

  2. 端口用443的时候,虽然最后会出来配置信息,但是中途会报两个红色的错:http. https
    我就记得最后是这两个

  3. 请问如何解决以下问题,是在AWS的RHEL8上运行sudo /bin/bash v2ray.sh时出现的:
    。。。
    。。。
    [Mon Dec 27 20:04:23 CST 2021] Installing alias to ‘/root/.bashrc’
    [Mon Dec 27 20:04:23 CST 2021] OK, Close and reopen your terminal to start using acme.sh
    [Mon Dec 27 20:04:23 CST 2021] Installing alias to ‘/root/.cshrc’
    [Mon Dec 27 20:04:23 CST 2021] Installing alias to ‘/root/.tcshrc’
    [Mon Dec 27 20:04:23 CST 2021] Installing cron job
    no crontab for root
    no crontab for root
    [Mon Dec 27 20:04:23 CST 2021] Good, bash is found, so change the shebang to use bash as preferred.
    [Mon Dec 27 20:04:24 CST 2021] OK
    [Mon Dec 27 20:04:24 CST 2021] Install success!
    It seems that you are using sudo, please read this link first:
    https://github.com/acmesh-official/acme.sh/wiki/sudo
    It seems that you are using sudo, please read this link first:
    https://github.com/acmesh-official/acme.sh/wiki/sudo
    It seems that you are using sudo, please read this link first:
    https://github.com/acmesh-official/acme.sh/wiki/sudo
    获取证书失败,请复制上面的红色文字到 https://hijk.art 反馈

      1. 重新运行了,但得到一样的错误。AWS上无法以root运行,只能以sudo方式。错误好像是sudo导致的。

          1. sudo -i可以进入root,再运行以后一切顺利。问题解决了。非常感谢热心帮助和快速回复!!!

  4. 您好,我无论是用vless还是trojan都会间歇性的断网,然后出现这个
    [Warning] [301445178] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/trojan: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp 45.76.197.35:443: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
    请问怎么解决,谢谢

      1. 谢谢您,如果一个端口被墙了,那这个端口是不是就废了,怎么着都救不回来的那种,还是说我重装一下还能接着用

        1. 换系统已经装好了,但是伪装网站打开来是502 Bad Gateway,V2RAY和NGINX都运行正常,请问是怎么回事啊

        2. 大佬,我重装了v2ray,伪装网站显示正常了,但是v2rayN里显示日志如下:
          2022/01/06 07:26:10 [Warning] failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: connection ends > v2ray.com/core/proxy/vmess/outbound: failed to read header > v2ray.com/core/proxy/vmess/encoding: failed to read response header > websocket: close 1000 (normal)
          请问该怎么解决啊

      1. 将服务器系统换为最新的Ubuntu 20.04 x86_64
        将服务器时间更改为了中国上海,安装V2RAY成功,伪装网站打开成功,并设置了VPS时间同步
        V2RAYN仍提示websocket: close 1000 (normal)
        请问大佬是怎么回事

          1. V2rayN配置输入没有错误,alterid一直都是0,仍然是websocket: close 1000 (normal)
            用手机V2rayNG进行配置,测试Tcping有速度,测试真连接显示-1ms
            服务器date显示的时间和我电脑显示的时间是一样的
            大佬,哪出问题了T.T

          2. 昨晚半夜不然不行了。。。现在换成0果然通了。。。太神了。谢谢。

  5. 请问按照选项4(ws+tls)做完之后V2Ray显示:
    [Info] main/jsonem: Reading config: stdin:
    Failed to start app/proxyman/inbound: failed to listen TCP on 10916 > transport/internet: failed to listen on address: 127.0.0.1:10916 > transport/internet/tcp: failed to listen TCP on 127.0.0.1:10916 > listen tcp 127.0.0.1:10916: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
    是怎么回事呢?

  6. 大神求解答。选用的模式是:VLESS+TCP+XTLS
    客户端是windows:v2rayN-v4.23.zip
    伪装网站打开成功了,连不上代理,服务端报错:
    [Warning] [853074754] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/vless/inbound: failed to find the default “alpn” config

  7. 你好,我一直用VMESS+WS+TLS,因为速度慢了,我在VPS更换了IP,然后客户端也更新了,但是不能连接了。后来我从新运行脚本安装,试了很多很多次,仍然不行。我测试了下我的伪装域名正常解析到正常网站,我的域名和VPS的ip都没有被墙,但是客户端依然不能连接。为什么啊?哪里出错了么?但是V2RAY显示一切正常:V2ray运行状态:已安装 V2ray正在运行, Nginx正在运行。依旧是无法连接外网。搞了一天一夜了,心累了。

    1. 不用任何代理,我可以浏览伪装网站的目标网页。用的cloudfalre解析。域名是dynadot的。关键是一直用的好好的,自从从新安装后就不行了。参数配置也基本没问题,很小心谨慎。我脑袋都大了,寝食难安,作者大大求解救。

        1. 我的是华硕梅林系统,伪装域名什么的都齐全,也都能打开网站。对了,如果DNS解析网站被国内屏蔽了也不行是吗?得找一家国内没有屏蔽的DNS解析网站吗?我用的cloudfalre,按说没有被屏蔽啊。
          【V2Ray】v2ray
          模式
          大陆白名单模式
          使用json配置
          服务器
          168.138.47.xxx
          服务器端口
          443
          用户id (id)
          ••••••••••••••••••••••••••••••••••••
          额外ID (Alterld)
          0
          加密方式 (security)
          不加密
          传输协议 (network)
          ws
          * 伪装域名 (host)
          hhhhbbgsg22.xyz
          * 路径 (path)
          /lfFYCh
          底层传输安全
          tls

        2. 我刚才发现一个奇怪地方,我挂了其他可用的代理后,再打开V2RAYN,输入参数,VMESS+WS+TLS就可以用了。也就是说VPS搭建的没问题,问题只能是在客户端或者国内了。那怎么排查呢?客户端之前用的好好的。

          1. 如果直接用V2RAYN连接是连不上的,测试延迟都显示超时。挂了可用代理,再开V2RAYN就可以了,开全局都没问题,IP显示的是VPS的IP,是不是端口、DNS解析和VPS IP被墙?

          2. 我刚才用网站测了下VPS的ip端口,发现国内和国外都无法ping通TCP 443端口,全是failed

  8. 不是。因为前几天V2RAY CORE服务器端都更新了,而梅林用户的V2RAY CORE二进制文件没有更新,需要下载文件手动更新。最近的v2ray core更新后,和老版本的无法连接了。二进制文件更新收可以连通了。估计现在又好多我这样的用户上不了。

  9. 我的伪装域名能正常访问 ,V2RAY status nginx status也是active。我用的梅林路由器配置,用ss协议可以翻,变到v2就不行了,用了几个不同的一键脚本都是这个问题

      1. 服务端我配置完成了,但是一键脚本最后的输出信息忘了截图保存下来,导致我现在不知道id(uuid),这个在哪里还能查到啊?

  10. [Warning] [776959763] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/vless/inbound: failed to find the default “alpn” config
    这个该怎么解决啊 客户端使用的V2raya 使用的透明代理 服务器选的VLESS+TCP+XTLS
    客户端有一个配置alpn要填 我没填 查了日志有上面的信息

  11. 输入伪装域名后出现这样的情况:
    解析结果:
    404 Not Found

    404 Not Found
    nginx

    域名未解析到当前服务器IP!
    但在whatsmydns.net的解析正常,服务器也能ping通。本来好好的解析什么都没改,重置了下vps就发生了这种情况

      1. 你好 现在想配置的话 小白推荐用哪个脚本呢。 原来可以用的12号左右突然不能用了…

  12. 我能在网页端正常打开伪装域名,但是安装VLESS+WS+TLS脚本仍然提示域名未解析到当前服务器IP是怎么回事?

  13. 伪装域名(host):t.zize.xyz
    t.zro.xyz 解析结果:
    404 Not Found

    404 Not Found
    nginx

    域名未解析到当前服务器IP(45.4.228)!

  14. 请输入伪装域名:007.just4fun.vip
    伪装域名(host):007.just4fun.vip
    007.just4fun.vip 解析结果:
    404 Not Found

    404 Not Found
    nginx

    域名未解析到当前服务器IP(192.248.159.55)!
    你好 之前用这个一键脚本都没问题的,最近每次做伪装域名这里就卡住了(出现上面这种情况),可是之前都一模一样的操作已经建成功过的了,真的非常困扰,希望得到你的回答

          1. 太好了,希望您能更新V2Ray一键脚本这个脚本,这样就可以运行WordPress一键脚本了.

    1. V2RAY脚本,出现域名未解析到当前服务器IP问题
      wget 下载该v2ray脚本,文本编辑器打开后CTRL+F 搜索 “域名未解析到当前服务器IP”
      替换上面的一句代码
      resolve=`curl -sL https://hijk.art/hostip.php?d=${DOMAIN}`

      resolve=$(curl -sm8 ipget.net/?ip=${DOMAIN})
      即可,这是作者隔壁的xray脚本的域名解析API

  15. 解析正确,安装到V2rayN 上显示这个?是这个脚本不能用了吗?
    main: failed to create server > v2ray.com/core/proxy/vmess/outbound: failed to parse server spec > v2ray.com/core/proxy/vmess: failed to parse ID > invalid UUID: 185.186.146.35

发表回复

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