wanvfx / ProxyNodeHub
git clone https://github.com/wanvfx/ProxyNodeHub.git
20261005 · 15d ago
ProxyNodeHub 用于发现 GitHub 上活跃的免费节点仓库:分析活跃度、去重分散的节点、直接给出可用的订阅链接。点一次「搜索并分析」,剩下的梳理工作全部由它完成。
—
stars, 24h
—
stars, 7 days
+518
stars, 30 days · #538
518
★ total
82
forks · 1 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC#
LicenseMIT
Created2026-09-29 (21d ago)
Last push12d ago
Watchers1
OwnerUser
Links
README excerpt
# ProxyNodeHub ### GitHub 免费节点仓库监控与聚合工具 English | **中文** --- > ⭐ **如果 ProxyNodeHub 对你有用,请务必点一个 Star,这是我持续维护这个项目最大的动力。** --- ## 项目简介 ProxyNodeHub 用于发现 GitHub 上活跃的免费节点仓库:分析活跃度、去重分散的节点、直接给出可用的订阅链接。点一次「搜索并分析」,剩下的梳理工作全部由它完成。 不必再逐个仓库翻找、比对、手动拼接订阅。它会挑出更新最勤、维护最稳的仓库,合并去重后一次导出;也能翻出那些藏在角落、不易察觉的冷门仓库——在免费节点这个领域,冷门往往意味着负载低、活得久,那才是真正好用的宝藏节点。 ## 功能特性 下表主要描述 Windows 客户端。Docker Web 复用发现与分析核心,提供发现、筛选、收藏、导出、任务记录、定时设置及外部 subs-check 控制;不会启动桌面壳或第二个测速内核。 | | | |---|---| | **六层探测引擎** | 特征库学习 → 硬编码映射 → 文件树筛选 → 常见路径探测 → README 解析 → 兜底候选 | | **并发搜索** | 8 个关键词并发请求 GitHub REST API | | **活跃度评分** | 提交频率 + 均匀度 + 自动化 + 隐蔽度,100 分制 | | **节点去重** | 以 `server:port` 为键去重,合并导出订阅 | | **四种处理模式** | 🚀 极速 / ⚖️ 标准 / 🔍 深度 / 🐢 兼容,各自独立并发度 | | **自动代理** | 13 个加速镜像,自动测速、失效回退、5 分钟结果缓存 | | **搜索历史过滤** | 已搜索仓库自动跳过(1–30 天可调) | | **收藏管理** | 独立视图,重启后保留 | | **特征库学习** | 自动记住探测成功过的路径,下次更快 | | **日志持久化** | 日志滚动保存,保留天数可调,一键清理 | ## 运行环境 - **自包含版** — Windows 10 及以上(x64),无需安装任何运行时。 - **框架依赖版** — Windows 10 及以上(x64),并需安装 .NET 8 Desktop Runtime。 ## 快速开始 1. 从 Releases 获取构建包——无任何前置依赖请选 `ProxyNodeHub_v0.0.1_self-contained.zip`。 2. 解压到任意目录,运行 `ProxyNodeHub.exe`。 3. 按 **F5**(或点击「搜索并分析」)开始搜索与分析。 GitHub Token 是可选项。桌面端当前将其明文保存在 EXE 同目录的 `settings.json`,并非 Windows 凭据管理器加密存储;请勿提交或分享该文件。搜索 API 有独立限额,以 GitHub 实际响应为准。 ## Docker Web 部署 ### Web 版本介绍 本 fork 在保留原 Windows 客户端的基础上,提供可在服务器、NAS 或软路由长期运行的 Docker Web 工作台。它是独立的 ASP.NET Core 服务,不是远程桌面:浏览器负责交互,容器负责发现、调度和持久化,关闭网页不影响后台任务。 | 版本 | 适用场景 | 实现与运行方式 | |---|---|---| | Windows 客户端 | 在本机搜索、导出和管理本地测速内核 | `src/`,WinForms / .NET 8 | | Docker Web | 内网多台设备访问同一工作台,后台定时发现和集中保存结果 | `web/`,ASP.NET Core / .NET 10;当前 CI 镜像为 `linux/amd64` | | 共享核心 | GitHub 搜索、仓库评分、订阅探测、解析和学习 | `core/`,两端复用,不另维护一套发现逻辑 | Web 提供六个入口:发现仓库、我的收藏、订阅检测、运行记录、学习记录和服务设置。支持筛选排序、批量收藏/重检、按范围导出、在线配置 GitHub Token 与检测器连接,以及持久化发现计划。下拉框、复选框和确认框采用与暖纸底、墨色文字相配的自设计样式,同时保留语义 HTML 和键盘操作。 subs-check 是**可选的独立检测服务**,不打包在本镜像内。不接入它仍可发现、收藏和导出来源;接入后可在 Web 查看检测状态、速度与媒体结果,调整白名单参数、读取日志和下载检测产物。`/subscriptions.txt` 是交给检测器的来源 URL 清单,**不是测速后的节点订阅**。 Web 与客户端并非全部功能相同:本机内核安装/升级、完整检测 YAML 编辑、按轮历史回灌等没有原样迁入 Web。已覆盖能力与差异见 完整复核,不把跳转外部管理台算作 Web 已实现。 当前镜像支持 `linux/amd64`,内置 .NET 10 运行时;宿主无需安装 .NET,尚未发布 ARM64 镜像。 ### Web 界面预览(mock 数据) 以下截图直接使用本项目当前前端,通过隔离浏览器拦截 API 填入虚构仓库、`example.com` / `example.test` 地址与模拟检测结果;没有连接生产 API,也没有真实 Token、密码、私密订阅或测速数据。图中的本机清单地址仅用于截图,部署时请使用检测器可访问的宿主机地址。 服务设置:发现计划、GitHub Token 与检测器连接 订阅检测:独立 subs-check 的模拟状态与结果 ### 拉取镜像与启动 使用 Docker Hub 镜像,无需在服务器克隆源码或安装 .NET。先确认目标提交的 Actions 发布成功,再拉取镜像: [code] `latest` 指向最近一次成功推送的镜像,不保证等于 GitHub 当前提交;生产升级建议使用 `sha- ` 固定版本。仅需自行构建时,在源码根目录执行 `docker build -t proxynodehub:local .`,并将下方镜像名替换为该本地标签。服务使用根目录 `Dockerfile`,`tests/Dockerfile` 不是服务镜像。 以下以 `192.168.31.122` 和 `/mnt/usb1-1/proxynodehub` 为例;其他主机请替换地址与路径,不使用 `/script` 存放数据。首次准备持久化目录和管理员密码文件(只执行一次,不覆盖已有密码): [code] 完整启动命令(已有同名容器时先停止并保留其数据;不要直接重复创建): [code] Web 地址:`http://192.168.31.122:8388`。管理员可自行在服务器安全查看上述密码文件后登录,不要把密码发到聊天或提交 Git。也支持直接 `-e ADMIN_PASSWORD` 从宿主环境传入至少12位密码;与 `ADMIN_PASSWORD_FILE` 二选一。 `172.17.0.1` 是此服务器的默认 Docker 网桥地址,第二个端口绑定保留已有