feat(脚本): 重构README、单独安装5时不再安装nginx、acme.sh 、添加utls、修改全部安装后个性化安装协议没有删除的问题、修改定时脚本日志错误的问题
parent
13c65c9b70
commit
c78f1dc2d6
85
README.md
85
README.md
|
@ -1,36 +1,30 @@
|
||||||
# v2ray-agent
|
# v2ray-agent
|
||||||
|
|
||||||
> [感谢 JetBrains 提供的非商业开源软件开发授权](https://www.jetbrains.com/?from=v2ray-agent)
|
- [感谢 JetBrains 提供的非商业开源软件开发授权](https://www.jetbrains.com/?from=v2ray-agent)
|
||||||
|
- [Thanks for non-commercial open source development authorization by JetBrains](https://www.jetbrains.com/?from=v2ray-agent)
|
||||||
|
|
||||||
> [Thanks for non-commercial open source development authorization by JetBrains](https://www.jetbrains.com/?from=v2ray-agent)
|
- [English Version](https://github.com/mack-a/v2ray-agent/blob/master/documents/en/README_EN.md)
|
||||||
|
|
||||||
> [English Version](https://github.com/mack-a/v2ray-agent/blob/master/documents/en/README_EN.md)
|
|
||||||
|
|
||||||
- [官方网站](https://www.v2ray-agent.com/)、[Telegram群](https://t.me/technologyshare)、[Telegram Channel](https://t.me/v2rayAgentChannel)
|
|
||||||
- [VPS选购指南](https://www.v2ray-agent.com/archives/1679975663984)
|
- [VPS选购指南](https://www.v2ray-agent.com/archives/1679975663984)
|
||||||
|
|
||||||
- [ChatGPT解锁](https://www.v2ray-agent.com/archives/olinkshen-du-ce-ping)
|
- [ChatGPT解锁](https://www.v2ray-agent.com/archives/olinkshen-du-ce-ping)
|
||||||
|
|
||||||
- **请给个⭐支持一下**
|
- **请给个⭐支持一下**
|
||||||
|
|
||||||
|
<details><summary>项目介绍</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
# 项目介绍
|
|
||||||
- Xray-core/v2ray-core一键安装脚本
|
- Xray-core/v2ray-core一键安装脚本
|
||||||
- 支持多种传输协议,包括VLESS、VMess、Trojan和Hysteria,支持多种协议组合。
|
- 支持多种传输协议,包括VLESS、VMess、Trojan和Hysteria,支持多种协议组合。
|
||||||
- 支持自动申请和更新SSL证书,并且提供了一个伪装站点。详情请查看[官方网站](https://www.v2ray-agent.com/archives/1679931532764)
|
- 支持自动申请和更新SSL证书,并且提供了一个伪装站点。详情请查看[官方网站](https://www.v2ray-agent.com/archives/1679931532764)
|
||||||
- [支持无需域名的VLESS Reality特性](https://www.v2ray-agent.com/archives/1680104902581)
|
- [支持无需域名的VLESS Reality特性](https://www.v2ray-agent.com/archives/1680104902581)
|
||||||
- [脚本使用教程推荐](https://www.v2ray-agent.com/categories/jiao-cheng)
|
- [脚本使用教程推荐](https://www.v2ray-agent.com/categories/jiao-cheng)
|
||||||
- [Reality教程和介绍【推荐阅读】](https://www.v2ray-agent.com/archives/1680104902581)
|
- [Reality教程和介绍【推荐阅读】](https://www.v2ray-agent.com/archives/1680104902581)
|
||||||
|
</details>
|
||||||
|
|
||||||
# 线路推荐
|
|
||||||
|
|
||||||
- [CN2 GIA](https://www.v2ray-agent.com/categories/vps)
|
<details><summary>快速开始</summary>
|
||||||
- [AS9929](https://www.v2ray-agent.com/categories/vps)
|
<br/>
|
||||||
- [AS4837](https://www.v2ray-agent.com/categories/vps)
|
|
||||||
- [日本软银](https://www.v2ray-agent.com/categories/vps)
|
|
||||||
- [CMI](https://www.v2ray-agent.com/categories/vps)
|
|
||||||
|
|
||||||
# 安装脚本
|
## 1.安装脚本
|
||||||
|
|
||||||
- 支持快捷方式启动,安装完毕后,shell输入【**vasma**】即可打开脚本,脚本执行路径[**/etc/v2ray-agent/install.sh**]
|
- 支持快捷方式启动,安装完毕后,shell输入【**vasma**】即可打开脚本,脚本执行路径[**/etc/v2ray-agent/install.sh**]
|
||||||
|
|
||||||
|
@ -44,29 +38,56 @@ wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-
|
||||||
```
|
```
|
||||||
wget -P /root -N --no-check-certificate "https://www.v2ray-agent.com/v2ray-agent/install.sh" && chmod 700 /root/install.sh && /root/install.sh
|
wget -P /root -N --no-check-certificate "https://www.v2ray-agent.com/v2ray-agent/install.sh" && chmod 700 /root/install.sh && /root/install.sh
|
||||||
```
|
```
|
||||||
|
## 2.一图版教程
|
||||||
# 反馈和建议
|
|
||||||
|
|
||||||
- 如果您在使用过程中遇到任何问题或者有任何建议,欢迎在这里提交[issue](https://github.com/mack-a/v2ray-agent/issues),或者[加入](https://t.me/technologyshare)这个电报群进行交流。
|
|
||||||
|
|
||||||
|
|
||||||
# 捐赠
|
|
||||||
|
|
||||||
[您可以使用我的AFF进行购买VPS捐赠-官网](https://www.v2ray-agent.com/categories/vps)
|
|
||||||
|
|
||||||
[您可以使用我的AFF进行购买VPS捐赠-Github](https://github.com/mack-a/v2ray-agent/blob/master/documents/donation_aff.md)
|
|
||||||
|
|
||||||
[支持通过虚拟币向我捐赠](https://www.v2ray-agent.com/1679123834836)
|
|
||||||
|
|
||||||
|
|
||||||
# 示例图
|
|
||||||
|
|
||||||
<img src="https://raw.githubusercontent.com/mack-a/v2ray-agent/master/fodder/install/install.jpg" width=700>
|
<img src="https://raw.githubusercontent.com/mack-a/v2ray-agent/master/fodder/install/install.jpg" width=700>
|
||||||
|
|
||||||
# 许可证
|
</details>
|
||||||
|
|
||||||
|
<details><summary>VPS线路推荐</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
> 推荐使用以下VPS线路,您将享受到更优质的使用体验。即使再好的协议也比不上一个高品质的VPS。因此,推荐以下VPS线路
|
||||||
|
|
||||||
|
- [CN2 GIA](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
- [AS9929](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
- [AS4837](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
- [日本软银](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
- [CMI](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details><summary>反馈和建议</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
- 如果您在使用过程中遇到任何问题或者有任何建议,欢迎在这里提交[issue](https://github.com/mack-a/v2ray-agent/issues),或者[加入](https://t.me/technologyshare)这个电报群进行交流。
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details><summary>联系我</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
- [官方网站](https://www.v2ray-agent.com/)、[Telegram群](https://t.me/technologyshare)、[Telegram Channel](https://t.me/v2rayAgentChannel)
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details><summary>捐赠</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
- 感谢您对开源项目的关注和支持。一直在努力开发和完善这个项目。如果您觉得这个项目对您有帮助,欢迎通过以下方式进行捐赠。
|
||||||
|
|
||||||
|
[购买VPS捐赠](https://www.v2ray-agent.com/categories/vps)
|
||||||
|
|
||||||
|
[通过虚拟币向我捐赠](https://www.v2ray-agent.com/1679123834836)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<details><summary>许可证</summary>
|
||||||
|
<br/>
|
||||||
|
|
||||||
[AGPL-3.0](https://github.com/mack-a/v2ray-agent/blob/master/LICENSE)
|
[AGPL-3.0](https://github.com/mack-a/v2ray-agent/blob/master/LICENSE)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
## Stargazers over time
|
## Stargazers over time
|
||||||
|
|
||||||
[![Stargazers over time](https://starchart.cc/mack-a/v2ray-agent.svg)](https://starchart.cc/mack-a/v2ray-agent)
|
[![Stargazers over time](https://starchart.cc/mack-a/v2ray-agent.svg)](https://starchart.cc/mack-a/v2ray-agent)
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.2 MiB |
128
install.sh
128
install.sh
|
@ -801,25 +801,29 @@ installTools() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 检测nginx版本,并提供是否卸载的选项
|
# 检测nginx版本,并提供是否卸载的选项
|
||||||
|
if [[ "${selectCustomInstallType}" == "7" ]]; then
|
||||||
if ! find /usr/bin /usr/sbin | grep -q -w nginx; then
|
echoContent green " ---> 检测到无需依赖Nginx的服务,跳过安装"
|
||||||
echoContent green " ---> 安装nginx"
|
|
||||||
installNginxTools
|
|
||||||
else
|
else
|
||||||
nginxVersion=$(nginx -v 2>&1)
|
if ! find /usr/bin /usr/sbin | grep -q -w nginx; then
|
||||||
nginxVersion=$(echo "${nginxVersion}" | awk -F "[n][g][i][n][x][/]" '{print $2}' | awk -F "[.]" '{print $2}')
|
echoContent green " ---> 安装nginx"
|
||||||
if [[ ${nginxVersion} -lt 14 ]]; then
|
installNginxTools
|
||||||
read -r -p "读取到当前的Nginx版本不支持gRPC,会导致安装失败,是否卸载Nginx后重新安装 ?[y/n]:" unInstallNginxStatus
|
else
|
||||||
if [[ "${unInstallNginxStatus}" == "y" ]]; then
|
nginxVersion=$(nginx -v 2>&1)
|
||||||
${removeType} nginx >/dev/null 2>&1
|
nginxVersion=$(echo "${nginxVersion}" | awk -F "[n][g][i][n][x][/]" '{print $2}' | awk -F "[.]" '{print $2}')
|
||||||
echoContent yellow " ---> nginx卸载完成"
|
if [[ ${nginxVersion} -lt 14 ]]; then
|
||||||
echoContent green " ---> 安装nginx"
|
read -r -p "读取到当前的Nginx版本不支持gRPC,会导致安装失败,是否卸载Nginx后重新安装 ?[y/n]:" unInstallNginxStatus
|
||||||
installNginxTools >/dev/null 2>&1
|
if [[ "${unInstallNginxStatus}" == "y" ]]; then
|
||||||
else
|
${removeType} nginx >/dev/null 2>&1
|
||||||
exit 0
|
echoContent yellow " ---> nginx卸载完成"
|
||||||
|
echoContent green " ---> 安装nginx"
|
||||||
|
installNginxTools >/dev/null 2>&1
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! find /usr/bin /usr/sbin | grep -q -w semanage; then
|
if ! find /usr/bin /usr/sbin | grep -q -w semanage; then
|
||||||
echoContent green " ---> 安装semanage"
|
echoContent green " ---> 安装semanage"
|
||||||
${installType} bash-completion >/dev/null 2>&1
|
${installType} bash-completion >/dev/null 2>&1
|
||||||
|
@ -838,22 +842,26 @@ installTools() {
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [[ "${selectCustomInstallType}" == "7" ]]; then
|
||||||
|
echoContent green " ---> 检测到无需依赖证书的服务,跳过安装"
|
||||||
|
else
|
||||||
|
if [[ ! -d "$HOME/.acme.sh" ]] || [[ -d "$HOME/.acme.sh" && -z $(find "$HOME/.acme.sh/acme.sh") ]]; then
|
||||||
|
echoContent green " ---> 安装acme.sh"
|
||||||
|
curl -s https://get.acme.sh | sh >/etc/v2ray-agent/tls/acme.log 2>&1
|
||||||
|
|
||||||
if [[ ! -d "$HOME/.acme.sh" ]] || [[ -d "$HOME/.acme.sh" && -z $(find "$HOME/.acme.sh/acme.sh") ]]; then
|
if [[ ! -d "$HOME/.acme.sh" ]] || [[ -z $(find "$HOME/.acme.sh/acme.sh") ]]; then
|
||||||
echoContent green " ---> 安装acme.sh"
|
echoContent red " acme安装失败--->"
|
||||||
curl -s https://get.acme.sh | sh >/etc/v2ray-agent/tls/acme.log 2>&1
|
tail -n 100 /etc/v2ray-agent/tls/acme.log
|
||||||
|
echoContent yellow "错误排查:"
|
||||||
if [[ ! -d "$HOME/.acme.sh" ]] || [[ -z $(find "$HOME/.acme.sh/acme.sh") ]]; then
|
echoContent red " 1.获取Github文件失败,请等待Github恢复后尝试,恢复进度可查看 [https://www.githubstatus.com/]"
|
||||||
echoContent red " acme安装失败--->"
|
echoContent red " 2.acme.sh脚本出现bug,可查看[https://github.com/acmesh-official/acme.sh] issues"
|
||||||
tail -n 100 /etc/v2ray-agent/tls/acme.log
|
echoContent red " 3.如纯IPv6机器,请设置NAT64,可执行下方命令"
|
||||||
echoContent yellow "错误排查:"
|
echoContent skyBlue " echo -e \"nameserver 2001:67c:2b0::4\\\nnameserver 2001:67c:2b0::6\" >> /etc/resolv.conf"
|
||||||
echoContent red " 1.获取Github文件失败,请等待Github恢复后尝试,恢复进度可查看 [https://www.githubstatus.com/]"
|
exit 0
|
||||||
echoContent red " 2.acme.sh脚本出现bug,可查看[https://github.com/acmesh-official/acme.sh] issues"
|
fi
|
||||||
echoContent red " 3.如纯IPv6机器,请设置NAT64,可执行下方命令"
|
|
||||||
echoContent skyBlue " echo -e \"nameserver 2001:67c:2b0::4\\\nnameserver 2001:67c:2b0::6\" >> /etc/resolv.conf"
|
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 安装Nginx
|
# 安装Nginx
|
||||||
|
@ -3161,6 +3169,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/04_trojan_TCP_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# VLESS_WS_TLS
|
# VLESS_WS_TLS
|
||||||
|
@ -3190,6 +3200,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/03_VLESS_WS_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# trojan_grpc
|
# trojan_grpc
|
||||||
|
@ -3223,6 +3235,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/04_trojan_gRPC_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# VMess_WS
|
# VMess_WS
|
||||||
|
@ -3251,6 +3265,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/05_VMess_WS_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if echo "${selectCustomInstallType}" | grep -q 5 || [[ "$1" == "all" ]]; then
|
if echo "${selectCustomInstallType}" | grep -q 5 || [[ "$1" == "all" ]]; then
|
||||||
|
@ -3276,6 +3292,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/06_VLESS_gRPC_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
# VLESS Vision
|
# VLESS Vision
|
||||||
if echo "${selectCustomInstallType}" | grep -q 0 || [[ "$1" == "all" ]]; then
|
if echo "${selectCustomInstallType}" | grep -q 0 || [[ "$1" == "all" ]]; then
|
||||||
|
@ -3317,6 +3335,8 @@ EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/02_VLESS_TCP_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# VLESS_TCP/reality
|
# VLESS_TCP/reality
|
||||||
|
@ -3394,6 +3414,9 @@ EOF
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
else
|
||||||
|
rm /etc/v2ray-agent/xray/conf/07_VLESS_vision_reality_inbounds.json >/dev/null 2>&1
|
||||||
|
rm /etc/v2ray-agent/xray/conf/08_VLESS_reality_fallback_grpc_inbounds.json >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
# 初始化Xray Reality配置
|
# 初始化Xray Reality配置
|
||||||
|
@ -3440,12 +3463,12 @@ defaultBase64Code() {
|
||||||
|
|
||||||
if [[ "${coreInstallType}" == "1" ]] && echo "${currentInstallProtocolType}" | grep -q 0; then
|
if [[ "${coreInstallType}" == "1" ]] && echo "${currentInstallProtocolType}" | grep -q 0; then
|
||||||
echoContent yellow " ---> 通用格式(VLESS+TCP+TLS_Vision)"
|
echoContent yellow " ---> 通用格式(VLESS+TCP+TLS_Vision)"
|
||||||
echoContent green " vless://${id}@${currentHost}:${currentDefaultPort}?encryption=none&security=tls&type=tcp&host=${currentHost}&headerType=none&sni=${currentHost}&flow=xtls-rprx-vision#${email}\n"
|
echoContent green " vless://${id}@${currentHost}:${currentDefaultPort}?encryption=none&security=tls&fp=chrome&type=tcp&host=${currentHost}&headerType=none&sni=${currentHost}&flow=xtls-rprx-vision#${email}\n"
|
||||||
|
|
||||||
echoContent yellow " ---> 格式化明文(VLESS+TCP+TLS_Vision)"
|
echoContent yellow " ---> 格式化明文(VLESS+TCP+TLS_Vision)"
|
||||||
echoContent green "协议类型:VLESS,地址:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,传输方式:tcp,flow:xtls-rprx-vision,账户名:${email}\n"
|
echoContent green "协议类型:VLESS,地址:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,client-fingerprint: chrome,传输方式:tcp,flow:xtls-rprx-vision,账户名:${email}\n"
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
vless://${id}@${currentHost}:${currentDefaultPort}?encryption=none&security=tls&type=tcp&host=${currentHost}&headerType=none&sni=${currentHost}&flow=xtls-rprx-vision#${email}
|
vless://${id}@${currentHost}:${currentDefaultPort}?encryption=none&security=tls&type=tcp&host=${currentHost}&fp=chrome&headerType=none&sni=${currentHost}&flow=xtls-rprx-vision#${email}
|
||||||
EOF
|
EOF
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||||
- name: "${email}"
|
- name: "${email}"
|
||||||
|
@ -3460,19 +3483,19 @@ EOF
|
||||||
client-fingerprint: chrome
|
client-fingerprint: chrome
|
||||||
EOF
|
EOF
|
||||||
echoContent yellow " ---> 二维码 VLESS(VLESS+TCP+TLS_Vision)"
|
echoContent yellow " ---> 二维码 VLESS(VLESS+TCP+TLS_Vision)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentHost}%3A${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26type%3Dtcp%26${currentHost}%3D${currentHost}%26headerType%3Dnone%26sni%3D${currentHost}%26flow%3Dxtls-rprx-vision%23${email}\n"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentHost}%3A${currentDefaultPort}%3Fencryption%3Dnone%26fp%3Dchrome%26security%3Dtls%26type%3Dtcp%26${currentHost}%3D${currentHost}%26headerType%3Dnone%26sni%3D${currentHost}%26flow%3Dxtls-rprx-vision%23${email}\n"
|
||||||
elif [[ "${coreInstallType}" == 2 ]]; then
|
elif [[ "${coreInstallType}" == 2 ]]; then
|
||||||
echoContent yellow " ---> 通用格式(VLESS+TCP+TLS)"
|
echoContent yellow " ---> 通用格式(VLESS+TCP+TLS)"
|
||||||
echoContent green " vless://${id}@${currentHost}:${currentDefaultPort}?security=tls&encryption=none&host=${currentHost}&headerType=none&type=tcp#${email}\n"
|
echoContent green " vless://${id}@${currentHost}:${currentDefaultPort}?security=tls&encryption=none&host=${currentHost}&fp=chrome&headerType=none&type=tcp#${email}\n"
|
||||||
|
|
||||||
echoContent yellow " ---> 格式化明文(VLESS+TCP+TLS)"
|
echoContent yellow " ---> 格式化明文(VLESS+TCP+TLS)"
|
||||||
echoContent green " 协议类型:VLESS,地址:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,传输方式:tcp,账户名:${email}\n"
|
echoContent green " 协议类型:VLESS,地址:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,client-fingerprint: chrome,传输方式:tcp,账户名:${email}\n"
|
||||||
|
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
vless://${id}@${currentHost}:${currentDefaultPort}?security=tls&encryption=none&host=${currentHost}&headerType=none&type=tcp#${email}
|
vless://${id}@${currentHost}:${currentDefaultPort}?security=tls&encryption=none&host=${currentHost}&fp=chrome&headerType=none&type=tcp#${email}
|
||||||
EOF
|
EOF
|
||||||
echoContent yellow " ---> 二维码 VLESS(VLESS+TCP+TLS)"
|
echoContent yellow " ---> 二维码 VLESS(VLESS+TCP+TLS)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3a%2f%2f${id}%40${currentHost}%3a${currentDefaultPort}%3fsecurity%3dtls%26encryption%3dnone%26host%3d${currentHost}%26headerType%3dnone%26type%3dtcp%23${email}\n"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3a%2f%2f${id}%40${currentHost}%3a${currentDefaultPort}%3fsecurity%3dtls%26encryption%3dnone%26fp%3Dchrome%26host%3d${currentHost}%26headerType%3dnone%26type%3dtcp%23${email}\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [[ "${type}" == "trojanTCPXTLS" ]]; then
|
elif [[ "${type}" == "trojanTCPXTLS" ]]; then
|
||||||
|
@ -3523,13 +3546,13 @@ EOF
|
||||||
elif [[ "${type}" == "vlessws" ]]; then
|
elif [[ "${type}" == "vlessws" ]]; then
|
||||||
|
|
||||||
echoContent yellow " ---> 通用格式(VLESS+WS+TLS)"
|
echoContent yellow " ---> 通用格式(VLESS+WS+TLS)"
|
||||||
echoContent green " vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=ws&host=${currentHost}&sni=${currentHost}&path=/${currentPath}ws#${email}\n"
|
echoContent green " vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=ws&host=${currentHost}&sni=${currentHost}&fp=chrome&path=/${currentPath}ws#${email}\n"
|
||||||
|
|
||||||
echoContent yellow " ---> 格式化明文(VLESS+WS+TLS)"
|
echoContent yellow " ---> 格式化明文(VLESS+WS+TLS)"
|
||||||
echoContent green " 协议类型:VLESS,地址:${currentAdd},伪装域名/SNI:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,传输方式:ws,路径:/${currentPath}ws,账户名:${email}\n"
|
echoContent green " 协议类型:VLESS,地址:${currentAdd},伪装域名/SNI:${currentHost},端口:${currentDefaultPort},client-fingerprint: chrome,用户ID:${id},安全:tls,传输方式:ws,路径:/${currentPath}ws,账户名:${email}\n"
|
||||||
|
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=ws&host=${currentHost}&sni=${currentHost}&path=/${currentPath}ws#${email}
|
vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=ws&host=${currentHost}&sni=${currentHost}&fp=chrome&path=/${currentPath}ws#${email}
|
||||||
EOF
|
EOF
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||||
- name: "${email}"
|
- name: "${email}"
|
||||||
|
@ -3549,29 +3572,29 @@ EOF
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echoContent yellow " ---> 二维码 VLESS(VLESS+WS+TLS)"
|
echoContent yellow " ---> 二维码 VLESS(VLESS+WS+TLS)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentAdd}%3A${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26type%3Dws%26host%3D${currentHost}%26sni%3D${currentHost}%26path%3D%252f${currentPath}ws%23${email}"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentAdd}%3A${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26type%3Dws%26host%3D${currentHost}%26fp%3Dchrome%26sni%3D${currentHost}%26path%3D%252f${currentPath}ws%23${email}"
|
||||||
|
|
||||||
elif [[ "${type}" == "vlessgrpc" ]]; then
|
elif [[ "${type}" == "vlessgrpc" ]]; then
|
||||||
|
|
||||||
echoContent yellow " ---> 通用格式(VLESS+gRPC+TLS)"
|
echoContent yellow " ---> 通用格式(VLESS+gRPC+TLS)"
|
||||||
echoContent green " vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=grpc&host=${currentHost}&path=${currentPath}grpc&serviceName=${currentPath}grpc&alpn=h2&sni=${currentHost}#${email}\n"
|
echoContent green " vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=grpc&host=${currentHost}&path=${currentPath}grpc&fp=chrome&serviceName=${currentPath}grpc&alpn=h2&sni=${currentHost}#${email}\n"
|
||||||
|
|
||||||
echoContent yellow " ---> 格式化明文(VLESS+gRPC+TLS)"
|
echoContent yellow " ---> 格式化明文(VLESS+gRPC+TLS)"
|
||||||
echoContent green " 协议类型:VLESS,地址:${currentAdd},伪装域名/SNI:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,传输方式:gRPC,alpn:h2,serviceName:${currentPath}grpc,账户名:${email}\n"
|
echoContent green " 协议类型:VLESS,地址:${currentAdd},伪装域名/SNI:${currentHost},端口:${currentDefaultPort},用户ID:${id},安全:tls,传输方式:gRPC,alpn:h2,client-fingerprint: chrome,serviceName:${currentPath}grpc,账户名:${email}\n"
|
||||||
|
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=grpc&host=${currentHost}&path=${currentPath}grpc&serviceName=${currentPath}grpc&alpn=h2&sni=${currentHost}#${email}
|
vless://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&security=tls&type=grpc&host=${currentHost}&path=${currentPath}grpc&serviceName=${currentPath}grpc&fp=chrome&alpn=h2&sni=${currentHost}#${email}
|
||||||
EOF
|
EOF
|
||||||
echoContent yellow " ---> 二维码 VLESS(VLESS+gRPC+TLS)"
|
echoContent yellow " ---> 二维码 VLESS(VLESS+gRPC+TLS)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentAdd}%3A${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26type%3Dgrpc%26host%3D${currentHost}%26serviceName%3D${currentPath}grpc%26path%3D${currentPath}grpc%26sni%3D${currentHost}%26alpn%3Dh2%23${email}"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=vless%3A%2F%2F${id}%40${currentAdd}%3A${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26type%3Dgrpc%26host%3D${currentHost}%26serviceName%3D${currentPath}grpc%26fp%3Dchrome%26path%3D${currentPath}grpc%26sni%3D${currentHost}%26alpn%3Dh2%23${email}"
|
||||||
|
|
||||||
elif [[ "${type}" == "trojan" ]]; then
|
elif [[ "${type}" == "trojan" ]]; then
|
||||||
# URLEncode
|
# URLEncode
|
||||||
echoContent yellow " ---> Trojan(TLS)"
|
echoContent yellow " ---> Trojan(TLS)"
|
||||||
echoContent green " trojan://${id}@${currentHost}:${currentDefaultPort}?peer=${currentHost}&sni=${currentHost}&alpn=http/1.1#${currentHost}_Trojan\n"
|
echoContent green " trojan://${id}@${currentHost}:${currentDefaultPort}?peer=${currentHost}&fp=chrome&sni=${currentHost}&alpn=http/1.1#${currentHost}_Trojan\n"
|
||||||
|
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
trojan://${id}@${currentHost}:${currentDefaultPort}?peer=${currentHost}&sni=${currentHost}&alpn=http/1.1#${email}_Trojan
|
trojan://${id}@${currentHost}:${currentDefaultPort}?peer=${currentHost}&fp=chrome&sni=${currentHost}&alpn=http/1.1#${email}_Trojan
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||||
|
@ -3585,15 +3608,15 @@ EOF
|
||||||
sni: ${currentHost}
|
sni: ${currentHost}
|
||||||
EOF
|
EOF
|
||||||
echoContent yellow " ---> 二维码 Trojan(TLS)"
|
echoContent yellow " ---> 二维码 Trojan(TLS)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=trojan%3a%2f%2f${id}%40${currentHost}%3a${port}%3fpeer%3d${currentHost}%26sni%3d${currentHost}%26alpn%3Dhttp/1.1%23${email}\n"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=trojan%3a%2f%2f${id}%40${currentHost}%3a${port}%3fpeer%3d${currentHost}%26fp%3Dchrome%26sni%3d${currentHost}%26alpn%3Dhttp/1.1%23${email}\n"
|
||||||
|
|
||||||
elif [[ "${type}" == "trojangrpc" ]]; then
|
elif [[ "${type}" == "trojangrpc" ]]; then
|
||||||
# URLEncode
|
# URLEncode
|
||||||
|
|
||||||
echoContent yellow " ---> Trojan gRPC(TLS)"
|
echoContent yellow " ---> Trojan gRPC(TLS)"
|
||||||
echoContent green " trojan://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&peer=${currentHost}&security=tls&type=grpc&sni=${currentHost}&alpn=h2&path=${currentPath}trojangrpc&serviceName=${currentPath}trojangrpc#${email}\n"
|
echoContent green " trojan://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&peer=${currentHost}&fp=chrome&security=tls&type=grpc&sni=${currentHost}&alpn=h2&path=${currentPath}trojangrpc&serviceName=${currentPath}trojangrpc#${email}\n"
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/default/${user}"
|
||||||
trojan://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&peer=${currentHost}&security=tls&type=grpc&sni=${currentHost}&alpn=h2&path=${currentPath}trojangrpc&serviceName=${currentPath}trojangrpc#${email}
|
trojan://${id}@${currentAdd}:${currentDefaultPort}?encryption=none&peer=${currentHost}&security=tls&type=grpc&fp=chrome&sni=${currentHost}&alpn=h2&path=${currentPath}trojangrpc&serviceName=${currentPath}trojangrpc#${email}
|
||||||
EOF
|
EOF
|
||||||
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
cat <<EOF >>"/etc/v2ray-agent/subscribe_local/clashMeta/${user}"
|
||||||
- name: "${email}"
|
- name: "${email}"
|
||||||
|
@ -3608,7 +3631,7 @@ EOF
|
||||||
grpc-service-name: "${currentPath}trojangrpc"
|
grpc-service-name: "${currentPath}trojangrpc"
|
||||||
EOF
|
EOF
|
||||||
echoContent yellow " ---> 二维码 Trojan gRPC(TLS)"
|
echoContent yellow " ---> 二维码 Trojan gRPC(TLS)"
|
||||||
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=trojan%3a%2f%2f${id}%40${currentAdd}%3a${currentDefaultPort}%3Fencryption%3Dnone%26security%3Dtls%26peer%3d${currentHost}%26type%3Dgrpc%26sni%3d${currentHost}%26path%3D${currentPath}trojangrpc%26alpn%3Dh2%26serviceName%3D${currentPath}trojangrpc%23${email}\n"
|
echoContent green " https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=trojan%3a%2f%2f${id}%40${currentAdd}%3a${currentDefaultPort}%3Fencryption%3Dnone%26fp%3Dchrome%26security%3Dtls%26peer%3d${currentHost}%26type%3Dgrpc%26sni%3d${currentHost}%26path%3D${currentPath}trojangrpc%26alpn%3Dh2%26serviceName%3D${currentPath}trojangrpc%23${email}\n"
|
||||||
|
|
||||||
elif [[ "${type}" == "hysteria" ]]; then
|
elif [[ "${type}" == "hysteria" ]]; then
|
||||||
local hysteriaEmail=
|
local hysteriaEmail=
|
||||||
|
@ -4709,6 +4732,9 @@ EOF
|
||||||
tail -f ${configPathLog}error.log
|
tail -f ${configPathLog}error.log
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
|
if [[ ! -f "/etc/v2ray-agent/crontab_tls.log" ]]; then
|
||||||
|
touch /etc/v2ray-agent/crontab_tls.log
|
||||||
|
fi
|
||||||
tail -n 100 /etc/v2ray-agent/crontab_tls.log
|
tail -n 100 /etc/v2ray-agent/crontab_tls.log
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
|
@ -6775,7 +6801,7 @@ menu() {
|
||||||
cd "$HOME" || exit
|
cd "$HOME" || exit
|
||||||
echoContent red "\n=============================================================="
|
echoContent red "\n=============================================================="
|
||||||
echoContent green "作者:mack-a"
|
echoContent green "作者:mack-a"
|
||||||
echoContent green "当前版本:v2.8.10"
|
echoContent green "当前版本:v2.8.11"
|
||||||
echoContent green "Github:https://github.com/mack-a/v2ray-agent"
|
echoContent green "Github:https://github.com/mack-a/v2ray-agent"
|
||||||
echoContent green "描述:八合一共存脚本\c"
|
echoContent green "描述:八合一共存脚本\c"
|
||||||
showInstallStatus
|
showInstallStatus
|
||||||
|
|
Loading…
Reference in New Issue