Update nezha.sh
Browse files
nezha.sh
CHANGED
@@ -14,7 +14,7 @@ err() {
|
|
14 |
}
|
15 |
|
16 |
warn() {
|
17 |
-
printf "${
|
18 |
}
|
19 |
|
20 |
success() {
|
@@ -38,7 +38,7 @@ mustn() {
|
|
38 |
}
|
39 |
|
40 |
deps_check() {
|
41 |
-
deps="curl wget unzip grep
|
42 |
for dep in $deps; do
|
43 |
if ! command -v "$dep" >/dev/null 2>&1; then
|
44 |
err "未找到依赖 $dep,请先安装。"
|
@@ -47,6 +47,21 @@ deps_check() {
|
|
47 |
done
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
env_check() {
|
51 |
uname=$(uname -m)
|
52 |
case "$uname" in
|
@@ -80,7 +95,8 @@ init() {
|
|
80 |
env_check
|
81 |
## 检测是否为国内IP
|
82 |
if [ -z "$CN" ]; then
|
83 |
-
|
|
|
84 |
CN=true
|
85 |
GITHUB_RAW_URL="gitee.com/naibahq/scripts/raw/main"
|
86 |
GITHUB_URL="gitee.com"
|
@@ -99,7 +115,7 @@ install() {
|
|
99 |
echo "> 安装"
|
100 |
|
101 |
# 创建哪吒监控目录
|
102 |
-
mkdir -p "$NZ_DASHBOARD_PATH
|
103 |
|
104 |
modify_config
|
105 |
|
@@ -109,35 +125,26 @@ install() {
|
|
109 |
modify_config() {
|
110 |
echo "> 修改配置"
|
111 |
|
|
|
|
|
|
|
|
|
|
|
112 |
# 设置配置参数,从环境变量读取,如果没有则使用默认值
|
113 |
nz_site_title=${NZ_SITE_TITLE:-"哪吒监控"}
|
114 |
-
|
115 |
-
|
116 |
nz_tls=${NZ_TLS:-"true"}
|
117 |
nz_lang=${NZ_LANG:-"zh_CN"}
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
url: "https://${nz_space_name}.hf.space"
|
128 |
-
language: "${nz_lang}"
|
129 |
-
http:
|
130 |
-
listen: "0.0.0.0:${nz_dashboard_port}"
|
131 |
-
root: "./static"
|
132 |
-
grpc:
|
133 |
-
listen: "0.0.0.0:${nz_agent_port}"
|
134 |
-
tls:
|
135 |
-
enable: ${nz_tls}
|
136 |
-
cert: "./server.crt"
|
137 |
-
key: "./server.key"
|
138 |
-
security:
|
139 |
-
csrf: "${csrf_token}"
|
140 |
-
EOF
|
141 |
|
142 |
# 确保数据目录具有写权限
|
143 |
chmod -R 777 "${NZ_DASHBOARD_PATH}/data"
|
|
|
14 |
}
|
15 |
|
16 |
warn() {
|
17 |
+
printf "${red}%s${plain}\n" "$*"
|
18 |
}
|
19 |
|
20 |
success() {
|
|
|
38 |
}
|
39 |
|
40 |
deps_check() {
|
41 |
+
deps="curl wget unzip grep"
|
42 |
for dep in $deps; do
|
43 |
if ! command -v "$dep" >/dev/null 2>&1; then
|
44 |
err "未找到依赖 $dep,请先安装。"
|
|
|
47 |
done
|
48 |
}
|
49 |
|
50 |
+
geo_check() {
|
51 |
+
api_list="https://blog.cloudflare.com/cdn-cgi/trace https://developers.cloudflare.com/cdn-cgi/trace"
|
52 |
+
ua="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0"
|
53 |
+
for url in $api_list; do
|
54 |
+
text="$(curl -A "$ua" -m 10 -s "$url")"
|
55 |
+
endpoint="$(echo "$text" | sed -n 's/.*h=\([^ ]*\).*/\1/p')"
|
56 |
+
if echo "$text" | grep -qw 'CN'; then
|
57 |
+
isCN=true
|
58 |
+
break
|
59 |
+
elif echo "$url" | grep -q "$endpoint"; then
|
60 |
+
break
|
61 |
+
fi
|
62 |
+
done
|
63 |
+
}
|
64 |
+
|
65 |
env_check() {
|
66 |
uname=$(uname -m)
|
67 |
case "$uname" in
|
|
|
95 |
env_check
|
96 |
## 检测是否为国内IP
|
97 |
if [ -z "$CN" ]; then
|
98 |
+
geo_check
|
99 |
+
if [ -n "$isCN" ]; then
|
100 |
CN=true
|
101 |
GITHUB_RAW_URL="gitee.com/naibahq/scripts/raw/main"
|
102 |
GITHUB_URL="gitee.com"
|
|
|
115 |
echo "> 安装"
|
116 |
|
117 |
# 创建哪吒监控目录
|
118 |
+
mkdir -p "$NZ_DASHBOARD_PATH"
|
119 |
|
120 |
modify_config
|
121 |
|
|
|
125 |
modify_config() {
|
126 |
echo "> 修改配置"
|
127 |
|
128 |
+
# 下载配置文件
|
129 |
+
echo "正在下载配置文件"
|
130 |
+
|
131 |
+
wget -t 2 -T 60 -O /tmp/nezha-config.yaml "https://${GITHUB_RAW_URL}/extras/config.yaml"
|
132 |
+
|
133 |
# 设置配置参数,从环境变量读取,如果没有则使用默认值
|
134 |
nz_site_title=${NZ_SITE_TITLE:-"哪吒监控"}
|
135 |
+
nz_port=${NZ_PORT:-"7860"} # Hugging Face Spaces 默认使用 7860 端口
|
136 |
+
nz_hostport=${NZ_HOSTPORT:-"example.com:443"}
|
137 |
nz_tls=${NZ_TLS:-"true"}
|
138 |
nz_lang=${NZ_LANG:-"zh_CN"}
|
139 |
+
|
140 |
+
sed -i "s/nz_port/${nz_port}/g" /tmp/nezha-config.yaml
|
141 |
+
sed -i "s/nz_language/${nz_lang}/" /tmp/nezha-config.yaml
|
142 |
+
sed -i "s/nz_site_title/${nz_site_title}/" /tmp/nezha-config.yaml
|
143 |
+
sed -i "s/nz_hostport/${nz_hostport}/" /tmp/nezha-config.yaml
|
144 |
+
sed -i "s/nz_tls/${nz_tls}/" /tmp/nezha-config.yaml
|
145 |
+
|
146 |
+
mkdir -p "$NZ_DASHBOARD_PATH/data"
|
147 |
+
mv -f /tmp/nezha-config.yaml "${NZ_DASHBOARD_PATH}/data/config.yaml"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
# 确保数据目录具有写权限
|
150 |
chmod -R 777 "${NZ_DASHBOARD_PATH}/data"
|