码桶
发现社区成员的开源项目
overview.md3.2 KB
---
title: NodeNanny 是什么
summary: 一句话:帮你看住自己的代理节点,挂了自动救、连不上有备用池顶上。
order: 0
updated: 2026-07-22
tags: [介绍, 新手]
---
## 一句话说明
NodeNanny 是一个跑在你自己 VPS 上的"节点保姆":你自己搭的代理节点(xray/sing-box
这类),它会一直盯着有没有存活,出问题自动重启;如果自建节点这边彻底救不回来,
它还有一个"备用节点池",会从公开渠道和你手动指定的订阅源里找一批可用节点垫上,
让你的客户端订阅链接始终有东西可用,不至于突然全部断线。
## 它解决的核心问题
自己搭代理节点最怕两件事:
1. **服务进程挂了没人知道** —— 半夜进程崩了,睡醒才发现已经断了好几个小时
2. **节点本身没挂,但暂时不可用**(比如被墙、比如机房故障)—— 这种情况光重启进程
没用,需要有个"备胎"顶上
NodeNanny 针对这两件事分别设计了对应机制:进程级的存活监控+自动重启解决第一件,
备用节点池解决第二件。
## 整体架构(知道这些就够用了,不需要看代码)
项目由三个常驻进程组成(用 PM2 管理,这是一个 Node.js 进程守护工具):
- **nodenanny-monitor**:盯着你自建节点的服务进程本身,挂了就重启
- **nodenanny-panel**:网页控制面板,你在浏览器里看到的所有东西都是它提供的
- **nodenanny-pool**:负责维护"备用节点池"——定期从各个来源找节点、逐个测试是否
真的可用,剔除不可用的
三个进程之间通过读写同一批数据文件来协作,不需要额外的数据库。
## 备用池的三层筛选逻辑
备用节点池不是"抓到就用",每个候选节点要依次通过三层检测才会进入可用池:
1. **存活检测(alive)**:这个节点能不能连通
2. **速度检测(speed)**:连通之后跑不跑得动,太慢的会被剔除
3. **真实性检测(authentic)**:前两层可能被"假存活"节点骗过去(比如连的到但其实
没法正常代理),这一层用真实目标网站做一次实际请求验证
只有三层都过了才算"可用",展示在面板上。
## 节点来源的信任分级
节点来源(不管是公开抓取的还是你自己加的订阅链接)不是一视同仁的,采用一个
"试用 → 信任 → 拉黑"的状态机:
- 新来源先进入 **trial(试用)** 状态,权重上限只有 5%,避免一个来路不明的新来源
一上来就占大量份额
- 试用期内如果通过率持续达标,会转为 **trusted(信任)**,权重上限放开
- 如果通过率持续走低,trusted 来源会被降级回 trial,trial 来源会被拉黑
- 拉黑不是终身的,拉黑来源如果后续连续几轮实测通过率恢复达标,会重新解封回 trial
这套机制是全自动的,你不需要手动干预,除非你想手动加一条你自己确认靠谱的订阅源
(下一页会讲怎么加)。
想看具体的机场/VPN服务怎么选,参考"机场与VPN百科"这个分类;这里的"节点来源"
指的是订阅链接本身的技术可靠性,不涉及机场服务商本身的商业口碑评价。