Skip to content

介绍

Auto-UPnP 是一个智能的端口映射解决方案,专为 NAS 和路由器设备设计。它能够自动监控端口状态变化,并通过 UPnP 协议自动管理端口映射,让端口暴露变得简单智能。

什么是 Auto-UPnP?

Auto-UPnP 是一个用 Go 语言开发的开源工具,主要功能包括:

  • 自动端口监控:监控指定端口范围的状态变化
  • 智能映射管理:自动添加和删除 UPnP 端口映射
  • Web 管理界面:提供现代化的 Web 界面进行管理
  • 多平台支持:支持 Linux、OpenWrt、飞牛 NAS、macOS、Windows 等平台
  • RESTful API:提供完整的 API 接口支持程序化操作
  • 安全认证:支持用户认证、HTTPS、访问控制

核心特性

🎯 自动端口映射

  • 智能端口检测:监控指定端口范围的上下线状态
  • 实时状态更新:毫秒级响应端口状态变化
  • 多协议支持:同时支持 TCP 和 UDP 协议监控
  • 智能重试机制:自动重试失败的端口检测
  • 映射持久化:自动保存手动映射,服务重启后自动恢复
  • 映射清理:定期清理过期和无效的端口映射

📈 端口状态可视化

  • 图形化显示:显示所有监控端口的活跃状态
  • 实时更新:每5秒自动刷新状态信息
  • 状态筛选:支持按协议、状态、映射状态筛选
  • 搜索功能:快速查找特定端口
  • 统计信息:显示活跃端口数量、总映射数等

🌐 Web 管理界面

  • 响应式设计:支持桌面和移动设备访问
  • 实时数据更新:每5秒自动刷新状态信息
  • 可视化监控:图形化显示端口活跃状态和映射情况
  • RESTful API:提供完整的 API 接口支持程序化操作
  • 用户认证:支持用户名密码保护
  • 操作日志:完整的操作日志记录

🔐 安全与认证

  • 基本认证:用户名密码保护管理界面
  • HTTPS支持:可配置 SSL 证书支持安全访问
  • 访问控制:可限制管理界面访问 IP 地址
  • 日志审计:完整的操作日志记录
  • 权限管理:细粒度的权限控制

⚙️ 灵活配置

  • YAML配置:人性化的配置文件格式
  • 热重载:支持运行时配置更新
  • 多环境支持:开发、测试、生产环境配置分离
  • 网络接口选择:支持指定优先和排除的网络接口
  • 日志配置:支持多种日志格式和级别

技术架构

核心组件

1. 端口监控器 (PortMonitor)

  • 自动端口监控:监控指定端口范围的状态变化
  • 手动端口监控:监控手动添加的端口映射
  • 多协议支持:支持 TCP 和 UDP 协议检测
  • 智能重试:自动重试失败的端口检测

2. UPnP管理器 (UPnPManager)

  • 设备发现:自动发现网络中的 UPnP 设备
  • 映射管理:添加、删除、查询端口映射
  • 协议处理:处理 UPnP 协议通信
  • 错误处理:处理 UPnP 协议相关的错误和重试

3. 自动UPnP服务 (AutoUPnPService)

  • 服务协调:协调端口监控和 UPnP 管理
  • 自动映射逻辑:根据端口状态自动管理映射
  • 手动映射管理:管理手动映射的持久化
  • 状态管理:维护服务状态和统计信息

4. Web管理界面 (Admin)

  • HTTP服务器:提供 Web 管理界面
  • RESTful API:实现完整的 API 接口
  • 模板渲染:提供现代化的 Web 界面
  • 认证授权:处理用户认证和权限控制

数据流

端口监控器 → 状态变化事件 → 自动UPnP服务 → UPnP管理器 → 路由器

Web管理界面 ← RESTful API ← 状态查询 ← 服务状态

适用场景

Auto-UPnP 特别适用于以下场景:

🏠 家庭网络

  • NAS 设备:自动暴露 NAS 服务端口
  • 路由器设备:管理路由器上的端口映射
  • 智能家居:管理智能设备的端口映射
  • 游戏服务器:自动管理游戏服务器端口

系统要求

最低要求

  • 操作系统:Linux (x86_64, ARM64), macOS, Windows
  • 内存:64MB RAM
  • 存储:10MB 可用空间
  • 网络:支持 UPnP 的路由器
  • 权限:需要网络访问权限

推荐配置

  • 操作系统:Ubuntu 20.04+, CentOS 8+, OpenWrt 21.02+
  • 内存:128MB RAM
  • 存储:50MB 可用空间
  • 网络:千兆网络环境
  • Go版本:1.21 或更高版本(开发环境)

快速开始

想要立即体验 Auto-UPnP?请查看 安装教程 开始使用。

技术优势

🚀 高性能

  • 轻量级设计:资源占用少,启动快速
  • 并发处理:支持高并发端口监控
  • 内存优化:高效的内存使用
  • 网络优化:优化的网络通信

🔒 安全可靠

  • 协议安全:基于标准的 UPnP 协议
  • 认证机制:多层次的安全认证
  • 日志审计:完整的操作日志
  • 错误处理:健壮的错误处理机制

🛠️ 易于使用

  • 一键安装:提供自动化安装脚本
  • 配置简单:人性化的配置文件
  • 界面友好:现代化的 Web 界面
  • 文档完善:详细的使用文档

🔧 高度可定制

  • 灵活配置:丰富的配置选项
  • 插件扩展:支持功能扩展
  • API 接口:完整的编程接口
  • 多平台:跨平台支持

基于 MIT 许可证发布