一句话简介:Next.js 前端 + Go 后端 + UFW CLI → 图形化管理 UFW,像进路由器后台一样简单。

💻 项目地址

https://github.com/Gouryella/UFW-Panel
🧠 欢迎 Star / 提交 PR 🤝 / 反馈 Issue 🐛
由于个人精力与能力有限,项目仍在持续完善中,部分功能尚不完善,欢迎大家一起协作改进!

为什么你会想要它?

传统 ufw 命令 使用 UFW Panel
手敲 ufw status / allow / deny,容易输错 ️ 一眼查看状态与规则<br/>️ 开关启停只需点按钮<br/>️ 表单式新增 / 删除端口或 IP 规则
多人运维靠口头同步 ️ 登录口令 + JWT,会话可控
手机临时改规则要 SSH ️ 响应式 UI,手机也顺手

🏗️ 功能速览

  • 实时状态 是否启用 UFW、规则统计
  • 一键启停 无需 SSH 直接开关
  • 规则管理
    • 列表展示(含编号)
    • 新增「允许 / 拒绝」端口 / IP(可选端口)
    • 按编号删除
  • 安全 后端密码,前端 JWT
  • 部署无痛 一行部署后端,一行拉起前端
  • MIT 开源 放心二改,欢迎 PR

️ 3 步快速上手

已在 Debian 11/12、Ubuntu 24.04/22.04 实测通过。

1️⃣ 部署后端(Go API)

wget -O deploy_backend.sh \
  https://raw.githubusercontent.com/Gouryella/UFW-Panel/main/deploy_backend.sh
chmod +x deploy_backend.sh
sudo ./deploy_backend.sh

脚本会自动完成:

  1. 检测 amd64 / arm64 → 下载最新 release

  2. 询问 3 个参数(均可回车接受默认值,也可自订)

    • 监听端口 → 默认 8080
    • API 密码 → 前后端共用
    • CORS 允许源 → 填写前端地址
  3. 生成 /usr/local/bin/.env_ufw_backend

  4. 创建并启用 systemd 服务 ufw-panel-backend

常用命令:

sudo systemctl status ufw-panel-backend
sudo journalctl -u ufw-panel-backend -f

2️⃣ 部署前端(Next.js + Docker)

# 准备配置
wget https://raw.githubusercontent.com/Gouryella/UFW-Panel/main/.env.sample -O .env
nano .env            # 修改 JWT_SECRET / AUTH_PASSWORD 等

# 拉起容器
docker compose up -d

Compose 会:

  • 拉取 gouryella/ufw-panel:latest
  • 将宿主 30737 端口映射至容器 3000
  • 创建持久卷 ufw_db_data
  • 容器名 ufw-panel-frontend

3️⃣ 打开浏览器

http://<服务器 IP>:30737

输入 AUTH_PASSWORD 登录,畅享 GUI!


📸 截图速览

登录页 主界面
登陆页 主界面
多后端 添加后端
多后端 9d49539d69e8259d73884b6ba9f46c61.jpeg