Your commit message

This commit is contained in:
zeaslity
2024-11-27 10:33:20 +08:00
commit 080c7bb97f
911 changed files with 168439 additions and 0 deletions

View File

@@ -0,0 +1,171 @@
#!/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
}