XJFKKK commited on
Commit
03ad329
·
verified ·
1 Parent(s): 29ad328

Update nezha.sh

Browse files
Files changed (1) hide show
  1. nezha.sh +36 -29
nezha.sh CHANGED
@@ -14,7 +14,7 @@ err() {
14
  }
15
 
16
  warn() {
17
- printf "${yellow}%s${plain}\n" "$*"
18
  }
19
 
20
  success() {
@@ -38,7 +38,7 @@ mustn() {
38
  }
39
 
40
  deps_check() {
41
- deps="curl wget unzip grep openssl"
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
- if curl -s https://ipinfo.io/country | grep -q 'CN'; then
 
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/data"
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
- nz_dashboard_port=${NZ_DASHBOARD_PORT:-"7860"}
115
- nz_agent_port=${NZ_AGENT_PORT:-"5555"}
116
  nz_tls=${NZ_TLS:-"true"}
117
  nz_lang=${NZ_LANG:-"zh_CN"}
118
- nz_space_name=${NZ_SPACE_NAME:-"your-space-name"}
119
-
120
- # 生成随机的 csrf token
121
- csrf_token=$(openssl rand -hex 16)
122
-
123
- # 写入配置文件
124
- cat <<EOF > ${NZ_DASHBOARD_PATH}/data/config.yaml
125
- site:
126
- brand: "${nz_site_title}"
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"