Sign inSign up

jaydenlee2019/mynodequery

By jaydenlee2019

•Updated about 1 year ago

一款简洁好用的探针

Image
80

10K+

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:/etc/mynodequery 即可解决,如:
docker run -d --name=mynodequery -p 5000:5000 -v /etc/mynodequery:/etc/mynodequery jaydenlee2019/mynodequery:latest
⁠Windows 被控安装
  1. 在文件夹 C:\Program Files 下创建 MyNodeQuery 文件夹

  2. 下载 mynq-agent-windows-amd64.exe⁠ 和 stcping.exe⁠ 到文件夹 C:\Program Files\MyNodeQuery 下

  3. 在 文件夹 C:\Program Files\MyNodeQuery 下创建 app.config文件,

{
	"token":"节点Token",
	"siteURL":"网站地址(URL)"
}

3.1 复制节点信息中的“节点Token”,替换上述配置中的节点Token部分, 如图:

3.2 复制设置页面中的“网站地址(URL)”,替换上述配置中的网站地址(URL)部分,如图:
3.3 创建名为“MyNodeQueryAgent”的“计划任务”,设置为系统启动时运行,并勾选“隐藏”、选择“不管用户是否登录都要运行”。

⁠更新

⁠1.0.6.0
  1. 使用go重写agent,解决agent占用资源过高问题;
  2. 增加agent支持Windows系统;
  3. 改进被控端在线检测机制;
  4. 解决Dashboard页面元素显示错位问题;
  5. 改进系统稳定性;
  6. 更新注意事项:本次更新需要更新被控程序,更新被空前在已安装被控的服务器上执行底部的客户端删除脚本⁠。
⁠1.0.5.3
  1. 解决 appsettings.json 保存错误bug;
  2. 被控安装脚本增加一键复制功能。
⁠1.0.5.2
  1. 更新Ping节点自动下发到被控;
  2. 增加CPU实时负载显示;
  3. 增加实时网速(3s平均)曲线图;
  4. 增加处理器关键指令检测(如:AES-NI VM-x/AMD-V AVX);
  5. Dashboard 增加IPv6显示;
  6. 修复部分已知bug;
  7. 设置页和登录页不显示而外代码,解决脚本设置错误导致页面无法恢复问题;
  8. 用户 appsettings.json 移至 /etc/mynodequery 文件夹(兼容当前默认路径:/app/appsettings.json);
  9. 增加TrueNAS系统支持;
  10. 更新注意事项:数据库升级不能跨版本升级,如果是从1.0.5.1或更早版本升级,请在MySql客户端执行以下和更早期版本SQL语句:
ALTER TABLE `md_nodes` ADD COLUMN `CPUFlags` varchar(200) DEFAULT NULL;
ALTER TABLE `bd_node_requests` ADD COLUMN `CPUFreqs` varchar(800) DEFAULT NULL;

本次更新兼容旧版被控,CPU实时负载、实时网速等需要更新被控上报脚本。

⁠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

⁠客户端删除

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

pkill -9 -f "mynq-real-agent" > /dev/null 2>&1 && sleep 5 && rm -rf /etc/mynodequery && (crontab -u mynodequery -l | grep -v "/etc/mynodequery/mynq-agent.sh") | crontab -u mynodequery - && (crontab -u mynodequery -l | grep -v "/etc/mynodequery/mynq-real-agent.sh") | crontab -u mynodequery - && userdel mynodequery

Tag summary

Content type

Image

Digest

sha256:30fac241e…

Size

61.3 MB

Last updated

about 1 year ago

docker pull jaydenlee2019/mynodequery