Files
port-manager/README.md
2025-09-23 01:47:48 +08:00

146 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Port Manager
一个用于 NAS 的端口管理工具,可以很方便的检查系统当前已经占用的端口,和识别服务。可以用作服务的快速入口(导航)也可以作为选择困难症的随机端口生成器。
## 主要功能
- 🔍 扫描本地已经占用的端口
- 🎯 识别端口所对应的服务
- 🚀 快速访问服务 (Web界面导航)
- 🎲 随机生成一个非占用的端口
- 📱 现代化的Web界面
- 💻 命令行模式支持
## 安装和使用
### 从源码构建
```bash
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界面模式推荐
```bash
# 默认在8080端口启动Web界面
./bin/port-manager
# 指定端口启动
./bin/port-manager -port 9000
```
然后在浏览器中访问 `http://localhost:8080`
#### 2. 命令行模式
```bash
# 扫描端口并在终端显示
./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+
- 仅使用标准库,无外部依赖
### 运行开发版本
```bash
go run cmd/port-manager/main.go
```
### 运行测试
```bash
go test ./...
```
## 贡献
欢迎提交 Issue 和 Pull Request
## 许可证
MIT License