← 返回首页

ProxyNodeHub 使用说明

2026-10-22 · 元 / yokon

根据开源仓库 wanvfx/ProxyNodeHub 的 README 整理:在 GitHub 上发现活跃免费节点仓库、评分去重并导出订阅。含 Windows 客户端与 Docker Web 两条路径。

个人笔记,仅供学习,风险自负。 请遵守当地法律与各服务条款;免费节点波动大,勿用于网银等敏感场景。

下载 PDF 版

仓库:wanvfx/ProxyNodeHub

一句话:自动在 GitHub 上找「还在更新」的免费节点仓库,评分、去重,导出可用订阅链接。不用自己一个个翻。

有两个入口:

方式 适合谁 怎么跑
Windows 客户端 本机用、顺手导出 解压运行 ProxyNodeHub.exe
Docker Web 服务器 / NAS 常开、手机也能开网页 拉镜像,浏览器登录

两边共用同一套「搜索 + 分析」核心。Web 不会替你跑桌面里的测速内核;测速要另接可选的 subs-check。


一、Windows 客户端(最快上手)

1. 下载

打开 Releases:

  • 不想装任何运行时:下 ProxyNodeHub_v*_self-contained.zip
  • 机器已有 .NET 8 Desktop Runtime:可用更小的框架依赖版

2. 运行

  1. 解压到任意目录(建议路径不要带中文空格)
  2. 双击 ProxyNodeHub.exe
  3. 按 F5,或点「搜索并分析」

3. 常用快捷键

键 作用
F5 开始 / 取消搜索
Ctrl+C 复制最佳订阅链接
Ctrl+L 详情面板
Ctrl+D 收藏夹
Ctrl+F 筛选框
Esc 关弹窗

4. 处理模式(按耐心选)

  • 极速:并发高、快,漏检稍多
  • 标准:日常推荐
  • 深度:更慢、更全
  • 兼容:网络差、镜像不稳时用

5. GitHub Token(可选但建议)

不填也能搜,但容易撞 API 限额。填了更稳。

  • 在 GitHub → Settings → Developer settings → Personal access tokens 建一个 只读 Token(搜公开仓库够用)
  • 桌面端会明文写在 EXE 同目录的 settings.json:别分享、别提交 Git

6. 本机数据在哪

状态不塞进 EXE,而在 %AppData%\ProxyNodeHub\(搜索历史、日志、特征库等)。已知仓库映射 known_repos.json 随程序分发。


二、Docker Web(服务器常驻)

适合挂在 NAS / VPS,浏览器当工作台:发现、收藏、导出、定时任务、接外部测速。

官方说明镜像:helloworldz1024/proxynodehub(以仓库 README / Actions 为准)。当前发布多为 linux/amd64。

1. 准备目录与管理员密码(只做一次)

把下面路径换成你自己的(示例沿用 README):

mkdir -p /mnt/usb1-1/proxynodehub/data /mnt/usb1-1/proxynodehub/secrets
test -e /mnt/usb1-1/proxynodehub/secrets/admin-password || \
  (umask 077; openssl rand -base64 -out /mnt/usb1-1/proxynodehub/secrets/admin-password 32)
chown -R 1654:1654 /mnt/usb1-1/proxynodehub/data /mnt/usb1-1/proxynodehub/secrets
chmod 750 /mnt/usb1-1/proxynodehub/data /mnt/usb1-1/proxynodehub/secrets
chmod 600 /mnt/usb1-1/proxynodehub/secrets/admin-password

密码只在服务器上看,不要发到聊天里。

2. 启动容器

先拉镜像:

docker pull helloworldz1024/proxynodehub:latest

生产建议用 sha-<完整提交> 钉死版本,不要只信 latest。

docker run -d \
  --name proxynodehub \
  --restart always \
  --read-only \
  --tmpfs /tmp:rw,noexec,nosuid,size=64m \
  --cap-drop ALL \
  --security-opt no-new-privileges \
  --memory 512m --cpus 1 --pids-limit 128 \
  --log-opt max-size=5m --log-opt max-file=2 \
  -p 192.168.31.122:8388:8080 \
  -e ADMIN_PASSWORD_FILE=/run/secrets/admin-password \
  -e GITHUB_TOKEN="${GITHUB_TOKEN:-}" \
  -e REFRESH_HOURS=6 \
  -e REPO_COUNT=10 \
  -e INACTIVE_DAYS=7 \
  -e AUTO_REFRESH=true \
  -v /mnt/usb1-1/proxynodehub/data:/data \
  -v /mnt/usb1-1/proxynodehub/secrets/admin-password:/run/secrets/admin-password:ro \
  helloworldz1024/proxynodehub:latest

把 192.168.31.122 换成你的内网 IP。不要把端口直接暴露到公网;跨不可信网络请再加 HTTPS 反代。

浏览器打开:http://<你的IP>:8388,用密码文件内容登录。

也可 -e ADMIN_PASSWORD=...(至少 12 位),与 ADMIN_PASSWORD_FILE 二选一。

3. Web 六个入口怎么用

  1. 发现仓库:点搜索/分析,看评分与候选;可筛选、多选、导出、批量收藏
  2. 我的收藏:长期跟的仓库
  3. 订阅检测:接上外部 subs-check 后才有速度/媒体结果(可选)
  4. 运行记录:每轮任务日志、清理搜索记忆
  5. 学习记录:特征库学到的路径
  6. 服务设置:Token、定时(1–24 小时)、候选数、检测器连接等

4. 重要接口含义(别搞混)

地址 含义
/live 进程活着(Docker healthcheck)
/health 有约 25 小时内有效结果,否则 503
/subscriptions.txt 来源订阅 URL 清单,不是测速后的节点包

首次成功发现前,/subscriptions.txt 可能 503;失败时尽量保留上一份有效快照。

5. 可选:接 subs-check

在已有检测器配置里追加(别整文件覆盖):

sub-urls-remote:
  - http://172.17.0.1:8388/subscriptions.txt

网桥 IP 按你机器改。清单接口一般不需要 API Key。
要在 Web 里管检测器,再到「服务设置」填 SUBSCHECK_API_URL / Key,或创建容器时用环境变量。


三、日常推荐流程

客户端

  1. F5 跑一轮
  2. 看活跃度高、更新勤的仓库
  3. 复制最佳订阅 / 导出合并结果
  4. 导入 Shadowrocket / Clash 等客户端
  5. 自己测延迟;工具帮你找源,不保证每条节点永远可用

Web

  1. 登录 → 服务设置里填 GitHub Token(建议)
  2. 开自动发现,或手动跑一轮
  3. 收藏靠谱源;需要测速再接 subs-check
  4. 客户端订阅「清单」或导出的 URI/Base64(按你客户端支持的格式)

免费节点波动大:冷门、更新勤的源往往更耐用;榜单热门容易挤爆。


四、配置速查(Web 环境变量)

变量 说明
ADMIN_PASSWORD / ADMIN_PASSWORD_FILE 必填,二选一
GITHUB_TOKEN 可选;也可在页面覆盖
REFRESH_HOURS 首次默认 6;之后以页面 state.json 为准
REPO_COUNT 首次默认分析 10 个候选
INACTIVE_DAYS 首次默认只看近 7 天有更新的
AUTO_REFRESH 是否后台自动发现
SUBSCHECK_* 可选检测器连接

调度类变量只初始化新数据卷;改完页面设置后以 /data/state.json 为准。备份请整卷备份 /data(含密钥环);丢密钥环会解不开在线连接配置。


五、常见问题

搜不到 / 限额?
加 GitHub Token;换「兼容」模式;看日志是否镜像全挂。

Web 登录不上?
确认密码文件挂载、chown 1654:1654、端口映射;改密码后旧会话会失效。

有清单但 Clash 里没节点?
/subscriptions.txt 只是「去哪下载订阅」的列表。真正节点要客户端或 subs-check 再拉那些 URL。YAML 不完整、空模板不会被算作有效节点。

升级 Docker?
记下当前镜像 digest → 停旧容器 → 同参数起新版 → 同一 /data,不要两个容器同时写同一卷 → 查 /live、/health。

和自己买的机场 / VPS 节点什么关系?
这是「从 GitHub 公开仓库挖免费源」的工具,和自建机场、付费订阅是另一条线;可当补充源,别当唯一出口。


六、自己编译(可选)

需要 .NET 8 SDK(桌面)/ Web 侧文档要求 .NET 10:

# Windows 自包含
dotnet publish src/ProxyNodeHub.csproj -c Release -r win-x64 -p:SelfContained=true -o dist/self-contained

# 框架依赖
dotnet publish src/ProxyNodeHub.csproj -c Release -r win-x64 -p:SelfContained=false -o dist/framework-dependent

许可:MIT。作者页面见仓库说明。


说明根据仓库 README 整理;镜像名、端口、路径以你实际部署为准。