diff --git a/app-list.png b/app-list.png index e57c8f4f..6e313008 100644 Binary files a/app-list.png and b/app-list.png differ diff --git a/apps/mynodequery/1.0.5.1/.env.sample b/apps/mynodequery/1.0.5.1/.env.sample new file mode 100644 index 00000000..12a65050 --- /dev/null +++ b/apps/mynodequery/1.0.5.1/.env.sample @@ -0,0 +1,2 @@ +CONTAINER_NAME="mynodequery" +PANEL_APP_PORT_HTTP="40102" diff --git a/apps/mynodequery/1.0.5.1/data.yml b/apps/mynodequery/1.0.5.1/data.yml new file mode 100644 index 00000000..a9a46a77 --- /dev/null +++ b/apps/mynodequery/1.0.5.1/data.yml @@ -0,0 +1,11 @@ +additionalProperties: + formFields: + - default: 40102 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + diff --git a/apps/mynodequery/1.0.5.1/data/appsettings.json b/apps/mynodequery/1.0.5.1/data/appsettings.json new file mode 100644 index 00000000..530f7870 --- /dev/null +++ b/apps/mynodequery/1.0.5.1/data/appsettings.json @@ -0,0 +1,15 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "MySql": { + "ConnectionString": "" + }, + "AllowedHosts": "*", + "Installed": "false", + "ReadNodeIpHeaderKey": "X-Real-IP" +} \ No newline at end of file diff --git a/apps/mynodequery/1.0.5.1/docker-compose.yml b/apps/mynodequery/1.0.5.1/docker-compose.yml new file mode 100644 index 00000000..ecd343fe --- /dev/null +++ b/apps/mynodequery/1.0.5.1/docker-compose.yml @@ -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 diff --git a/apps/mynodequery/README.md b/apps/mynodequery/README.md new file mode 100644 index 00000000..6fb6b54a --- /dev/null +++ b/apps/mynodequery/README.md @@ -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 +``` \ No newline at end of file diff --git a/apps/mynodequery/data.yml b/apps/mynodequery/data.yml new file mode 100644 index 00000000..e57d1629 --- /dev/null +++ b/apps/mynodequery/data.yml @@ -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 diff --git a/apps/mynodequery/latest/.env.sample b/apps/mynodequery/latest/.env.sample new file mode 100644 index 00000000..12a65050 --- /dev/null +++ b/apps/mynodequery/latest/.env.sample @@ -0,0 +1,2 @@ +CONTAINER_NAME="mynodequery" +PANEL_APP_PORT_HTTP="40102" diff --git a/apps/mynodequery/latest/data.yml b/apps/mynodequery/latest/data.yml new file mode 100644 index 00000000..a9a46a77 --- /dev/null +++ b/apps/mynodequery/latest/data.yml @@ -0,0 +1,11 @@ +additionalProperties: + formFields: + - default: 40102 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + diff --git a/apps/mynodequery/latest/data/appsettings.json b/apps/mynodequery/latest/data/appsettings.json new file mode 100644 index 00000000..530f7870 --- /dev/null +++ b/apps/mynodequery/latest/data/appsettings.json @@ -0,0 +1,15 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "MySql": { + "ConnectionString": "" + }, + "AllowedHosts": "*", + "Installed": "false", + "ReadNodeIpHeaderKey": "X-Real-IP" +} \ No newline at end of file diff --git a/apps/mynodequery/latest/docker-compose.yml b/apps/mynodequery/latest/docker-compose.yml new file mode 100644 index 00000000..d085a68d --- /dev/null +++ b/apps/mynodequery/latest/docker-compose.yml @@ -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 diff --git a/apps/mynodequery/logo.png b/apps/mynodequery/logo.png new file mode 100644 index 00000000..023fe72d Binary files /dev/null and b/apps/mynodequery/logo.png differ