Categories
V2ray

v2ray最快手动纯净部署

v2ray+vmess/vless+tls+websocket+nginx最快手动纯净部署

第二部分 [ 一键批处理安装v2ray ]

curl -s https://raw.githubusercontent.com/HappyLife-page/v2ray/main/v2ray_installation_vmess.sh | bash -s vmess.v2ray.one vless

vmess.v2ray.one 改为你的解析好的域名即可
如果域名后指定vless,则配置vless协议,不写则默认为vmess协议

只需要等待30s左右,服务器网络好的话会更快

你可以打开链接https://raw.githubusercontent.com/HappyLife-page/v2ray/main/v2ray_installation_vmess.sh直接查看批处理的完整内容,这里粘贴原始批处理如下:

#!/bin/bash
# Auth: happylife
# Desc: v2ray installation script
# Plat: ubuntu 18.04+
# Eg  : bash v2ray_installation_vmess.sh "你的域名" [vless]

if [ -z "$1" ];then
	echo "域名不能为空"
	exit
fi


# 配置系统时区为东八区
rm -f /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


# 使用ubuntu官方源安装nginx和依赖包并设置开机启动
apt update
apt install nginx curl pwgen openssl netcat cron -y
systemctl enable nginx
systemctl start nginx


# 开始部署之前,我们先配置一下需要用到的参数,如下:
# "域名,端口,uuid,ws路径,ssl证书目录"
# 1.设置你的解析好的域名
domainName="$1"
# 2.随机生成v2ray需要用到的服务端口
port="`shuf -i 20000-65000 -n 1`"
# 3.随机生成一个uuid
uuid="`uuidgen`"
# 4.随机生成一个websocket需要使用的path
path="/`pwgen -A0 6 8 | xargs |sed 's/ /\//g'`"
# 5.以时间为基准随机创建一个存放ssl证书的目录
ssl_dir="$(mkdir -pv "/usr/local/etc/v2ray/ssl/`date +"%F-%H-%M-%S"`" |awk -F"'" END'{print $2}')"
# 6.定义nginx和v2ray配置文件路径
nginxConfig="/etc/nginx/conf.d/v2ray.conf"
v2rayConfig="/usr/local/etc/v2ray/config.json"


# 使用v2ray官方命令安装v2ray并设置开机启动
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --version 5.1.0
systemctl enable v2ray


# 修正官方5.1+版本安装脚本启动命令错误
grep -r 'v2ray -config' /etc/systemd/system/* | cut -d: -f1 | xargs -i sed -i 's/v2ray -config/v2ray run -config/' {}
systemctl daemon-reload


##安装acme,并申请加密证书
source ~/.bashrc
if nc -z localhost 443;then /etc/init.d/nginx stop;fi
if ! [ -d /root/.acme.sh ];then curl https://get.acme.sh | sh;fi
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
~/.acme.sh/acme.sh --issue -d "$domainName" -k ec-256 --alpn
~/.acme.sh/acme.sh --installcert -d "$domainName" --fullchainpath $ssl_dir/v2ray.crt --keypath $ssl_dir/v2ray.key --ecc
chown www-data.www-data $ssl_dir/v2ray.*


## 把续签证书命令添加到计划任务
echo -n '#!/bin/bash
/etc/init.d/nginx stop
"/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" &> /root/renew_ssl.log
/etc/init.d/nginx start
' > /usr/local/bin/ssl_renew.sh
chmod +x /usr/local/bin/ssl_renew.sh
(crontab -l;echo "15 03 */3 * * /usr/local/bin/ssl_renew.sh") | crontab


# 配置nginx,执行如下命令即可添加nginx配置文件
echo "
server {
	listen 80;
	server_name "$domainName";
	return 301 https://"'$host'""'$request_uri'";
}
server {
	listen 443 ssl http2 default_server;
	listen [::]:443 ssl http2 default_server;
	server_name "$domainName";
	ssl_certificate $ssl_dir/v2ray.crt;
	ssl_certificate_key $ssl_dir/v2ray.key;
	ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
	ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
	root /usr/share/nginx/html;
	
	location "$path" {
		proxy_redirect off;
		proxy_pass http://127.0.0.1:"$port";
		proxy_http_version 1.1;
		proxy_set_header Upgrade "'"$http_upgrade"'";
		proxy_set_header Connection '"'upgrade'"';
		proxy_set_header Host "'"$http_host"'";
	}
}
" > $nginxConfig


# 配置v2ray,执行如下命令即可添加v2ray配置文件
echo '
{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": '$port',
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "decryption":"none",
      "clients": [
        {
          "id": '"\"$uuid\""',
          "level": 1
        }
      ]
    },
   "streamSettings":{
      "network": "ws",
      "wsSettings": {
           "path": '"\"$path\""'
      }
   }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {
      "decryption":"none"
    }
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {
        "decryption":"none"
      },
      "tag": "blocked"
    }
  ],
  "routing": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "domain": [
              "geosite:cn"
          ],
          "outboundTag": "blocked",
          "type": "field"
        },      
        {
            "ip": [
                "geoip:cn"
            ],
            "outboundTag": "blocked",
            "type": "field"
        }
      ]
  }
}
' > $v2rayConfig


# 默认配置vmess协议,如果指定vless协议则配置vless协议
[ "vless" = "$2" ] && sed -i 's/vmess/vless/' $v2rayConfig


# 重启v2ray和nginx
systemctl restart v2ray
systemctl status -l v2ray
/usr/sbin/nginx -t && systemctl restart nginx


# 输出配置信息
echo
echo "域名: $domainName"
echo "端口: 443"
echo "UUID: $uuid"
[ "vless" = "$2" ] && echo "协议:vless" || echo "额外ID: 0"
echo "安全: tls"
echo "传输: websocket"
echo "路径: $path"

对比该批处理和第一部分的手动纯净安装内容你会发现,哟,内容基本都是一样的吗???

没错,以“#”开头的都是注释,你完全可以把第一部分的内容当作脚本的内容复制粘贴到你的命令行终端 执行即可

唯一的区别就是:一键批处理后面跟上你的域名,而手动安装需要手动设置你的域名。没错,就是这样简单,还在等什么?赶快开一台测试机试试手吧,你也可以成为安乐侯!

我所做的就是整合了那些可以命令执行的操作到批处理里,方便快速部署配置,而不用再手动操作每一个步骤那么麻烦!!!

现在开始,丢掉你每次一行一行执行命令的烦恼,快来试试吧~

声明:

本批处理开源,任何人都可以拿去修改,再发!

另外对批处理感兴趣的朋友,这是一个入门学习的好材料哦

项目地址: https://github.com/HappyLife-page/v2ray

31 replies on “v2ray最快手动纯净部署”

acme.sh作者更新了acme.sh版本为3.0,默认ssl证书供应商已更换,修改了申请证书的规则。我这里已同步修正脚本,现测试无问题,你可以再试试~

首先你需要明白cloudflare代理模式的结构:
browser——cloudflare——server

所以你需要修改cloudflare的ssl模式为full
默认的flexible模式表:
browser——cloudflare加密,而cloudflare——server不加密
你v2ray是加密服务,所以cloudflare和server线路之间不加密根本无法连接

full模式表:browser——cloudflare——server 之间都加密

大佬你好,我想按照你的教程写一个shell脚本,并使用teddysun的v2ray docker,脚本运行后,nginx和dokcer都能正常启动,但是节点无法使用,测速显示链接超时,请问能帮我看下有啥问题吗,感谢
脚本见:https://notepad.pw/code/41ncqsmwt

浏览器打开域名查看默认站点能否打开
默认站点无问题的话看证书是否生效
具体问题你可以发出来错误日志看看

wspath=$(cat /dev/urandom | head -1 | md5sum | head -c 5)
这里是错误的,改为如下试试
wspath=”`cat /dev/urandom | head -1 | md5sum | head -c 5`”

非常感谢大佬的分享,照视频部署直接就成功了,但是感觉响应有点慢,速度也不是很好,有什么办法提升下么,额外id已经让我改成1了

vultr的大多中国周边的云服务(韩国,日本,新加坡等)貌似网络都非常不好,延迟100左右是可以,但是关键丢包严重(启动一台新vps后应该首先从本地ping测,关键看是否丢包,延迟200左右都没为题,所以你看到视频里播主用的就是欧洲的)
目前我这里了解到的最具性价比的vps有: Amazon的Lightsail,阿里轻量云,腾讯轻量云
任何时间段网络都超好的只有谷歌云香港
你可以考虑 腾讯轻量云香港,阿里轻量香港,Amazon的Lightsail的日本或新加坡

非常感谢你的耐心回复,我用了vultr的美国服务器尝试了下,速度上来了,丢包也很低,过两天尝试下腾讯或阿里的轻量。
另外,关于v2ray,我想除了ws再添加个tcl的协议可以么,我有的软件走的tcl协议,不知道现在的协议规则能不能支持tcl协议

websocket属于应用层(第7层)协议,以TCP协议(第4层)为基础,他们之间并不矛盾
websocket应该和http做对比。http是无状态单向协议,而websocket是有状态双向协议
所以v2ray使用websocket协议是比较优的方案
你不需要再修改你的配置

大老能出一期x-ui面板的安装教程吗?最近一直在搞这个,一直卡在证书审请和nginx的配置上面。

真·最快最无脑的tls+ws+nginx的v2ray部署方式了,一路复制粘贴下来没报任何错(除了几个环境变量是自己手动设的),太丝滑了,感谢PO主

今天使用这个批处理脚本好像有问题,不管是搭建VMESS 还是VLESS节点都不通,不能正常使用。一开始还以为是路径的问题。生成路径是这样的路径: /uwaemo/vejaez/ughome/ciejoo/queofu/exohno/daegem/uofahx

路径是随机生成的,每个人每次执行都不一样,如果使用的是v2rayN最新版,需要右上角选择内核类型;如果有错误日志发出来最好

PO主这篇文章真的太棒了!有深入浅出的讲解,有懒人一键的脚本!一次过,NB!还有两个问题想跟博主探讨下,我的便宜域名只有一年的有效期,一年后就要换别的便宜域名,假定不更换服务器,需要改哪些内容?证书和nginx配置的?有没有办法不用域名改用固定IP?以及,这里的nginx是起到什么作用的,v2ray是在nginx之后的吗?

不更换服务,只更换域名,需要重新申请证书,并且修改nginx配置和acme配置。生不带来死不带去。一支域名年付10美金而已。另外该方案必须要使用域名。nginx的作用是一个代理;对于gfw来说nginx像是一个web服务,并且是https的,符合当前web主流标准。v2ray是在nginx之后

谢谢博主!但感觉我这刚用了几天,就被gfw干掉了……博主知道有哪些方法可以帮助判断问题出在自己配置还是gfw上

我在客户端电脑上上创建套接字尝试去连接服务端的443端口失败了,但是80端口,22端口都能连接成功,PO主能帮忙分析下可能的原因不T_T,C++程序员对nginx实在是不了解,也不知道怎么看nginx的日志/配置啥的

另外我之前在用Trojian的时候,有篇教程说应该把正常流量的80端口、443端口做一个简单的网页,更有欺骗性,不知道v2ray有这个必要吗?

Leave a Reply

Your email address will not be published.