first commit

This commit is contained in:
MiaoMint
2025-09-23 01:47:48 +08:00
commit 3ce69dbe2d
10 changed files with 1197 additions and 0 deletions

100
Makefile Normal file
View File

@@ -0,0 +1,100 @@
# Port Manager Makefile
.PHONY: build run clean test help scan random install
# 默认目标
all: build
# 构建可执行文件
build:
@echo "🔨 构建 Port Manager..."
@mkdir -p bin
@go build -o bin/port-manager cmd/port-manager/main.go
@echo "✅ 构建完成: bin/port-manager"
# 运行Web服务器默认端口8080
run: build
@echo "🚀 启动 Port Manager Web 界面..."
@./bin/port-manager
# 运行Web服务器在指定端口
run-port: build
@echo "🚀 启动 Port Manager Web 界面 (端口: $(PORT))..."
@./bin/port-manager -port $(PORT)
# 仅扫描端口
scan: build
@./bin/port-manager -scan
# 生成随机端口
random: build
@./bin/port-manager -random
# 生成指定范围的随机端口
random-range: build
@./bin/port-manager -random -min $(MIN) -max $(MAX)
# 清理构建文件
clean:
@echo "🧹 清理构建文件..."
@rm -rf bin/
@go clean
@echo "✅ 清理完成"
# 运行测试
test:
@echo "🧪 运行测试..."
@go test ./...
# 格式化代码
fmt:
@echo "📝 格式化代码..."
@go fmt ./...
# 代码检查
vet:
@echo "🔍 代码检查..."
@go vet ./...
# 更新依赖
mod-tidy:
@echo "📦 更新依赖..."
@go mod tidy
# 安装到系统
install: build
@echo "📥 安装到系统..."
@sudo cp bin/port-manager /usr/local/bin/
@echo "✅ 安装完成: /usr/local/bin/port-manager"
# 显示帮助
help:
@echo "Port Manager - NAS 端口管理工具"
@echo ""
@echo "可用命令:"
@echo " make build - 构建可执行文件"
@echo " make run - 运行Web界面 (默认端口8080)"
@echo " make run-port PORT=9000 - 在指定端口运行Web界面"
@echo " make scan - 扫描端口并显示结果"
@echo " make random - 生成随机可用端口"
@echo " make random-range MIN=3000 MAX=4000 - 生成指定范围随机端口"
@echo " make clean - 清理构建文件"
@echo " make test - 运行测试"
@echo " make fmt - 格式化代码"
@echo " make vet - 代码检查"
@echo " make mod-tidy - 更新依赖"
@echo " make install - 安装到系统"
@echo " make help - 显示此帮助"
@echo ""
@echo "示例:"
@echo " make run # 启动Web界面"
@echo " make run-port PORT=9000 # 在端口9000启动"
@echo " make random-range MIN=3000 MAX=4000 # 生成3000-4000范围内的随机端口"
# 开发环境设置
dev-setup:
@echo "🛠️ 设置开发环境..."
@go mod tidy
@go fmt ./...
@go vet ./...
@echo "✅ 开发环境设置完成"