feat:添加mynodequery到列表

This commit is contained in:
okxlin 2023-08-06 16:17:56 +08:00
parent a183f0ba2b
commit 30f402c830
12 changed files with 426 additions and 0 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,2 @@
CONTAINER_NAME="mynodequery"
PANEL_APP_PORT_HTTP="40102"

View File

@ -0,0 +1,11 @@
additionalProperties:
formFields:
- default: 40102
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number

View File

@ -0,0 +1,15 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}

View File

@ -0,0 +1,21 @@
version: '3'
services:
mynodequery:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:5000"
volumes:
- ./data/appsettings.json:/app/appsettings.json
logging:
options:
max-size: 256MB
image: jaydenlee2019/mynodequery:1.0.5.1
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

308
apps/mynodequery/README.md Normal file
View File

@ -0,0 +1,308 @@
# 使用说明
- 实际只有容器镜像,**并没有开源,使用需要慎重**。
- 每个版本升级,作者可能都要对数据库做修改,所以没事不要升级。保证按要求修改了数据库再升级。
- MySQL 5.7 或更高版本
# 原始相关
## 安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!
## 安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!
## 安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!
## 重要的话说三遍!
## 简介
众所周知NodeQuery已彻底关闭无法使用MyNodeQuery起因是为了代替NodeQuery发展而来大部分功能参照了NodeQuery并增加了一些网友们期望的功能。
MyNodeQuery是一款简洁好用的探针支持Telegram节点离线通知、节点排序、自定义Ping节点还有网速、流量报表等功能。
演示站点:[https://status.idcoffer.com](https://status.idcoffer.com/)
Telegram 交流群组https://t.me/cloudshare
![](https://www.idcoffer.com/wp-content/uploads/2022/06/mynodequery-v1.0.3.0-1.png)
## 使用
### 依赖
- MySql 5.7 或更高版本;([Docker部署MySQL教程](https://www.idcoffer.com/archives/7903)
- ~~Redis (可选)~~
- Docker
### 安装
先创建用于mynodequery的空数据库然后按下面步骤安装
目前仅提供docker版本
```
docker run -d --name=mynodequery -p 5000:5000 jaydenlee2019/mynodequery:latest
```
#### 如何解决每次更新都要从新Install的问题
1. 创建一个文本 `/etc/mynodequery/appsettings.json`,内容为:
```
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}
```
2. 在docker run 语句中加入 `-v /etc/mynodequery/appsettings.json:/app/appsettings.json` 即可解决,如:
```
docker run -d --name=mynodequery -p 5000:5000 -v /etc/mynodequery/appsettings.json:/app/appsettings.json jaydenlee2019/mynodequery:latest
```
## 更新
### 1.0.5.1
1. 详情页增加自定义Tab支持 [Markdown](https://markdown.com.cn/basic-syntax/) 语法);
2. 客户端增加Alpine Linux系统支持
3. 增加负载/内存/硬盘使用率超过设定阈值通知功能设置为100代表关闭
1. 可以通过SQL语句批量关闭此功能update md_nodes set LoadNotifiValue=100;
4. 修复部分已知bug;
5. 更新注意事项数据库升级不能跨版本升级如果是从1.0.5.0或更早版本升级请在MySql客户端执行以下和更早期版本SQL语句
```
ALTER TABLE `md_nodes` ADD COLUMN `LastLoadNotifiTime` datetime DEFAULT NULL;
ALTER TABLE `md_nodes` ADD COLUMN `LastLoadExceedTime` datetime DEFAULT NULL;
ALTER TABLE `md_nodes` ADD COLUMN `LastDiskNotifiTime` datetime DEFAULT NULL;
ALTER TABLE `md_nodes` ADD COLUMN `LastRAMNotifiTime` datetime DEFAULT NULL;
ALTER TABLE `md_nodes` ADD COLUMN `LastRAMExceedTime` datetime DEFAULT NULL;
ALTER TABLE `md_nodes` ADD COLUMN `LastDiskExceedTime` datetime DEFAULT NULL;
CREATE TABLE `md_node_tabs` (
`ID` int(4) NOT NULL AUTO_INCREMENT,
`NodeID` int(4) NOT NULL,
`TabName` varchar(255) NOT NULL,
`TabContent` text,
`SortID` int(4) DEFAULT NULL,
`CreateTime` datetime DEFAULT Now(),
`LastUpdate` datetime DEFAULT Now(),
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
```
### 1.0.5.0
1. 详情页增加IPv6显示;
2. 标题增加国家/区域显示;
3. 优化手机上标题显示;
4. 增加购买直达链接;
5. 修复部分已知bug;
6. 更新注意事项数据库升级不能跨版本升级如果是从1.0.4.2或更早版本升级请在MySql客户端执行以下和更早期版本SQL语句
```
alter table md_nodes add `BuyUrl` varchar(500) default NULL;
alter table bd_node_requests modify column Ping1 decimal(10,3) DEFAULT NULL;
alter table bd_node_requests modify column Ping2 decimal(10,3) DEFAULT NULL;
alter table bd_node_requests modify column Ping3 decimal(10,3) DEFAULT NULL;
alter table bd_node_requests modify column Ping4 decimal(10,3) DEFAULT NULL;
alter table bd_node_requests modify column Ping5 decimal(10,3) DEFAULT NULL;
```
### 1.0.4.2
1. 增加TCPing协议支持暂时只支持x86_64/amd64平台;
2. 登录后详情页显示完整IP;
3. 修复部分已知bug;
4. 更新注意事项如果是从1.0.4.1或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_ping_nodes add Protocol varchar(10) DEFAULT 'ICMP';
alter table md_ping_nodes add Port int DEFAULT 80;
alter table `bd_node_requests_collect` modify column Value1Sum decimal(38,3);
alter table `bd_node_requests_collect` modify column Value2Sum decimal(38,3);
alter table `bd_node_requests_collect` modify column Value3Sum decimal(38,3);
alter table `bd_node_requests_collect` modify column Value4Sum decimal(38,3);
alter table `bd_node_requests_collect` modify column Value5Sum decimal(38,3);
```
### 1.0.4.1
1. 移除底部悬浮版权,移至页面底部;
2. 增加底部自定义html内容并支持Vue的Created方法插入js脚本
3. 更新注意事项如果是从1.0.4.0或更早版本升级请在MySql客户端执行以下SQL语句
```
ALTER TABLE `sys_settings` modify column FildValue varchar(2000)
```
### 1.0.4.0
1. 节点详情增加网络延迟tab显示对ping节点的平均、最高和最低延迟
2. 其他一些小细节优化;
3. 修复对MySQL 8.0的支持;
### 1.0.3.0
1. 优化性能,大幅度减小数据库体积;
2. 增加国家地区旗帜显示;
3. 节点离线判断增加到5分钟
4. 其他一些小细节优化;
5. 修复错误字眼、显示错位、已知代码bug等问题含UI和程序
6. 更新注意事项如果是从1.0.2.3或更早版本升级请在MySql客户端执行以下SQL语句https://down.vpsaff.net/mynodequery/upgrade-1.0.3.0-sql.txt
### 1.0.2.3
1. 仪表盘细节优化;
2. IPv6优化
3. 更新注意事项如果是从1.0.2.2或更早版本升级请在MySql客户端执行以下SQL语句
```
ALTER TABLE `bd_node_requests`ENGINE=MyISAM;
ALTER TABLE `bd_node_requests` ADD INDEX `ix_bd_node_requests_FirstLine` (`NodeID`, `CreateTime`) ;
```
### 1.0.2.2
1. Ping节点可指定IPv4和IPv6方便ping相同域名的IPv4和IPv6
2. 仪表盘增加节点排序功能;
3. 修复已知bugs
4. 更新注意事项如果是从1.0.2.1或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_nodes add SortID int DEFAULT 2147483647;
update md_nodes set SortID=2147483647;
alter table md_ping_nodes add HostIPVersion varchar(4);
update md_ping_nodes set HostIPVersion='Auto';
```
### 1.0.2.0
1. 增加站点标题可设置;
2. 仪表盘同时显示上行和下行网速;
3. 优化访问速度;
4. 增加Ping节点分组功能节点可以自定义分组
5. 修复已知bugs
6. 更新注意事项如果是从1.0.1.4或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_ping_nodes add PingNodeGroupID int;
update md_ping_nodes set PingNodeGroupID=1 where PingNodeGroupID is null;
alter table `md_ping_nodes` MODIFY COLUMN `ID` int NOT NULL AUTO_INCREMENT FIRST ;
alter table md_nodes add PingNodeGroupID int default 1;
update md_nodes set PingNodeGroupID=1 where PingNodeGroupID is null;
CREATE TABLE md_ping_node_groups (
ID int(11) NOT NULL AUTO_INCREMENT,
Name varchar(100) DEFAULT NULL,
IsDefault bit default 0,
IsDelete bit default 0,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO md_ping_node_groups (`ID`, Name, IsDefault, `IsDelete`) VALUES ('1', '默认分组', b'1', b'0');
alter table bd_node_requests ADD INDEX `ix_bd_node_requests` (`NodeID`,`CreateMinute`,`Ping1`,`Ping2`,`Ping3`,`Ping4`,`Ping5`) USING BTREE;
alter table bd_node_requests ADD INDEX `ix_bd_node_requests_TXRXGap` (`NodeID`,`CreateMinute`,`TXGap`,`RXGap`) USING BTREE;
alter table bd_node_requests ADD INDEX `ix_bd_node_requests_RAMUsage` (`NodeID`,`CreateMinute`,`RAMUsage`,`SwapUsage`) USING BTREE;
alter table bd_node_requests ADD INDEX `ix_bd_node_requests_Load` (`NodeID`,`CreateMinute`,`LoadCPU`,`Load1`,`LoadIO`) USING BTREE;
alter table bd_node_requests ADD INDEX `ix_bd_node_requests_DiskUsage` (`NodeID`,`CreateMinute`,`DiskUsage`) USING BTREE;
```
### 1.0.1.3
1. 网络负载增加网卡id显示
2. 解决已知bug
3. 更新注意事项如果是从1.0.1.2或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_nodes add NIC varchar(50);
```
### 1.0.1.2
1. 降低被控离线误报率,已安装用户需要执行被控重装脚本
2. 解决已知bug
### 1.0.1.0
1. 移除Redis依赖
2. 增加上报超时时间设置项;
3. 修复节点编辑页被底部遮盖问题;
4. 上线/离线通知增加详情&仪表盘快捷链接。
### 1.0.0.5
1. 修复已知bugs
2. 列表显示增加骨架屏,加载过程更美观
### 1.0.0.4
1. 升级主控[asp.net](https://hub.docker.com/r/jaydenlee2019/asp.net) core 3.1到最新版本3.1.22
2. 增加列表显示;
3. 增加登陆后显示进程依赖Redis不会保存到MySql中
4. 修复已知bugs
5. 更新注意事项如果是从1.0.0.3或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_nodes add Keywords varchar(200) default '';
alter table md_nodes add Description varchar(300) default '';
alter table md_nodes modify column PublicIPv4 varchar(50);
```
### 1.0.0.3
1. 修复已知bugs
2. 开放Telegram通知功能
3. 增加自定义获取节点IP请求头设置在设置中可以找到并添加 /Setting/MyHeaders 页辅助设置)
4. 仪表盘自动刷新修改为5秒
### 1.0.0.2
1. 增加基础SEO支持;
2. ~~增加Telegram通知;~~(目前内测中)
3. 修复已知bugs
4. 更新注意事项如果是从1.0.0.1或更早版本升级请在MySql客户端执行以下SQL语句
```
alter table md_nodes modify column DeleteTime datetime;
alter table md_nodes modify column LastUptime datetime;
alter table md_nodes modify column AgentUptime datetime;
alter table md_nodes add NodeStatus varchar(10) default 'Unknown';
update md_nodes set NodeStatus='Online' where AgentUptime is not null and date_add(AgentUptime, interval 80 second) >= Now();
```
### 1.0.0.1
1. 修复上行下行显示错误问题;
2. 修复站点设置缓存导致无法添加节点问题。
## 其他
### 资源消耗
CPU是AMD EPYC 7402P
![](:/471ec63d14714571858d5bc2ee7a4aba)
### 客户端删除
在服务端删除客户端时会弹出客户端卸载脚本,如果没有看清且误点了关闭,请执行以下命令卸载客户端:
```
rm -rf /etc/mynodequery && (crontab -u mynodequery -l | grep -v "/etc/mynodequery/mynq-agent.sh") | crontab -u mynodequery - && userdel mynodequery
```

20
apps/mynodequery/data.yml Normal file
View File

@ -0,0 +1,20 @@
name: MyNodeQuery
tags:
- 工具
title: 一款简洁好用的探针
type: 工具
description: 一款简洁好用的探针
additionalProperties:
key: mynodequery
name: MyNodeQuery
tags:
- Tool
shortDescZh: 一款简洁好用的探针
shortDescEn: A simple and easy-to-use probe
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://hub.docker.com/r/jaydenlee2019/mynodequery
github: https://hub.docker.com/r/jaydenlee2019/mynodequery
document: https://hub.docker.com/r/jaydenlee2019/mynodequery

View File

@ -0,0 +1,2 @@
CONTAINER_NAME="mynodequery"
PANEL_APP_PORT_HTTP="40102"

View File

@ -0,0 +1,11 @@
additionalProperties:
formFields:
- default: 40102
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number

View File

@ -0,0 +1,15 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}

View File

@ -0,0 +1,21 @@
version: '3'
services:
mynodequery:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:5000"
volumes:
- ./data/appsettings.json:/app/appsettings.json
logging:
options:
max-size: 256MB
image: jaydenlee2019/mynodequery:latest
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

BIN
apps/mynodequery/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB