first commit
This commit is contained in:
145
README.md
Normal file
145
README.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user