Files
shell-scripts/功能脚本/v2ray_4.32.1_install.sh
2023-05-15 16:49:09 +08:00

171 lines
6.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
v2ray_config_file="/usr/local/etc/v2ray/config.json"
v2ray_tls_file="/usr/local/etc/v2ray/cert"
# 默认的uuid
V2rayUUID=""
DomainName=""
RED="31m" ## 姨妈红
GREEN="32m" ## 水鸭青
YELLOW="33m" ## 鸭屎黄
PURPLE="35m" ## 基佬紫
BLUE="36m" ## 天依蓝
######## 颜色函数方法很精妙 ############
colorEcho() {
echo -e "\033[${1}${@:2}\033[0m" 1>&2
}
check_root() {
if [[ $EUID != 0 ]]; then
colorEcho ${RED} "当前非root账号(或没有root权限)无法继续操作请更换root账号!"
colorEcho ${YELLOW} "使用sudo -命令获取临时root权限执行后可能会提示输入root密码"
exit 1
fi
}
# 判断命令是否存在
command_exists() {
command -v "$@" >/dev/null 2>&1
}
downloadSoftwares(){
colorEcho ${PURPLE} "---------------------------------------------------------------------------------"
colorEcho ${BLUE} "开始下载安装V2ray所需要的所有软件…………"
command_exists curl wget
if [[ $? -nq 0]]
then
colorEcho ${RED} "未检测到强依赖----------------------------------------------"
colorEcho ${RED} "请确保您已经安装wget,curl, unzip等工具"
fi
echo ""
colorEcho ${BLUE} "创建v2ray的安装目录 ./v2ray_install"
pwd
mkdir v2ray_install
cd ./v2ray_install
pwd
echo ""
colorEcho ${BLUE} "正在下载v2ray的安装脚本…………"
wget https://objectstorage.ap-seoul-1.oraclecloud.com/n/cnk8d6fazu16/b/seoul/o/v2ray-install.sh
chmod +x v2ray-install.sh
colorEcho ${GREEN} " 下载完成 "
echo ""
colorEcho ${BLUE} "正在下载v2ray-linux-adm64-v4.32.1的安装包文件…………"
wget https://objectstorage.ap-seoul-1.oraclecloud.com/n/cnk8d6fazu16/b/seoul/o/v2ray-linux-64_v4.32.1.zip
colorEcho ${GREEN} " 下载完成 "
echo ""
colorEcho ${BLUE} "正在下载envsubst-Linux-x86_64文件…………"
wget https://objectstorage.ap-seoul-1.oraclecloud.com/n/cnk8d6fazu16/b/seoul/o/envsubst-Linux-x86_64 -O -o envsubst
chmod + envsubst
mv envsubst /usr/local/bin
colorEcho ${GREEN} " 下载完成 "
echo ""
}
installV2ray(){
colorEcho ${PURPLE} "---------------------------------------------------------------------------------"
colorEcho ${BLUE} "开始下载安装V2ray所需要的所有软件…………"
echo ""
colorEcho ${BLUE}"开始离线安装v2ray……"
echo "
" | ./v2ray-install.sh --local v2ray-linux-64_v4.32.1.zip
echo ""
cd ..
colorEcho ${GREEN} "v2ray v4.32.1已经安装成功!"
echo ""
colorEcho ${BLUE} "正在开启v2ray的服务程序……"
systemctl start v2ray
colorEcho ${GREEN} " 启动完成 "
echo ""
colorEcho ${BLUE} "正在设置v2ray的开机自启动……"
systemctl enable v2ray
colorEcho ${GREEN} " 设置开启自启动完成 "
echo ""
}
modifyV2rayConfig(){
colorEcho ${PURPLE} "---------------------------------------------------------------------------------"
colorEcho ${BLUE} "开始配置V2ray默认采用Vless_Over_TCP+XTLS…………"
colorEcho ${BLUE} "本脚本暂不负责证书生成,请手动将域名的证书文件上传至 /usr/local/etc/v2ray/cert目录下"
colorEcho ${PURPLE} "---------------------------------------------------------------------------------"
colorEcho ${BLUE} "证书文件命名规则: <DomainName>.pem <DomainName>.key"
echo ""
echo ""
mkdir -p ${v2ray_tls_file}
colorEcho ${RED} "-------请输入解析到此服务器的域名(前面不带"http://"或"https://")-------"
colorEcho ${RED} "----------------------------------------------------------"
read -r -p "输入域名地址:" DomainName
echo ""
colorEcho ${BLUE} "----------------------------------------------------------"
colorEcho ${GREEN} "您输入的域名为:${DomainName}"
colorEcho ${GREEN} "----------------------------------------------------------"
echo ""
while true
do
colorEcho ${RED} "请确保您已经将证书文件上传至 ${v2ray_tls_file} 目录下!!"
read -r -p "请输入yes进行确认脚本才可继续运行" input
case $input in
yes)
colorEcho ${GREEN} "您已确认上传了证书文件! 开始检测……"
echo ""
if [[ -f ${v2ray_tls_file}/${DomainName}.pem && -f ${v2ray_tls_file}/${DomainName}.key]]
then
colorEcho ${GREEN} "检测到TLS域名的证书文件"
colorEcho ${GREEN} "----------------------------------------------------------"
echo ""
break
else
colorEcho ${RED} "你欺骗了善良的自己!! 没有检测到TLS域名的证书文件"
colorEcho ${RED} "请手动将域名的证书文件上传至 ${v2ray_tls_file} 目录下"
colorEcho ${BLUE} "证书文件命名规则:${DomainName}.pem ${DomainName}.key"
continue
;;
*)
echo ""
colorEcho ${RED} "输入有误!!! 请输入 >> yes << 进行确认"
colorEcho ${RED} "-----------------------------------------------------"
echo ""
;;
esac
done
colorEcho ${BLUE} "开始配置v2ray的config文件…………"
V2rayUUID=$(cat /proc/sys/kernel/random/uuid)
echo ""
colorEcho ${BLUE} "生成的UUID为 ${V2rayUUID}"
colorEcho ${GREEN} "-----------------------------------------------------"
colorEcho ${BLUE} "正在下载v2ray的config文件…………"
wget https://objectstorage.ap-seoul-1.oraclecloud.com/n/cnk8d6fazu16/b/seoul/o/v2ray_vless-xtls-tcp.json
colorEcho ${GREEN} " 下载完成 "
echo ""
colorEcho ${BLUE} "正在生成v2ray的config文件…………"
envsubst < v2ray_vless-xtls-tcp.json > ${v2ray_config_file}
colorEcho ${GREEN} " 生成完成 "
echo ""
}
printV2rayInfo(){
}
main(){
check_root
downloadSoftwares
installV2ray
modifyV2rayConfig
printV2rayInfo
}