码桶

发现社区成员的开源项目

main
NodeNanny/data/wiki/02-nodenanny-guide/manual-source-tutorial.md
manual-source-tutorial.md3.4 KB
---
title: 如何手动添加一个节点源
summary: 照着旺财这个已有的例子,一步步把一个GitHub订阅或Telegram频道加进你的应急流量池
order: 9
updated: 2026-07-31
tags: [教程, 流量池, 配置]
---

## 这篇教程是做什么的

NodeNanny 的应急流量池(pool)默认会自动从公开渠道发现一些备用节点源,但你也可以手动指定自己信任的节点源——比如你自己长期在用的某个 GitHub 订阅仓库,或者某个 Telegram 频道分享的订阅链接。手动添加的节点源默认会被标记为"固定可信",不需要像自动发现的来源那样,从 trial(观察期)一步步跑到 trusted(正式可信)才能用满权重。

## 配置在哪里

打开 `config/config.json`(不是 `config.example.json`,那个只是模板),找到 `manualSources` 这个数组,里面已经有一个例子:

```json
{
  "id": "wangcai",
  "name": "旺财",
  "url": "https://shz.al/~WangCai",
  "fixed": true
}
```

四个字段的意思:
- `id`:这个节点源的唯一标识,自己起一个英文/拼音的短名字就行,不能跟已有的重复
- `name`:显示在面板上的名字,可以用中文
- `url`:订阅链接地址
- `fixed`:设成 `true`,表示这个来源直接享受"固定可信"待遇,不用走信任评估流程。这一项也可以不写(默认就是走正常的信任评估流程,跟自动发现的来源一样对待)——具体选哪种看你自己有多信任这个来源。

## 添加一个新来源,具体步骤

1. 找到你想加的订阅链接(GitHub 上某个仓库的 raw 链接,或者别人分享的订阅地址)
2. 在 `manualSources` 数组里,参考 `wangcai` 这一条的格式,加一条新的,比如:

```json
{
  "id": "my-source-1",
  "name": "我自己的备用订阅",
  "url": "在这里粘贴订阅链接",
  "fixed": true
}
```

记得前一条记录后面要加逗号,JSON 格式对逗号和括号比较敏感,改完建议找个在线 JSON 校验工具粘贴进去看一眼格式对不对,避免因为少个逗号导致整个配置文件读取失败。

3. 保存文件
4. 重启 `nodenanny-pool` 这个 PM2 进程,让新配置生效:

```
pm2 restart nodenanny-pool
```

5. 在面板里查看流量池状态,确认新加的这个来源已经出现,并且能正常抓到节点

## 关于 Telegram 频道来源

如果你想加的是一个 Telegram 频道,目前只有"频道消息文本里直接贴的订阅链接"这种形式能用(`message_text_link`),"频道里发的文件附件"这种形式目前是不可用的(Telegram 的公开预览页面不会给出文件的真实下载地址,只会给一个跳转链接,技术上拿不到)。所以加 Telegram 频道源的时候,先确认一下这个频道分享订阅的方式是直接发链接文本,而不是发文件。

## 关于"是否要设成 fixed: true"

`fixed: true` 意味着这个来源不用经过信任评估、直接享受满权重,适合你已经长期验证过、确实信得过的来源(比如自己维护的仓库)。如果是刚发现的、还不确定质量如何的来源,建议不加 `fixed` 字段,让它跟自动发现的来源一样,走正常的观察期评估流程,这样即使这个来源质量不稳定,也不会一上来就占用很高的权重——具体信任机制是怎么运作的,可以看《节点池信任机制是怎么运作的》这篇。