2025-09-23 01:47:48 +08:00
2025-09-23 01:47:48 +08:00
2025-09-23 01:47:48 +08:00
2025-09-23 01:47:48 +08:00
2025-09-23 01:47:48 +08:00
2025-09-23 01:47:48 +08:00

Port Manager

一个用于 NAS 的端口管理工具,可以很方便的检查系统当前已经占用的端口,和识别服务。可以用作服务的快速入口(导航)也可以作为选择困难症的随机端口生成器。

主要功能

  • 🔍 扫描本地已经占用的端口
  • 🎯 识别端口所对应的服务
  • 🚀 快速访问服务 (Web界面导航)
  • 🎲 随机生成一个非占用的端口
  • 📱 现代化的Web界面
  • 💻 命令行模式支持

安装和使用

从源码构建

git clone https://github.com/miaomint/port-manager.git
cd port-manager
go mod tidy
go build -o bin/port-manager cmd/port-manager/main.go

使用方法

1. Web界面模式推荐

# 默认在8080端口启动Web界面
./bin/port-manager

# 指定端口启动
./bin/port-manager -port 9000

然后在浏览器中访问 http://localhost:8080

2. 命令行模式

# 扫描端口并在终端显示
./bin/port-manager -scan

# 生成随机可用端口
./bin/port-manager -random

# 在指定范围内生成随机端口
./bin/port-manager -random -min 3000 -max 4000

# 查看帮助
./bin/port-manager -help

支持的服务识别

本工具内置了常见服务的端口识别,包括:

Web服务

  • HTTP (80, 8080, 3000, 4000, 5000, 8000)
  • HTTPS (443, 8443, 5001)
  • 开发服务器 (React, Node.js, Flask, Django等)

数据库

  • MySQL (3306)
  • PostgreSQL (5432)
  • MongoDB (27017)
  • Redis (6379)
  • Memcached (11211)

NAS相关

  • Synology DSM (5000, 5001)
  • SMB/CIFS (445)
  • AFP (548)
  • NFS (2049)
  • 常见下载工具 (Sonarr, Radarr, Jackett等)

开发工具

  • Grafana (3001)
  • Prometheus (9090)
  • Elasticsearch (9200)
  • Kibana (5601)
  • Jupyter (8888)

其他

  • SSH (22)
  • FTP (21)
  • DNS (53)
  • 等等...

项目结构

本项目遵循标准的 Go 项目结构:

port-manager/
├── cmd/
│   └── port-manager/       # 主程序入口
│       └── main.go
├── internal/              # 内部包,不对外暴露
│   ├── scanner/           # 端口扫描功能
│   ├── service/           # 服务识别功能
│   └── web/               # Web服务器
├── pkg/                   # 可被外部使用的包
│   └── types/             # 类型定义
├── go.mod
├── go.sum
└── README.md

Web界面特性

  • 📊 实时端口扫描
  • 🎨 现代化响应式设计
  • 🔗 一键访问已识别的Web服务
  • 🎲 随机端口生成器
  • 📱 移动端友好
  • 快速加载

开发

依赖

  • Go 1.21+
  • 仅使用标准库,无外部依赖

运行开发版本

go run cmd/port-manager/main.go

运行测试

go test ./...

贡献

欢迎提交 Issue 和 Pull Request

许可证

MIT License

Description
No description provided
Readme 45 KiB
Languages
Go 91.9%
Makefile 8.1%