🚀 UFW Panel —— 给 Linux 服务器配一块“Firewall显示屏”

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

💻 项目地址

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

为什么你会想要它?

传统 ufw 命令 使用 UFW Panel
手敲 ufw status / allow / deny,容易输错 ️ 一眼查看状态与规则
️ 开关启停只需点按钮
️ 表单式新增 / 删除端口或 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://:30737

输入 AUTH_PASSWORD 登录,畅享 GUI!


📸 截图速览

登录页 主界面
多后端 添加后端
点赞
  1. zhiqing说道:

    @Shrunk #18 更新0.2版本了,支持ufw docker的规则,使用Forward规则添加容器映射的端口就能暴露在公网上了

  2. zhiqing说道:

    @Shrunk #33 我把他的配置改了一下,那个配置默认局域网能访问,在机房还是有些危险,限制默认访问的ip地址为172.16.0.0-172.37.255.255了

  3. zhiqing说道:

    @Bliz333 #40 考虑用nftables重新一遍,到时候还能限定流量什么的

回复 zhiqing 取消回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮