mirror of https://github.com/wulabing/Xray_onekey
xray-0.0.4
[bugfix] openssl-devel 包名异常修复 [bugfix] debian 系列系统下 证书使用错误用户组修复 [pull/319/head
parent
993a73525d
commit
2363a621db
42
install.sh
42
install.sh
|
@ -1,5 +1,12 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#====================================================
|
||||||
|
# System Request:Debian 9+/Ubuntu 18.04+/Centos 7+
|
||||||
|
# Author: wulabing
|
||||||
|
# Dscription: xray onekey Management
|
||||||
|
# email:admin@wulabing.com
|
||||||
|
#====================================================
|
||||||
|
|
||||||
cd "$(
|
cd "$(
|
||||||
cd "$(dirname "$0")" || exit
|
cd "$(dirname "$0")" || exit
|
||||||
pwd
|
pwd
|
||||||
|
@ -16,7 +23,7 @@ OK="${Green}[OK]${Font}"
|
||||||
ERROR="${Red}[ERROR]${Font}"
|
ERROR="${Red}[ERROR]${Font}"
|
||||||
|
|
||||||
# 变量
|
# 变量
|
||||||
shell_version="0.0.3"
|
shell_version="0.0.4"
|
||||||
github_branch="xray"
|
github_branch="xray"
|
||||||
version_cmp="/tmp/version_cmp.tmp"
|
version_cmp="/tmp/version_cmp.tmp"
|
||||||
xray_conf_dir="/usr/local/etc/xray"
|
xray_conf_dir="/usr/local/etc/xray"
|
||||||
|
@ -25,6 +32,7 @@ xray_access_log="/var/log/xray/access.log"
|
||||||
xray_error_log="/var/log/xray/error.log"
|
xray_error_log="/var/log/xray/error.log"
|
||||||
cert_dir="/usr/local/etc/xray"
|
cert_dir="/usr/local/etc/xray"
|
||||||
domain_tmp_dir="/usr/local/etc/xray"
|
domain_tmp_dir="/usr/local/etc/xray"
|
||||||
|
cert_group="nobody"
|
||||||
|
|
||||||
VERSION=$(echo "${VERSION}" | awk -F "[()]" '{print $2}')
|
VERSION=$(echo "${VERSION}" | awk -F "[()]" '{print $2}')
|
||||||
|
|
||||||
|
@ -64,16 +72,20 @@ function system_check() {
|
||||||
elif [[ "${ID}" == "debian" && ${VERSION_ID} -ge 9 ]]; then
|
elif [[ "${ID}" == "debian" && ${VERSION_ID} -ge 9 ]]; then
|
||||||
print_ok "当前系统为 Debian ${VERSION_ID} ${VERSION}"
|
print_ok "当前系统为 Debian ${VERSION_ID} ${VERSION}"
|
||||||
INS="apt install -y"
|
INS="apt install -y"
|
||||||
$INS update
|
apt update
|
||||||
elif [[ "${ID}" == "ubuntu" && $(echo "${VERSION_ID}" | cut -d '.' -f1) -ge 16 ]]; then
|
elif [[ "${ID}" == "ubuntu" && $(echo "${VERSION_ID}" | cut -d '.' -f1) -ge 18 ]]; then
|
||||||
print_ok "当前系统为 Ubuntu ${VERSION_ID} ${UBUNTU_CODENAME}"
|
print_ok "当前系统为 Ubuntu ${VERSION_ID} ${UBUNTU_CODENAME}"
|
||||||
INS="apt install -y"
|
INS="apt install -y"
|
||||||
$INS update
|
apt update
|
||||||
else
|
else
|
||||||
print_error "当前系统为 ${ID} ${VERSION_ID} 不在支持的系统列表内"
|
print_error "当前系统为 ${ID} ${VERSION_ID} 不在支持的系统列表内"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $(grep "nogroup" /etc/group) ]]; then
|
||||||
|
cert_group="nogroup"
|
||||||
|
fi
|
||||||
|
|
||||||
$INS dbus
|
$INS dbus
|
||||||
|
|
||||||
# 关闭各类防火墙
|
# 关闭各类防火墙
|
||||||
|
@ -114,8 +126,6 @@ function dependency_install() {
|
||||||
fi
|
fi
|
||||||
judge "crontab 自启动配置 "
|
judge "crontab 自启动配置 "
|
||||||
|
|
||||||
${INS} bc
|
|
||||||
judge "安装 bc"
|
|
||||||
|
|
||||||
${INS} unzip
|
${INS} unzip
|
||||||
judge "安装 unzip"
|
judge "安装 unzip"
|
||||||
|
@ -123,8 +133,9 @@ function dependency_install() {
|
||||||
${INS} curl
|
${INS} curl
|
||||||
judge "安装 curl"
|
judge "安装 curl"
|
||||||
|
|
||||||
${INS} openssl openssl-devel
|
# upgrade systemd
|
||||||
judge "安装 openssl"
|
${INS} systemd
|
||||||
|
judge "安装/升级 systemd"
|
||||||
|
|
||||||
# Nginx 后置 无需编译 不再需要
|
# Nginx 后置 无需编译 不再需要
|
||||||
# if [[ "${ID}" == "centos" ]]; then
|
# if [[ "${ID}" == "centos" ]]; then
|
||||||
|
@ -135,9 +146,9 @@ function dependency_install() {
|
||||||
# judge "编译工具包 安装"
|
# judge "编译工具包 安装"
|
||||||
|
|
||||||
if [[ "${ID}" == "centos" ]]; then
|
if [[ "${ID}" == "centos" ]]; then
|
||||||
${INS} pcre pcre-devel zlib-devel epel-release
|
${INS} pcre pcre-devel zlib-devel epel-release openssl openssl-devel
|
||||||
else
|
else
|
||||||
${INS} libpcre3 libpcre3-dev zlib1g-dev
|
${INS} libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${INS} jq
|
${INS} jq
|
||||||
|
@ -169,7 +180,7 @@ function domain_check() {
|
||||||
echo -e "域名dns解析IP:${domain_ip}"
|
echo -e "域名dns解析IP:${domain_ip}"
|
||||||
echo -e "本机IP: ${local_ip}"
|
echo -e "本机IP: ${local_ip}"
|
||||||
sleep 2
|
sleep 2
|
||||||
if [[ $(echo "${local_ip}" | tr '.' '+' | bc) -eq $(echo "${domain_ip}" | tr '.' '+' | bc) ]]; then
|
if [[ ${domain_ip} == "${local_ip}" ]]; then
|
||||||
print_ok "域名dns解析IP 与 本机IP 匹配"
|
print_ok "域名dns解析IP 与 本机IP 匹配"
|
||||||
sleep 2
|
sleep 2
|
||||||
else
|
else
|
||||||
|
@ -270,7 +281,7 @@ function xray_install() {
|
||||||
judge "xray 安装"
|
judge "xray 安装"
|
||||||
|
|
||||||
# 用于生成 xray 的导入链接
|
# 用于生成 xray 的导入链接
|
||||||
echo $domain > $domain_tmp_dir/domain
|
echo $domain >$domain_tmp_dir/domain
|
||||||
judge "域名记录"
|
judge "域名记录"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -329,7 +340,7 @@ function ssl_judge_and_install() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# xray 默认以 nobody 用户运行,证书权限适配
|
# xray 默认以 nobody 用户运行,证书权限适配
|
||||||
chown -R nobody.nobody /ssl/*
|
chown -R nobody.$cert_group /ssl/*
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_certificate() {
|
generate_certificate() {
|
||||||
|
@ -341,9 +352,8 @@ generate_certificate() {
|
||||||
rm -rf server.csr
|
rm -rf server.csr
|
||||||
[[ ! -f "$cert_dir/self_signed_cert.pem" || ! -f "$cert_dir/self_signed_key.pem" ]] && print_error "生成自签名证书失败"
|
[[ ! -f "$cert_dir/self_signed_cert.pem" || ! -f "$cert_dir/self_signed_key.pem" ]] && print_error "生成自签名证书失败"
|
||||||
print_ok "生成自签名证书成功"
|
print_ok "生成自签名证书成功"
|
||||||
|
chown nobody.$cert_group $cert_dir/self_signed_cert.pem
|
||||||
chown nobody.nobody $cert_dir/self_signed_cert.pem
|
chown nobody.$cert_group $cert_dir/self_signed_key.pem
|
||||||
chown nobody.nobody $cert_dir/self_signed_key.pem
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_web() {
|
function configure_web() {
|
||||||
|
|
Loading…
Reference in New Issue