├── .gitignore ├── README.md ├── conf.yaml.demo ├── deepbwork.sh ├── v2ctl ├── v2ray └── whmcs /.gitignore: -------------------------------------------------------------------------------- 1 | conf.yaml 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 安装说明 2 | 准用系统 Centos 7 + || Debian 7 + 3 | 4 | 安装git 5 | ``` 6 | yum update&&yum install git -y 7 | ``` 8 | 9 | 下载文件 10 | ``` 11 | git clone https://github.com/deepbwork/v2ray-whmcs-backend.git 12 | cd v2ray-whmcs-backend 13 | chmod +x ./*.sh 14 | ``` 15 | 16 | 安装TLS脚本 17 | ``` 18 | sh deepbwork.sh tls 19 | ``` 20 | 21 | 安装BBR 22 | ``` 23 | sh deepbwork.sh bbr 24 | ``` 25 | 26 | 配置Conf.yaml文件 27 | ``` 28 | sh deepbwork.sh init 29 | ``` 30 | 31 | 启动服务 32 | ``` 33 | sh deepbwork.sh run 34 | ``` 35 | 36 | 停止服务 37 | ``` 38 | sh deepbwork.sh stop 39 | ``` 40 | 41 | 42 | ## 配置文件结构 43 | |参数名|描述| 44 | |:-|:-| 45 | |uri|v2ray_whmcs_api的server.php文件所在地址| 46 | |token|与用户数据库通信秘钥| 47 | |node|节点ID 暂时无用| 48 | |port|用户连接端口| 49 | |rate|倍率| 50 | |tls|是否使用TLS 1:启用 0:关闭| 51 | |client|默认| 52 | |tag|默认| 53 | |liscense|授权码| 54 | 55 | ## 日志 56 | |文件名|描述| 57 | |:-|:-| 58 | |access.log|v2ray服务日志| 59 | |error.log|v2ray服务日志| 60 | |v2ray-service.log|v2ray启动日志| 61 | |v2ray-whmcs.log|v2ray操作日志| 62 | -------------------------------------------------------------------------------- /conf.yaml.demo: -------------------------------------------------------------------------------- 1 | api: 2 | url: _URL_ 3 | token: _TOKEN_ 4 | port: _PORT_ 5 | node: 0 6 | rate: _RATE_ 7 | database: _DATABASENAME_ 8 | tls: _TLS_ 9 | localport: 23333 10 | 11 | v2ray: 12 | liscense: _LISCENSE_ -------------------------------------------------------------------------------- /deepbwork.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 3 | export PATH 4 | ln -fs /bin/bash /bin/sh 5 | # Command Params [init, tls, bbr, run, stop] 6 | # Can i use? command > sh deepbwork.sh param 7 | # init : 初始化配置 8 | # tls : 自动配置TLS并安装证书 9 | # tlsd : 通过DNS安装证书 10 | # bbr : 引导安装BBR 11 | # run : 启动服务 12 | # stop : 停止服务 13 | 14 | if [ "`cat /etc/redhat-release 2>/dev/null| cut -d\ -f1`" != "CentOS" ]; then 15 | echo "The current system is not CentOS, Use Debian Setting"; 16 | _OS_="debian"; 17 | fi 18 | 19 | if [ $(id -u) != "0" ]; then 20 | echo "Error: You must be root to run this script"; 21 | exit 1; 22 | fi 23 | 24 | if [ "$1" == "" ]; then 25 | echo "Error: Please input service"; 26 | exit 1; 27 | fi 28 | 29 | if [ "$1" == "tls" ]; then 30 | if [ "${_OS_}" != "debian" ]; then 31 | echo "Stop firewalld service."; 32 | systemctl stop firewalld; 33 | fi 34 | echo "Install include." 35 | if [ "${_OS_}" != "debian" ]; then 36 | sudo yum -y install epel-release socat curl; 37 | else 38 | apt-get install -y socat curl; 39 | fi 40 | curl https://get.acme.sh | sh; 41 | while [ "${_DOMAIN_}" = "" ] 42 | do 43 | echo "Set the domain."; 44 | read -p "Please enter: " _DOMAIN_; 45 | done 46 | ~/.acme.sh/acme.sh --issue -d ${_DOMAIN_} --standalone -k ec-256; 47 | ~/.acme.sh/acme.sh --installcert -d ${_DOMAIN_} --fullchainpath /home/v2ray.crt --keypath /home/v2ray.key --ecc; 48 | exit 1; 49 | fi 50 | 51 | if [ "$1" == "bbr" ]; then 52 | echo "Downloading BBR files..."; 53 | if [ "${_OS_}" != "debian" ]; then 54 | yum install wget -y; 55 | else 56 | apt-get install -y wget ; 57 | fi 58 | wget -P /tmp/ --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x /tmp/bbr.sh && sh /tmp/bbr.sh; 59 | exit 1; 60 | fi 61 | 62 | if [ "$1" == "init" ]; then 63 | while [ "${_URL_}" = "" ] 64 | do 65 | echo "Set the API Url. (Demo: https://domain/client/server.php)"; 66 | read -p "Please enter: " _URL_; 67 | done 68 | while [ "${_TOKEN_}" = "" ] 69 | do 70 | echo "Set the token."; 71 | read -p "Please enter: " _TOKEN_; 72 | done 73 | while [ "${_PORT_}" = "" ] 74 | do 75 | echo "Set the prot."; 76 | read -p "Please enter: " _PORT_; 77 | done 78 | while [ "${_RATE_}" = "" ] 79 | do 80 | echo "Set the rate."; 81 | read -p "Please enter: " _RATE_; 82 | done 83 | while [ "${_DATABASENAME_}" = "" ] 84 | do 85 | echo "Set the database name."; 86 | read -p "Please enter: " _DATABASENAME_; 87 | done 88 | while [ "${_LISCENSE_}" = "" ] 89 | do 90 | echo "Set the liscense."; 91 | read -p "Please enter: " _LISCENSE_; 92 | done 93 | while [ "${_TLS_}" = "" ] 94 | do 95 | echo "You want use TLS? Please input 1 or 0."; 96 | read -p "Please enter: [1/0]" _TLS_; 97 | done 98 | 99 | echo "set the configuration..."; 100 | cp -f ./conf.yaml.demo ./conf.yaml 101 | sed -i "s#_URL_#"${_URL_}"#g" ./conf.yaml; 102 | sed -i "s#_TOKEN_#"${_TOKEN_}"#g" ./conf.yaml; 103 | sed -i "s#_PORT_#"${_PORT_}"#g" ./conf.yaml; 104 | sed -i "s#_RATE_#"${_RATE_}"#g" ./conf.yaml; 105 | sed -i "s#_DATABASENAME_#"${_DATABASENAME_}"#g" ./conf.yaml; 106 | sed -i "s#_LISCENSE_#"${_LISCENSE_}"#g" ./conf.yaml; 107 | sed -i "s#_TLS_#"${_TLS_}"#g" ./conf.yaml; 108 | 109 | echo "set configuration done."; 110 | echo "please input command run service :"; 111 | echo "Run Service: (sh deepbwork.sh run)"; 112 | echo "Stop Service: (sh deepbwork.sh stop)"; 113 | exit 1; 114 | fi 115 | 116 | if [ "$1" == "run" ]; then 117 | if [ "${_OS_}" != "debian" ]; then 118 | echo "Stop firewalld service."; 119 | systemctl stop firewalld; 120 | fi 121 | nohup `pwd`/whmcs > /dev/null 2>&1 & 122 | echo "Service Start"; 123 | exit 1; 124 | fi 125 | 126 | if [ "$1" == "stop" ]; then 127 | kill -9 $(ps -ef | grep `pwd`/whmcs | grep -v grep | awk '{print $2}'); 128 | kill -9 $(ps -ef | grep `pwd`/v2ray | grep -v grep | awk '{print $2}'); 129 | kill -9 $(ps -ef | grep defunct | grep -v grep | awk '{print $2}'); 130 | rm -rf *.log; 131 | echo "Service Stop"; 132 | exit 1; 133 | fi 134 | 135 | if [ "$1" == "log" ]; then 136 | cat ./v2ray-service.log; 137 | cat ./v2ray-whmcs.log; 138 | exit 1; 139 | fi 140 | 141 | if [ "$1" == "restart" ]; then 142 | sh deepbwork.sh stop; 143 | sh deepbwork.sh run; 144 | exit 1; 145 | fi 146 | 147 | if [ "$1" == "min"]; then 148 | /usr/bin/env v2ray.ray.buffer.size=1; 149 | exit 1; 150 | fi 151 | 152 | if [ "$1" == "tlsd" ]; then 153 | if [ "${_OS_}" != "debian" ]; then 154 | yum install wget -y; 155 | else 156 | apt-get install -y wget ; 157 | fi 158 | wget https://dl.eff.org/certbot-auto; 159 | chmod +x certbot-auto; 160 | while [ "${_DOMAIN_}" = "" ] 161 | do 162 | echo "Set the domain."; 163 | read -p "Please enter: " _DOMAIN_; 164 | done 165 | ./certbot-auto certonly -d ${_DOMAIN_} --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory; 166 | cp /etc/letsencrypt/archive/${_DOMAIN_}/fullchain1.pem /home/v2ray.crt; 167 | cp /etc/letsencrypt/archive/${_DOMAIN_}/privkey1.pem /home/v2ray.key; 168 | fi -------------------------------------------------------------------------------- /v2ctl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepbwork/v2ray-whmcs-backend/aa8fd21e9af1a39e147d4438ff759548c3109123/v2ctl -------------------------------------------------------------------------------- /v2ray: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepbwork/v2ray-whmcs-backend/aa8fd21e9af1a39e147d4438ff759548c3109123/v2ray -------------------------------------------------------------------------------- /whmcs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepbwork/v2ray-whmcs-backend/aa8fd21e9af1a39e147d4438ff759548c3109123/whmcs --------------------------------------------------------------------------------