jaydenlee2019/mynodequery

By jaydenlee2019

Updated almost 2 years ago

一款简洁好用的探针

Image

7.2K

jaydenlee2019/mynodequery repository overview

安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!

安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!

安装需要一定的技术基础知识,如果没有基础知识建议直接放弃!

重要的话说三遍!

MyNodeQuery

简介

众所周知NodeQuery已彻底关闭无法使用,MyNodeQuery起因是为了代替NodeQuery发展而来,大部分功能参照了NodeQuery,并增加了一些网友们期望的功能。

MyNodeQuery是一款简洁好用的探针,支持Telegram节点离线通知、节点排序、自定义Ping节点,还有网速、流量报表等功能。

演示站点:https://status.idcoffer.com

Telegram 交流群组:https://t.me/cloudshare

使用

依赖
安装

先创建用于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"
}
  1. 在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 语法);
  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 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

客户端删除

在服务端删除客户端时会弹出客户端卸载脚本,如果没有看清且误点了关闭,请执行以下命令卸载客户端:

rm -rf /etc/mynodequery && (crontab -u mynodequery -l | grep -v "/etc/mynodequery/mynq-agent.sh") | crontab -u mynodequery - && userdel mynodequery

Docker Pull Command

docker pull jaydenlee2019/mynodequery