├── index.zip ├── .gitattributes ├── README.md └── v2bt.sh /index.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vikinglzh/v2ray_bt/HEAD/index.zip -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # v2ray_bt 2 | **与宝塔面板共存v2ray一键安装脚本** 3 | 4 | 使用说明: 5 | 6 | 1、目前仅测试过CentOS7,其他系统未经测试; 7 | 8 | 2、前提:VPS上要安装有 宝塔Linux面板,且通过宝塔安装有Nginx; 9 | 10 | 3、确保需要使用的域名已经解析至VPS; 11 | 12 | 4、如果通过宝塔部署了要使用的域名的网站,请先开启SSL;如果没有部署要使用域名的网站,脚本会自行配置; 13 | 14 | 5、使用本脚本即可完成部署; 15 | 16 | 一键脚本: 17 | ``` 18 | wget -N --no-check-certificate https://raw.githubusercontent.com/vikinglzh/V2ray_bt/master/v2bt.sh && chmod +x v2bt.sh && bash v2bt.sh 19 | ``` 20 | > v2配置目录:/usr/local/etc/v2ray/**.config 21 | -------------------------------------------------------------------------------- /v2bt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 3 | export PATH 4 | 5 | # Dscription: V2ray_Bt-Panel 6 | 7 | #fonts color 8 | Red="\033[1;31m" 9 | Green="\033[1;32m" 10 | Yellow="\033[1;33m" 11 | Blue="\033[1;36m" 12 | Font="\033[0m" 13 | 14 | OK="${Green}[OK]${Font}" 15 | web_dir="/www/wwwroot" 16 | 17 | 18 | install_v2ray_ws_tls() { 19 | install_prepare 20 | v2ray_install 21 | V2Ray_information 22 | start_service 23 | } 24 | 25 | 26 | install_prepare() { 27 | if [[ "${ID}" == "centos" ]]; then 28 | sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config 29 | setenforce 0 30 | fi 31 | if [[ -e "/etc/init.d/bt" ]]; then 32 | sleep 1 33 | else 34 | echo -e "${Yellow} 未检测到 宝塔面板,请先安装……${Font}" 35 | exit 1 36 | fi 37 | if [[ -e "/www/server/nginx" ]]; then 38 | sleep 1 39 | else 40 | echo -e "${Yellow} 未检测到 Nginx,请先安装……${Font}" 41 | exit 1 42 | fi 43 | 44 | echo -e "${Yellow} 请确保已完成伪装网址的域名解析 ${Font}" 45 | read -rp "请输入域名信息(eg:www.baidu.com):" domain 46 | 47 | webstate=26 48 | Website_config 49 | acme_SSL 50 | 51 | yum install -y wget 52 | yum reinstall glibc-headers gcc-c++ -y 53 | } 54 | 55 | 56 | Website_config() { 57 | if [[ -e "/www/server/panel/vhost/nginx/${domain}.conf" ]]; then 58 | sleep 1 59 | else 60 | echo -e "${Yellow} 未检测到 ${domain} 内容!${Font}" 61 | read -rp " 是否尝试自动配置? [Y/N]?" autowebcfg 62 | case $autowebcfg in 63 | [yY]) 64 | WriteWebConf 65 | Website_arrange 66 | echo -e "${OK} 自动配置完成! ${Font}" 67 | ;; 68 | *) 69 | echo -e "${Yellow}请手动配置后重试! ${Font}" 70 | exit 71 | ;; 72 | esac 73 | fi 74 | } 75 | 76 | 77 | acme_SSL() { 78 | if [[ -e "/www/server/panel/vhost/cert/${domain}/" ]]; then 79 | sleep 1 80 | else 81 | curl https://get.acme.sh | sh 82 | mkdir -p /www/wwwroot/${domain}/.well-known/acme-challenge 83 | chmod 777 /www/wwwroot/${domain}/.well-known/acme-challenge 84 | ~/.acme.sh/acme.sh --issue -d "${domain}" --webroot /www/wwwroot/${domain}/ 85 | mkdir -p /www/server/panel/vhost/cert/${domain}/ 86 | ~/.acme.sh/acme.sh --installcert -d "${domain}" \ 87 | --key-file /www/server/panel/vhost/cert/${domain}/privkey.key \ 88 | --fullchain-file /www/server/panel/vhost/cert/${domain}/fullchain.cer \ 89 | --reloadcmd "/www/server/nginx/sbin/nginx -s reload" 90 | fi 91 | } 92 | 93 | 94 | v2ray_install() { 95 | curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh 96 | bash install-release.sh 97 | 98 | [ -z "$UUID" ] && UUID=$(cat /proc/sys/kernel/random/uuid) 99 | PORT=$((RANDOM + 10000)) 100 | 101 | cd /usr/local/etc/v2ray/ 102 | WriteV2rayConf 103 | 104 | sed -i '$d' /www/server/panel/vhost/nginx/${domain}.conf 105 | cat >>/www/server/panel/vhost/nginx/${domain}.conf </usr/local/vmess_info.json <<-EOF 127 | { 128 | "v": "2", 129 | "ps": "v2ray_${domain}", 130 | "add": "${domain}", 131 | "port": "443", 132 | "id": "${UUID}", 133 | "aid": "${webstate}", 134 | "net": "ws", 135 | "type": "none", 136 | "host": "${domain}", 137 | "path": "/vcache/", 138 | "tls": "tls" 139 | } 140 | EOF 141 | } 142 | 143 | 144 | V2ray_info_query() { 145 | grep "$1" "/usr/local/vmess_info.json" | awk -F '"' '{print $4}' 146 | } 147 | 148 | 149 | V2Ray_information() { 150 | clear 151 | vmess_link="vmess://$(base64 -w 0 /usr/local/vmess_info.json)" 152 | { 153 | echo -e "${Green} V2ray vmess+ws+tls 安装成功${Font}" 154 | echo -e "${Blue}=====================================================${Font}" 155 | echo -e "${Green} V2ray 配置信息 ${Font}" 156 | echo -e "${Green} 地址(address):${Font} $(V2ray_info_query '\"add\"') " 157 | echo -e "${Green} 端口(port):${Font} $(V2ray_info_query '\"port\"') " 158 | echo -e "${Green} 用户ID(id):${Font} $(V2ray_info_query '\"id\"')" 159 | echo -e "${Green} 额外ID(alterId):${Font} 16" 160 | echo -e "${Green} 加密方式(security):${Font} auto" 161 | echo -e "${Green} 传输协议(network):${Font} ws" 162 | echo -e "${Green} 伪装类型(type):${Font} none" 163 | echo -e "${Green} 路径(不要落下/):${Font} /vcache/" 164 | echo -e "${Green} 底层传输安全:${Font} tls" 165 | echo -e "${Blue}=====================================================${Font}" 166 | echo -e "${Yellow} URL导入链接:${vmess_link} ${Font}" 167 | } 168 | } 169 | 170 | 171 | WriteWebConf() { 172 | cat >/www/server/panel/vhost/rewrite/${domain}.conf </www/server/panel/vhost/nginx/${domain}.conf </usr/local/etc/v2ray/config.json <