更新文档以兼容哪吒V1,添加使用区别说明及API路径信息

This commit is contained in:
hi2hi 2024-12-06 05:52:48 +00:00
parent 1c6107cb07
commit c632f55ccb

View File

@ -1,12 +1,16 @@
# Nazhua
基于哪吒监控(nezha.wiki)v0版本构建的前端主题目前暂不支持v1版本关于v1支持需要等待后续版本。
基于哪吒监控(nezha.wiki)v0版本构建的前端主题目前兼容与v0相同数据结构的v1版本。
主题有点**重**,因为内置了一个带中文的`SarasaTermSC-SemiBold`字体。
## 劝退指南 用前必读
1. 本主题是基于哪吒监控v0版本构建的支持v1版本。*未来根据情况可能会支持v1版本*
1. 本主题是基于哪吒监控v0版本构建的确定能否完美v1版本。*20241206的版本已适配*
2. 本主题是一个纯前端项目需要解决跨域问题通常需要一个nginx或者caddy反代请求解决跨域问题。
3. 我不会提供任何技术支持如果你有问题可以提issue但是我不保证会回答可能询问GPT会更快。
## V0/V1的使用区别
V1必须在`config.js`中指定`nezhaVersion`的版本为`v1`**大小写敏感*
默认的数据是基于V0
## 关于点阵地图
点阵地图是一个失真的地图,地图边际与城市位置都不是真实的经纬度坐标,因此无法通过经纬度来定位城市。
需要在是[Nazhua配置生成器](https://hi2shark.github.io/nazhua-generator/)中,拾取点阵地图上的坐标,然后在`config.js`中配置`customCodeMap`来自定义地图点信息。
@ -63,9 +67,13 @@ Nazhua对这个支持大概在90%左右,参与数据处理了的字段如下
其中IPv4、IPv6暂未参与到处理中后续可能会支持。
## 数据来源
1. 公开的全量配置其中包括“公开备注”PublicNote来着探针主页上暴露的服务器节点列表配置信息。此处是根据正则匹配的方式获取到的节点列表。在主题项目中默认将访问`/nezha/`的指向此处。
2. 实时数据来着公开的ws服务接口`/ws`。
3. 监控数据来着公开的api接口`/api/v1/monitor/${id}`。
1-0. 公开的全量配置其中包括“公开备注”PublicNote来着探针主页上暴露的服务器节点列表配置信息。此处是根据正则匹配的方式获取到的节点列表。在主题项目中默认将访问`/nezha/`的指向此处。
2-0. 实时数据v0来着公开的ws服务接口`/ws`。
2-1. 实时数据/全量数据v1来着公开的ws服务接口`/api/v1/ws/server`。
3-0. 监控数据v0来着公开的api接口`/api/v1/monitor/${id}`。
3-1. 监控数据v1来着公开的api接口`/api/v1/service/${id}`。
4-0. 分组数据v0来着服务器节点列表的`Tag`字段匹配。
4-1. 分组数据v1来着公开的api接口`/api/v1/server-group`。
## 部署
Nazhua主题是一个纯前端项目可以部署在纯静态服务器上但需要解决`/api/v1/monitor/${id}`监控数据、`/ws`WS服务和`/`主页的跨域访问。
@ -80,7 +88,7 @@ services:
container_name: nazhua
ports:
- 80:80
volumes:
# volumes:
# - ./favicon.ico:/home/wwwroot/html/favicon.ico:ro # 自定义favicon图标
# - ./config.js:/home/wwwroot/html/config.js:ro # 自定义配置文件
# - ./style.css:/home/wwwroot/html/style.css:ro # 自定义样式文件
@ -89,19 +97,33 @@ services:
- NEZHA=http://nezha-dashboard.example.com/ # 可以被反代nezha主页地址
restart: unless-stopped
```
建议通过docker-compose部署服务然后通过cloudflare的tunnels向外提供服务可以不用自己配置https证书。
建议通过docker-compose部署服务然后通过cloudflare的tunnels向外提供服务可以不用自己配置https证书。
**再次提示哪吒V1的必须设置config.js中的nezhaVersion为v1**
### Nginx配置示例
```nginx
server {
listen 80;
server_name nazhua.example.com;
client_max_body_size 1024m;
# 哪吒V0的WebSocket服务
location /ws {
proxy_pass http://nezha-dashboard.example.com/ws;
proxy_pass ${NEZHA}ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 哪吒V1的WebSocket服务
location /api/v1/ws/server {
proxy_pass ${NEZHA}api/v1/ws/server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@ -137,21 +159,31 @@ server {
```javascript
window.$$nazhuaConfig = {
title: '哪吒监控', // 网站标题
freeAmount: '', // 免费服务的费用名称
infinityCycle: '', // 无限周期名称
freeAmount: '白嫖', // 免费服务的费用名称
infinityCycle: '无限', // 无限周期名称
buyBtnText: '购买', // 购买按钮文案
listServerStatusType: 'progress', // 服务器状态类型--列表
detailServerStatusType: 'progress', // 服务器状态类型--详情页
hideNavbarServerCount: false, // 隐藏服务器数量
hideNavbarServerStat: false, // 隐藏服务器统计
hideListItemStatusDonut: true, // 隐藏列表项的饼图
hideListItemStat: true, // 隐藏列表项的统计信息
hideListItemBill: false, // 隐藏列表项的账单信息
buyBtnText: '', // 购买按钮文案
hideWorldMap: false, // 隐藏地图
hideHomeWorldMap: false, // 隐藏首页地图
hideDetailWorldMap: false, // 隐藏详情地图
hideFilter: false, // 隐藏筛选
hideTag: false, // 隐藏标签
customCodeMap: {}, // 自定义的地图点信息
apiMonitorPath: '/api/v1/monitor/{id}',
wsPath: '/ws',
nezhaPath: '/nezha/',
nezhaV0ConfigType: 'servers',
routeMode: 'h5', // 路由模式 h5 | hash
nezhaVersion: 'v0', // 哪吒版本
apiMonitorPath: '/api/v1/monitor/{id}', // 监控数据API路径不明白的就不要改
wsPath: '/ws', // WebSocket路径不明白的就不要改
nezhaPath: '/nezha/', // 哪吒主页路径,不明白的就不要改
nezhaV0ConfigType: 'servers', // 哪吒v0数据读取类型
v1ApiMonitorPath: '/api/v1/service/{id}', // v1监控数据API路径不明白的就不要改
v1WsPath: '/api/v1/ws/server', // v1WebSocket路径不明白的就不要改
v1GroupPath: '/api/v1/server-group', // v1分组数据API路径不明白的就不要改
routeMode: 'h5', // 路由模式
};
```
可以通过修改根目录下的`style.css`文件来自定义样式